Servlet的执行流程和生命周期
一.Servlet执行流程
我们以Get方式请求Servlet为例
1.接受用户传来的请求,以点击超链接为例<a href="servlet/HelloServlet">
当用户点击了超链接发起了Get请求后,服务器就会在web.xml中寻找与之对应的URL地址。服务器就会在<servlet-mapping>中与超链接地址相对应的Servlet是哪一个。于是,在<url-pattern>标签中找到的对应的地址。同时,服务器知道了对应的Servlet名字就是<servlet-name>中的值。
2.服务器在<servlet>标签中寻找名字与<servlet-mapping>中<servlet-name>名字相同的'servlet-name'处理类。处理类的路径写在<servlet-class>中,从包的名字写到类的名字。
3.于是服务器就找到的需要执行的对应的Servlet处理类。Servlet处理类继承了HttpServlet。
4.服务器分析用户的提交方法(GET/POST),然后执行处理类中对应的重写的doGet()或者doPost()方法。
二.Servlet生命周期
0.判断Servlet实例是否存在,如果存在,就装载对应的Servlet类,并创建实例
1.初始化阶段,调用init(ServletConfig)方法
2.响应客户端请求阶段,调用service()方法。由service()方法根据提交方式选择执行diGet()或者doPost()方法。
3.终止阶段,调用destory()方法。