Servlet的生命周期

Serlvet周期包括三个部分:
1.初始化(实例化和初始化一些信息)
2.服务
3.销毁
一初始化阶段:
       这个阶段主要是当客户端(浏览器)来了一个请求的时候,Servlet容器要为该请求创建和初始化一下资源信息以备使用。初始化调用的是Servlet这个接口中的init();这个方法,那它是我们调用吗?在写程序的时候发现它并不是我们调用,它是由servlet容器调用。在初始化阶段要注意的一个问题是,servlet容器的init方法默认初始化和实例化是在第一次请求的时候做的,如果我们想要在加载的时候就做这些初始化,实例化的工作,我们可以通过在servlet中web.xml这个配置文件中来设置一个属性来实现,这个属性是
<load-on-startup>n</load-on-startup> 
注意的是当中的内容值是代表优先级即是servlet的加载顺序,数字越小代表加载的优先级越高。最后需要知道的是初始化只会做一次,他的状态就会一直存在了。
二服务阶段:
       这个阶段要做的事情是具体的请求业务处理操作,调用的是Servlet这个接口中的service();这个方法。我们知道如果单单是WEB服务器的话只能够发送静态的资源,为了解决这个问题才有了servlet,而servlet的原理就是在WEB服务器中内置一个Servlet容器,当请求来的时候,如果WEB服务器发现的是静态资源,那么就直接给处理了,如果是动态资源就交给servlet来处理,这个时候servlet就在自己的这个小小的
容器里面调用自己的一些方法,来处理请求,产生结果,并且把结果交给WEB服务器,然后用WEB服务器响应(返回)给客户端(浏览器)。然后服务器就断开了与客户端的连接,这就到了最后一个阶段了。
三销毁阶段:
       这个阶段做的事情就好像我们使用的IO流以后的关闭流阶段,做一些清理工作等等。调用的是Servlet这个接口中的destroy();这个方法,处理以后我们的servlet容器就会被丢弃。

你可能感兴趣的:(工作,Web,xml,浏览器,servlet)