全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

servlet生命周期_动力节点Java学院整理

本文为大家分享了servlet生命周期的相关资料,供大家参考,具体内容如下

1.Servlet 生命周期:Servlet 加载--->实例化--->服务--->销毁。
2.init():在Servlet的生命周期中,仅执行一次init()方法。它是在服务器装入Servlet时执行的,负责初始化Servlet对象。可以配置服务器,以在启动服务器或客户机首次访问Servlet时装入Servlet。无论有多少客户机访问Servlet,都不会重复执行init()。
3.service():它是Servlet的核心,负责响应客户的请求。每当一个客户请求一个HttpServlet对象,该对象的Service()方法就要调用,而且传递给这个方法一个“请求”(ServletRequest)对象和一个“响应”(ServletResponse)对象作为参数。在HttpServlet中已存在Service()方法。默认的服务功能是调用与HTTP请求的方法相应的do功能。
4.destroy(): 仅执行一次,在服务器端停止且卸载Servlet时执行该方法。当Servlet对象退出生命周期时,负责释放占用的资源。一个Servlet在运行service()方法时可能会产生其他的线程,因此需要确认在调用destroy()方法时,这些线程已经终止或完成。

Tomcat 与 Servlet 是如何工作的:

步骤:

1.Web Client 向Servlet容器(Tomcat)发出Http请求
2.Servlet容器接收Web Client的请求
3.Servlet容器创建一个Request对象,将Web Client请求的信息封装到这个对象中。
4.Servlet容器创建一个Response对象
5.Servlet容器调用HttpServlet对象的service方法,把Request对象与Response对象作为参数传给Servlet 对象。
6.Servlet调用Request对象的有关方法,获取Http请求信息。
7.HttpServlet调用Response对象的有关方法,生成响应数据。
8.Servlet容器把HttpServlet的响应结果传给Web Client。 

Servlet工作原理:

1、首先简单解释一下Servlet接收和响应客户请求的过程,首先客户发送一个请求,Servlet是调用service()方法对请求进行响应的,通过源代码可见,service()方法中对请求的方式进行了匹配,选择调用doGet,doPost等这些方法,然后再进入对应的方法中调用逻辑层的方法,实现对客户的响应。在Servlet接口和GenericServlet中是没有doGet()、doPost()等等这些方法的,HttpServlet中定义了这些方法,但是都是返回error信息,所以,我们每次定义一个Servlet的时候,都必须实现doGet或doPost等这些方法。
2、每一个自定义的Servlet都必须实现Servlet的接口,Servlet接口中定义了五个方法,其中比较重要的三个方法涉及到Servlet的生命周期,分别是上文提到的init(),service(),destroy()方法。GenericServlet是一个通用的,不特定于任何协议的Servlet,它实现了Servlet接口。而HttpServlet继承于GenericServlet,因此HttpServlet也实现了Servlet接口。所以我们定义Servlet的时候只需要继承HttpServlet即可。
3、Servlet接口和GenericServlet是不特定于任何协议的,而HttpServlet是特定于HTTP协议的类,所以HttpServlet中实现了service()方法,并将请求ServletRequest、ServletResponse 强转为HttpRequest 和 HttpResponse。

创建Servlet对象的时机:

1.Servlet容器启动时:读取web.xml配置文件中的信息,构造指定的Servlet对象,创建ServletConfig对象,同时将ServletConfig对象作为参数来调用Servlet对象的init方法。
2.在Servlet容器启动后:客户首次向Servlet发出请求,Servlet容器会判断内存中是否存在指定的Servlet对象,如果没有则创建它,然后根据客户的请求创建HttpRequest、HttpResponse对象,从而调用Servlet 对象的service方法。
3.Servlet Servlet容器在启动时自动创建Servlet,这是由在web.xml文件中为Servlet设置的<load-on-startup>属性决定的。从中我们也能看到同一个类型的Servlet对象在Servlet容器中以单例的形式存在。

