Servlet执行流程

Get方式请求HelloServlet ---> <a href="servlet/HelloServlet">

                

  服务器在配置文档中查找相对应的Servlet

<servlet-mapping>
    <servlet-name>HelloServlet</servlet-name>
    <url-parttern>/servlet/HelloServlet</url-pattern>
</servlet-mapping>

         ↓

     找到相对应的处理类

 

<servlet>
    <servlet-name>HelloServlet</servlet-name>
    <servlet-class>servlet.HelloServlet</servlet-class>
</servlet>

 

           ↓

再根据具体请求方式找到对应的处理方法

 

 

Servlet生命周期

1.初始化阶段,调用init()方法

2.响应客户请求阶段,调用service()方法。由service()方法根据提交方式选择执行doGet()或者doPost()方法

3.终止阶段,调用destroy方法

(下图request和response箭头打反了)

在下列时刻Servlet容器装载Servlet:

第一种情况Servlet容器启动时自动装载某些Servlet,实现它只需要在web.xml文件中的<Servlet></Servlet>之间添加如下代码:

<Servlet>
...
<loadon-startup>1</loadon-startup>
</Servlet>

数字越小表示优先级越高。

第二种情况

在Servlet容器启动后,客户首次向Servlet发送请求

第三种情况

Servlet类文件被更新后,重新装载Servlet(Servlet是长期驻留在内存的)

 

 Servlet被装载后,Servlet容器创建一个Servlet实例并且调用Servlet的init()方法进行初始化。在整个Servlet的生命周期内,init()方法只被调用一次。

Posted on 2018-03-08 01:39  ZHONGLINGHUI  阅读(199)  评论(0编辑  收藏  举报