tomcat(3) Servelet生命周期

1.当Web容器  发现请求指向一个servelet,创建两个对象HttpServletResponse ,HttpServletRequest

2.然后根据请求URL找到正确的servlet (发送一个xxx.do 然后去配置文件(dd)中搜索便找到了相应的servlet.class)

3加载类 servlet.class 

4.实例化servelet(构造函数) ----- 使用编译器默认的构造函数即可,

5.调用init(ServeletConfig)  //每个servelet 有一个ServeletConfig对象,这个对象会去读一些配置信息,我们可以不必把某些经常改变的信息编码到java代码中。

部署文件web.xml中的<init-param>等 

6.然后分配一个线程然后将两个参数通过service()传递

7.Service()  根据发出的http 方法确定doGet()或者doPost() 或者是其他的、。  

8.Destory()  当请求方法结束,回收垃圾



对于每一个web应用来说,都会有一个实例化的ServletContext对象,这个对象作为整个web项目类似全局变量的地位。

而ServeletConfig是作为每一个Servelet对象都拥有一个。


在部署的配置文件(web.xml)中,我们可以通过

<context-param> //我在<web-app></web-app>中,我作为整个web的全局变量 
<param-name>Email2</param-name>
<param-value>[email protected]</param-value>
</context-param>

<servlet>

<servlet-name>Beer</servlet-name>
<!--BEER是一个虚构的名字,只能在DD配置文件中使用-->
<servlet-class>com.example.web.BeerSelect</servlet-class>
<!--类完全限定名 -->
<init-param>
<param-name>Email</param-name>
<param-value>[email protected]</param-value>
</init-param>

</servlet>


对于这里配置的信息,我们在servelet中分别调用来得到

getServletContext().getInitParameter("Email2");

getServletConfig().getInitParameter("Email");




你可能感兴趣的:(tomcat(3) Servelet生命周期)