多语言展示
当前在线:425今日阅读:61今日分享:18

javaweb中Servlet的生命周期

下面是Servlet的生命周期的简单例子,感兴趣的可以看一下炳同学的图文记录。
方法/步骤
1

首先创建一个web工程,然后创建一个类LifeServlet实现Servlet接口,这是编写一个Servlet程序的方法之一。但是一般都是建议继承HttpServlet类,而不是实现Servlet接口,只不过这个测试Servlet的生命周期这么创建。

2

这样你创建的LifeServlet它会自动实现Servlet接口的五个方法。这五个方法的顺序没有关系。

3

在init(ServletConfig arg0)  service(ServletRequest arg0, ServletResponse arg1)  destroy()三个方法中输出一些内容,因为生命周期主要是这三个方法体现。

4

编写web.xml,具体如下图所示,主要是添加LifeServlet的

5

启动tomcat的服务器,启动之后查看控制台没有输出内容。说明本次启动服务没有创建Servlet实例。

6

在浏览器中输入访问路径回车,此时再查看控制台,输出了一些内容。证明调用init和service方法。

7

再次访问,此时再查看控制台发现第二次只调用了service方法。重复访问,你会发现每一次访问都会调用service方法进行服务,但只有在第一次访问的时候才会调用init方法。

8

这时候我们来关掉tomcat的服务,然后观察控制台,可以看到在关掉服务时候会调用destroy()进行销毁。另外移除服务也是会调用destry()方法。

9

在web.xml下的对应的标签下添加3再启动tomcat的服务。此时会发现在启动服务的时候就会创建Servlet的实例,并调用init方法进行初始化,但是没有调用service.这个叫做自动加载,3值是正整数,数值越低,优先级越高。

10

所以Servlet的生命周期就是:在启动服务或者第一次访问的时候创建Servlet的实例(这取决于有没有配置自动加载:2),并调用init的方法进行初始化;然后每一次访问都会调用service方法进行服务;在服务器关闭或者移除的时候会调用destroy方法进行销毁。整个Servlet生命周期init和destroy只会被调用一次,service方法可调用多次。

推荐信息