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>

2.创建构造函数——通过构造函数创建servlet对象
在第一次访问servlet对应的URL时,执行FirstServlet构造函数,对servlet对象进行创建。

 public FirstServlet() {System.out.println("正在创建servlet对象");}

3.调用init方法——通过init方法初始化servlet

 @Overridepublic void init(ServletConfig config) throws ServletException {System.out.println("正在初始化servlet对象");}

4.访问URL需要servlet提供服务,执行servlet方法——通过service或者doGet、doPost提供服务

 @Overrideprotected 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进行销毁

 @Overridepublic 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方法

简单完整讲述Servlet生命周期相关推荐

  1. 对Servlet生命周期的简单理解

    一.生命周期: 1.顾名思义,对servlet来说,它的生命周期指的就是从创建直到毁灭的整个过程. 其流程可简化为: Servlet 初始化后调用 init () 方法.(该方法只在最开始只调用一次) ...

  2. Servlet第一篇【介绍Servlet、HTTP协议、WEB目录结构、编写入门Servlet程序、Servlet生命周期】...

    tags: Servlet 什么是Serlvet?# Servlet其实就是一个遵循Servlet开发的java类.Serlvet是由服务器调用的,运行在服务器端. 为什么要用到Serlvet? 我们 ...

  3. Servlet第一篇【介绍Servlet、HTTP协议、WEB目录结构、编写入门Servlet程序、Servlet生命周期】

    什么是Servlet? Servlet其实就是一个遵循Servlet开发的java类.Servlet是由服务器调用的,运行在服务器端. 为什么要用到Servlet? 我们编写java程序想要在网上实现 ...

  4. Web容器和Servlet生命周期

    为何需要Web容器 Web服务器本身主要用于支持http协议,包括监听和相应http请求.web服务器一般处理静态的请求,如文件系统中的静态文件.web容器则是为web相关的组件提供运行环境,可以从' ...

  5. 【JavaLearn】#(23)JSP相关语法、HTTP协议、Servlet介绍、Servlet生命周期、请求和响应、相对路径、转发和重定向

    1. JSP简单内容 1.1 JavaEE JavaEE 包含JSP JavaEE是一个开发分布式企业级应用的规范和标准.JavaEE包含之前学过的所有内容(JavaSE) 真正开发中,很少使用Jav ...

  6. Servlet生命周期与工作原理

    Servlet生命周期分为三个阶段: 1,初始化阶段  调用init()方法 2,响应客户请求阶段 调用service()方法 3,终止阶段 调用destroy()方法 Servlet初始化阶段: 在 ...

  7. Servlet 生命周期介绍

    在面试的时候. 有时会被问到这个问题: 请描述一下Servlet的生命周期. 其实面试官就是想问你1个Servlet何时被创建, 何时被调用等.... 本文就是详细解答这个问题的. 总体流程图 上面的 ...

  8. Servlet生命周期(图解)

    1.Servlet生命周期其实很简单:只有一个主要状态--初始化.如果Servlet没有初始化,则要要么正在初始化(运行构造函数及init()方法).正在撤消(运行其destory()方法),要么就是 ...

  9. servlet生命周期(很有用)

    Servlet简介及其生命周期详解简介Servlet生命周期,即阐述Servlet从产生到毁灭的整个过程. 在Servlet产生到消亡的过程中,有三个生命周期函数,初始化方法init(),处理客户请求 ...

最新文章

  1. hdu4884 模拟
  2. X-UA-Compatible 1
  3. python后端将svc文件数据读入数据库具体实现
  4. Docker Machine搭建并加入节点
  5. shell之文本过滤(grep)
  6. 转:用人单位给计算机系学生的一封信
  7. 裁剪平面ClipPlane
  8. python大型项目开发规范_大型项目CMakeLIsts.txt的编写规范
  9. java 双重检查锁定_Java双重检查锁定
  10. java notifyall 唤醒顺序_Java的多线程NotiFyAll()唤醒线程时的顺序问题 | 学步园
  11. Codeforces Round #161 (Div. 2) B. Squares
  12. BZOJ4530:[BJOI2014]大融合
  13. ap 目标检测算法map_目标检测算法介绍
  14. 微信授权+JS-SDK
  15. 卫星通信知识点梳理(一)
  16. 哈密顿图、哈密顿回路
  17. SegNet论文理解
  18. 小米8成功刷入Win11ARM64完整版系统
  19. 安装Django 文档
  20. Win10 解决CSDN、阿里云国内站、小米商城国内站等国内网站打不开的问题(超详细教程)

热门文章

  1. web界面左边菜单设计_微信小程序UI设计规范
  2. matlab画傅立叶变换后相位谱,对一幅图像进行傅里叶变换后,包含频谱(也叫幅度谱)和相位谱两部分,请问那一部分更重要?...
  3. bootstrap 导航栏自适应
  4. 前端打包工具UglifyJS使用入门
  5. 源码分享:爬虫获取酷狗的付费音乐 1
  6. woe分析_【SAS宏】使用WOE和IV实现风险因素筛选
  7. 开源法律蓝调:您遵守吗?
  8. 如何用3dmax建成人的模型
  9. 重典千枫网页刷新教程(一)
  10. 小红书怎么运营好?分享小红书的一些经验让你少走弯路