大家好,欢迎来到IT知识分享网。
Servlet生命周期过程
详解:
1.加载web.xml文件——当前只去解析xml文件,知道servlet的存在,此时还没有去创建servlet。
<!-- 声明servlet -->
<servlet>
<!-- servlet的别名 -->
<servlet-name>first</servlet-name>
<servlet-class>com.etime.servlet.FirstServlet</servlet-class>
</servlet>
<!-- 将servlet与URL绑定 -->
<!-- servlet映射部分 -->
<servlet-mapping>
<servlet-name>first</servlet-name>
<url-pattern>/hello</url-pattern>
</servlet-mapping>
IT知识分享网
2.创建构造函数——通过构造函数创建servlet对象
在第一次访问servlet对应的URL时,执行FirstServlet构造函数,对servlet对象进行创建。
IT知识分享网 public FirstServlet() {
System.out.println("正在创建servlet对象");
}
3.调用init方法——通过init方法初始化servlet
@Override
public void init(ServletConfig config) throws ServletException {
System.out.println("正在初始化servlet对象");
}
4.访问URL需要servlet提供服务,执行servlet方法——通过service或者doGet、doPost提供服务
IT知识分享网 @Override
protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
//请求发来的参数
String name = request.getParameter("name");
//从前台发来的参数放在这个字符串里
String html = "<h1 style = 'color:orange'>hello!"+name+"!</h1><hr>";
System.out.println("返回浏览器的响应数据为:"+html);//这一步是为了更明了的显示运行步骤
//服务器向浏览器返回的输出流
PrintWriter out = response.getWriter();
//通过out对象将html发送回浏览器
out.println(html);
5.销毁方法——在重启或关闭时自动对servlet进行销毁
@Override
public void destroy() {
System.out.println("正在销毁servlet对象");
}
总结:
完整的servlet生命周期流程:
1.加载web.xml文件。
2.通过构造函数创建servlet对象。
3.通过init方法初始化servlet。
4.通过service,或者doGet、doPost提供服务。
5.在重启或关闭时自动对servlet进行销毁。
注意:通过这个例子我们可以知道tomcat全局中有且只有一个servlet对象,当一个servlet被访问时,之后的所有请求都被这一个servlet进行处理。
如图所示:
步骤2、3、4效果图
当再次访问浏览器时,步骤2、3就不再执行了,直接执行第四步service方法。
service提供的效果如下:
修改代码后tomcat会自动的重启,对修改后的servlet进行重新加载,所以在重启的时候会自动进行destroy方法
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/7006.html