servlet生命周期主要分为四个部分:
1、执行servlet构造器方法(第一次访问servlet程序会调用)
public Hello() { System.out.println("1 构造器方法"); }
2、执行init初始化方法(第一次访问servlet程序会调用)
@Override public void init(ServletConfig servletConfig) throws ServletException { System.out.println("2 init初始化"); }
3、执行service方法(每次访问会调用)
@Override public void service(ServletRequest servletRequest, ServletResponse servletResponse) throws ServletException, IOException { System.out.println("3 hello world"); }
4、执行destroy方法(web工程停止的时候调用)
@Override public void destroy() { System.out.println("4 destroy销毁方法"); }
完整代码:
package demo01; import javax.servlet.*; import java.io.IOException; public class Hello implements Servlet { public Hello() { System.out.println("1 构造器方法"); } @Override public void init(ServletConfig servletConfig) throws ServletException { System.out.println("2 init初始化"); } @Override public ServletConfig getServletConfig() { return null; } /** * service方法专门用来处理请求和响应 * @param servletRequest * @param servletResponse * @throws ServletException * @throws IOException */ @Override public void service(ServletRequest servletRequest, ServletResponse servletResponse) throws ServletException, IOException { System.out.println("3 hello world"); } @Override public String getServletInfo() { return null; } @Override public void destroy() { System.out.println("4 destroy销毁方法"); } }
web.xml文件代码:
<?xml version="1.0" encoding="UTF-8"?> <web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd" version="4.0"> <!-- servlet标签给tomcat配置servlet程序 --> <servlet> <!-- servlet-name标签,给servlet程序起一个别名(一般是类名) --> <servlet-name>Hello</servlet-name> <!-- servlet-class是servlet程序的全类名 --> <servlet-class>demo01.Hello</servlet-class> </servlet>> <!-- servlet-mapping标签给servlet程序配置访问地址 --> <servlet-mapping> <!-- servlet-name 告诉服务器当前配置的地址给哪个servlet程序使用 --> <servlet-name>Hello</servlet-name> <!-- url-pattern标签配置访问地址 <br/> / 表示地址为http://ip:port/工程路径 <br/> /hello 表示地址为http://ip:port/工程路径/hello --> <url-pattern>/hello</url-pattern> </servlet-mapping> </web-app>
运行后,在浏览器输入/hello
控制台输出结果:
结束项目后,控制台输出结果: