A servlet is a server-side Java component that contains the business logic of an application. Just as an applet is a Java plug-in for a Web browser, a servlet is a Java plug-in for a Web server. Sun has defined a standard Java interface for servlets. Web servers can be extended to host servlets through a servlet engine, which is a high performance plug-in that runs a Java virtual machine (JVM). The servlet engine manages servlets, maintains HTTP session state using cookies and local data stored on the server, and can store user profiles.