<servlet>
  <servlet-name>Init</servlet-name>
  <servlet-class>org.xl.servlet.InitServlet</servlet-class>
  <load-on-startup>1</load-on-startup>
</servlet>

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。


# servlet  # 生命周期  # Java中Servlet的生命周期  # JavaWEB中Servlet的生命周期详解  # SpringBoot项目找不到javax.servlet.Filter的问题及解决  # JavaWeb Servlet实现文件上传与下载功能实例  # JavaWeb之Servlet注册页面的实现示例  # Java Servlet响应httpServletResponse过程详解  # Java Servlet异步请求开启的简单步骤  # Java中Servlet的生命周期详解  # 首次  # 实现了  # 创建一个  # 启动时  # 都是  # 是一个  # 这是  # 是在  # 都必须  # 也能  # 其他的  # 它是  # 有多少  # 并将  # 如果没有  # 然后再  # 自定义  # 只需要  # 相关资料  # 涉及到 


相关文章: 定制建站价位费用解析与套餐推荐全攻略  太平洋网站制作公司,网络用语太平洋是什么意思?  香港网站服务器数量如何影响SEO优化效果?  如何选择最佳自助建站系统?快速指南解析优劣  香港服务器网站推广:SEO优化与外贸独立站搭建策略  深圳企业网站制作设计,在深圳如何网上全流程注册公司?  ,网站推广常用方法?  官网自助建站系统:SEO优化+多语言支持,快速搭建专业网站  如何基于云服务器快速搭建个人网站?  如何在阿里云购买域名并搭建网站?  ,石家庄四十八中学官网?  如何在Windows 2008云服务器安全搭建网站?  建站之星北京办公室:智能建站系统与小程序生成方案解析  最好的网站制作公司,网购哪个网站口碑最好,推荐几个?谢谢?  高端云建站费用究竟需要多少预算?  公司网站制作价格怎么算,公司办个官网需要多少钱?  如何快速生成专业多端适配建站电话?  建站之星代理如何优化在线客服效率?  如何用PHP工具快速搭建高效网站?  儿童网站界面设计图片,中国少年儿童教育网站-怎么去注册?  弹幕视频网站制作教程下载,弹幕视频网站是什么意思?  PHP 500报错的快速解决方法  清单制作人网站有哪些,近日“兴风作浪的姑奶奶”引起很多人的关注这是什么事情?  如何获取上海专业网站定制建站电话?  Java解压缩zip - 解压缩多个文件或文件夹实例  长沙做网站要多少钱,长沙国安网络怎么样?  整蛊网站制作软件,手机不停的收到各种网站的验证码短信,是手机病毒还是人为恶搞?有这种手机病毒吗?  如何选择香港主机高效搭建外贸独立站?  网站代码制作软件有哪些,如何生成自己网站的代码?  建站主机选虚拟主机还是云服务器更好?  专业网站建设制作报价,网页设计制作要考什么证?  表情包在线制作网站免费,表情包怎么弄?  如何在Windows虚拟主机上快速搭建网站?  如何解决VPS建站LNMP环境配置常见问题?  怎么将XML数据可视化 D3.js加载XML  武汉外贸网站制作公司,现在武汉外贸前景怎么样啊?  C++如何使用std::optional?(处理可选值)  C++如何将C风格字符串(char*)转换为std::string?(代码示例)  详解jQuery中基本的动画方法  怎么用手机制作网站链接,dw怎么把手机适应页面变成网页?  如何基于云服务器快速搭建网站及云盘系统?  建站之星安装失败:服务器环境不兼容?  相册网站制作软件,图片上的网址怎么复制?  如何通过cPanel快速搭建网站?  如何快速查询网址的建站时间与历史轨迹?  网站制作报价单模板图片,小松挖机官方网站报价?  网站制作软件有哪些,制图软件有哪些?  建站VPS选购需注意哪些关键参数?  网站制作网站,深圳做网站哪家比较好?  建站之星如何修改网站生成路径? 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。