1. 简介
Servlet是运行在Web服务器的Java应用程序。
- Servlet主要封装了对HTTP请求的处理
- Servlet承担客户请求与业务处理的中间角色
- 特殊的Java类
2. 生命周期
- init(): 负责初始化Servlet对象,仅执行一次init()方法。无论有多少客户机访问Servlet,都不会重复执行init().
- service(): 负责响应客户的请求。每当一个客户请求一个HttpServlet对象,该对象的service()方法就要被调用。
- destroy(): 在服务器停止且卸载Servlet时执行该方法。当Servlet对象退出生命周期时,负责释放占用的资源。
3. 实例
// MyServlet.java
public class MyServlet extends HttpServlet {
@Override
public void init() throws ServletException {
super.init();
System.out.println("===========init without parameter============");
}
@Override
public void init(ServletConfig config) throws ServletException {
super.init(config);
System.out.println("===========init with parameter============");
}
@Override
protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
super.service(req, resp);
System.out.println("===========service============");
}
@Override
public void destroy() {
super.destroy();
System.out.println("===========destroy============");
}
}
//配置
//web.xml
<servlet>
<servlet-name>MyServlet</servlet-name>
<servlet-class>com.study.servlet.MyServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>MyServlet</servlet-name>
<url-pattern>/MyServlet</url-pattern>
</servlet-mapping>
tomcat运行后,访问MyServlet,得到结果: