简单完整讲述Servlet生命周期
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生命周期相关推荐
- 对Servlet生命周期的简单理解
一.生命周期: 1.顾名思义,对servlet来说,它的生命周期指的就是从创建直到毁灭的整个过程. 其流程可简化为: Servlet 初始化后调用 init () 方法.(该方法只在最开始只调用一次) ...
- Servlet第一篇【介绍Servlet、HTTP协议、WEB目录结构、编写入门Servlet程序、Servlet生命周期】...
tags: Servlet 什么是Serlvet?# Servlet其实就是一个遵循Servlet开发的java类.Serlvet是由服务器调用的,运行在服务器端. 为什么要用到Serlvet? 我们 ...
- Servlet第一篇【介绍Servlet、HTTP协议、WEB目录结构、编写入门Servlet程序、Servlet生命周期】
什么是Servlet? Servlet其实就是一个遵循Servlet开发的java类.Servlet是由服务器调用的,运行在服务器端. 为什么要用到Servlet? 我们编写java程序想要在网上实现 ...
- Web容器和Servlet生命周期
为何需要Web容器 Web服务器本身主要用于支持http协议,包括监听和相应http请求.web服务器一般处理静态的请求,如文件系统中的静态文件.web容器则是为web相关的组件提供运行环境,可以从' ...
- 【JavaLearn】#(23)JSP相关语法、HTTP协议、Servlet介绍、Servlet生命周期、请求和响应、相对路径、转发和重定向
1. JSP简单内容 1.1 JavaEE JavaEE 包含JSP JavaEE是一个开发分布式企业级应用的规范和标准.JavaEE包含之前学过的所有内容(JavaSE) 真正开发中,很少使用Jav ...
- Servlet生命周期与工作原理
Servlet生命周期分为三个阶段: 1,初始化阶段 调用init()方法 2,响应客户请求阶段 调用service()方法 3,终止阶段 调用destroy()方法 Servlet初始化阶段: 在 ...
- Servlet 生命周期介绍
在面试的时候. 有时会被问到这个问题: 请描述一下Servlet的生命周期. 其实面试官就是想问你1个Servlet何时被创建, 何时被调用等.... 本文就是详细解答这个问题的. 总体流程图 上面的 ...
- Servlet生命周期(图解)
1.Servlet生命周期其实很简单:只有一个主要状态--初始化.如果Servlet没有初始化,则要要么正在初始化(运行构造函数及init()方法).正在撤消(运行其destory()方法),要么就是 ...
- servlet生命周期(很有用)
Servlet简介及其生命周期详解简介Servlet生命周期,即阐述Servlet从产生到毁灭的整个过程. 在Servlet产生到消亡的过程中,有三个生命周期函数,初始化方法init(),处理客户请求 ...
最新文章
- hdu4884 模拟
- X-UA-Compatible 1
- python后端将svc文件数据读入数据库具体实现
- Docker Machine搭建并加入节点
- shell之文本过滤(grep)
- 转:用人单位给计算机系学生的一封信
- 裁剪平面ClipPlane
- python大型项目开发规范_大型项目CMakeLIsts.txt的编写规范
- java 双重检查锁定_Java双重检查锁定
- java notifyall 唤醒顺序_Java的多线程NotiFyAll()唤醒线程时的顺序问题 | 学步园
- Codeforces Round #161 (Div. 2) B. Squares
- BZOJ4530:[BJOI2014]大融合
- ap 目标检测算法map_目标检测算法介绍
- 微信授权+JS-SDK
- 卫星通信知识点梳理(一)
- 哈密顿图、哈密顿回路
- SegNet论文理解
- 小米8成功刷入Win11ARM64完整版系统
- 安装Django 文档
- Win10 解决CSDN、阿里云国内站、小米商城国内站等国内网站打不开的问题(超详细教程)