什么是Servlet
- Servlet(Server Applet),是用Java编写的服务器端程序。主要用于交互式地浏览和修改数据,生成动态Web内容。
- 从实现上讲,Servlet可以响应任何类型的请求,但绝大多数情况下Servlet只用来扩展基于HTTP协议的Web服务器。
Servlet的工作模式
- 客户端发送请求至服务器。
- 服务器启动并调用Servlet,Servlet处理客户端请求并生成响应内容,最终将其返回给服务器。
- 服务器将响应返回客户端。
工作原理
- Servlet容器将Servlet类载入内存,并产生Servlet实例和调用它具体的方法。但是要注意的是,在一个应用程序中,每种Servlet类型只能有一个实例。
- 用户请求致使Servlet容器调用Servlet的Service()方法,并传入一个由Servlet容器(例如TomCat)封装好的ServletRequest对象和ServletResponse对象。
- 对于每一个应用程序,Servlet容器还会创建一个ServletContext对象。这个对象中封装了上下文(应用程序)的环境详情。每个应用程序只有一个ServletContext。每个Servlet对象也都有一个封装Servlet配置的ServletConfig对象。
接口及实现类
public interface Servlet {
void init(ServletConfig var1) throws ServletException;
ServletConfig getServletConfig();
void service(ServletRequest var1, ServletResponse var2) throws ServletException, IOException;
String getServletInfo();
void destroy();
}
public abstract class GenericServlet implements Servlet, ServletConfig, Serializable
public abstract class HttpServlet extends GenericServlet implements Serializable
public interface HttpServletRequest extends ServletRequest
public interface HttpServletResponse extends ServletResponse
监听器
public interface ServletContextListener extends EventListener {
void contextInitialized(ServletContextEvent var1);
void contextDestroyed(ServletContextEvent var1);
}
参考链接:
1、JavaWeb——Servlet(全网最详细教程包括Servlet源码分析)