`
jinvasshole
  • 浏览: 772909 次
文章分类
社区版块
存档分类
最新评论

JavaWeb,Servlet,Jsp生命周期

 
阅读更多

JavaWeb的生命周期是由Servlet容器来控制的总的来说分为三个阶段
1.启动阶段:加载web应用相关数据,创建ServletContext对象,对Filter和servlet进行初始化
a.把web.xml中的数据加载到内存中
b.为JavaWeb应用创建一个ServletContext对象
c.对所有的Filter进行初始化
d.对需要在web应用启动时就被初始化的Servlet进行初始化

2.运行时阶段:为客户提供服务
a.所有的Servlet都处于待命状态,随时响应客户请求,提供服务
b.如客户请求的Servlet还不存在,Servlet容器会先初始化Servlet再调用它的service()方法

3.终止阶段:释放web应用占用的各种资源
a.销毁JavaWeb中所有处于运行状态的Servlet
b.销毁JavaWeb中所有处于运行状态的Filter
c.销毁所有与JavaWeb相关的对象如ServletContext,并释放资源

Servlet的生命周期也是由Servlet容器来控制也分为三个阶段与JavaWeb相同
1.初始化阶段(对应javax.servlet.Servlet接口中的init()方法)
a.Servlet容器加载Servlet类,将其.class文件中的数据读入内存
b.Servlet容器创建ServletConfig对象,ServletConfig对象包含特定的Servlet的初始化配置信息。同时Servlet容器还会使得ServletConfig对象与当前Web应用的ServletContext对象关联
c.Servlet容器创建Servlet对象
d.Servlet容器调用Servlet对象的init(ServletConfig config)方法完成初始化。Servlet对象只要通过getServletContext()方法就能得到当前Web应用中的ServletContext对象

2.运行阶段(对应Service()方法)
a.当Servlet容器接收到要求访问特定的Servlet和客户请求时Servlet容器会创建针对这个请求的ServletRequest对象和ServletResponse对象,然后调用对应Servlet的service()方法从ServletRequest对象中得到客户请求信息并处理该请求。再通过ServletResponse对象生成响应结果。
b.当Servlet容器把Servlet生成的响应结果发送给客户,Servlet容器就会销毁ServletRequest对象和ServletResponse对象

3.销毁阶段(对应destroy()方法)
a.当Web应用被终止时,Servlet容器会调用当前Web应用中所有Servlet对象的destroy()方法,然后再销毁这些Servlet对象。
b.在destroy()方法中会释放Servlet所占用的资源(关闭输入输出流,数据库连接等)
c.Servlet容器销毁与Servlet对象关联的ServletConfig对象

注意:Servlet的初始化和销毁只会发生一次,初始化发生特定Servlet在首次被客户端访问。销毁发生在web应用被终止

JSP的生命周期:JSP的生命周期与Servlet一个区别在于,Servlet容器必须先将Jsp编译成Servlet类然后再运行它.JSP生命周期如下:
a.解析阶段:Servlet容器解析JSP文件的代码查看是否有语法错误
b.翻译阶段:Servlet容器把JSP文件翻译成Servlet源文件(.java)
c.编译阶段:Servlet容器翻译Servlet源文件生成Servlet类(.class)
d.初始化阶段:加载与JSP对应的Servlet尖,创建其实例,并调用它的初始化方法
e.运行时阶段:调用与JSP对应的Servlet实例的服务方法
f.销毁阶段:调用与JSP对应的Servlet实例的销毁方法,然后销毁Servlet实例

注意:在JSP的生命周期中,解析,翻译,编译是JSP特有的阶段,仅发生在JSP文件首次被客户端请求访问,JSP文件被更新,与JSP文件相对应的Servlet类的类文件被手工删除


分享到:
评论

相关推荐

    JavaWeb 面试

    5、说一说Servlet的生命周期? 6、Servlet版本间(忘了问的是哪两个版本了)的不同? 7、JAVA SERVLET API中forward() 与redirect()的区别? 8、Servlet的基本架构 。。。。。。。。。。。。。。。。。。。。。。

    JAVA WEB 开发详解:XML+XSLT+SERVLET+JSP 深入剖析与实例应用.part4

    6.4 servlet生命周期 224 6.5 servlet上下文 226 6.5.1 servletcontext接口 226 6.5.2 页面访问量统计实例 228 6.6 请求转发 231 6.6.1 requestdispatcher接口 232 6.6.2 得到requestdispatcher对象 232 ...

    JavaWeb重点叙述

    JavaWeb重点叙述里包括 jsp部分 servlet的生命周期 简述forward和redirect的区别 理解jsp的运行原理 jsp include指令和include动作的区别 创建servlet的步骤 了解Tomcat jsp的九个内置对象和四大作用域等

    基于JavaWeb的物业管理系统

    在手写项目的过程中会摘取整体框架中的核心逻辑,简化代码实现过程,保留核心功能,例如:IOC、AOP、Bean生命周期、上下文、作用域、资源处理等内容实现。 适合人群:零编程基础,应届毕业生 能学到什么:①工厂模式...

    V512工作室Java web的ppt

    第3章 讲解Servlet编程的基本步骤、Servlet的生命周期、以及如何使用Eclipse和MyEclipse进行Servlet的开发。 第4章 讲解Servlet如何接收和处理客户通过浏览器发送的请求。 第5章 讲解了JDBC的使用和如何在Tomcat...

    小区物业管理系统web项目,带Mysql数据库sql文件,带配置说明书,采用mvc设计模式,使用html,js,jsp等

    1、 Servlet容器:Servlet容器为JavaWeb应用提供运行时环境,它负责管理Servlet和JSP(JSP本质上是一个Servlet)的生命周期,以及管理它们的共享数据。 2、 Tomcat服务器:Tomcat 是一个免费的开放源代码的Servlet容器...

    Servlet编程实验

    按课程讲解创建servlet,并在servlet生命周期各函数内执行能想象的操作,可以向系统控制台输出相关内容,使用前面form表单的例子,把在jsp的实现改在servlet中再尝试实现。 创建欢迎页面,并设置欢迎页面 设置全局和...

    吴天雄--JavaWeb完整笔记.doc

    模块三:servlet (使用步骤、生命周期方法、体系结构、HTTP特点(1.1和1.0)、请求/响应消息数据格式);模块四:MVC设计模式(三层架构、javaBean);模块五:EL表达式(运算、获取值、隐式对象);模块六:JSTL...

    Java Web编程宝典-十年典藏版.pdf.part2(共2个)

    3.7.1 application的生命周期 3.7.2 application中数据的操作 3.7.3 Web应用初始化参数的配置 3.7.4 application对象应用示例 3.8 其他内置对象的应用 3.8.1 应答与请求的page对象 3.8.2 页面上下文的page Context...

    apache-tomcat-11.0.0-M3-windows-x64

    omcat是一个轻量级应用服务器,是支持运行Servlet/JSP应用程序的容器,运行在jvm上,绑定IP地址并监听...1)管理servlet应用的生命周期 (2)把客户端请求的url映射到对应的servlet (3)与Servlet程序合作处理HTTP请求

    JavaWeb实验完成作品.zip

    1、实现Servlet的基本特性、生命周期和编程方式; 2、实现JSP的基本特性和编程方式; 3、实现JavaBean的基本特性和编程方式;; 4、实现MVC和DAO设计模式的编程特性; 5、使用MVC和DAO设计模式设计图书借阅网站中...

    基于javaWeb实现留言管理系统附项目源码+文档说明

    Spring框架是一个开放源代码的J2EE应用程序框架,由Rod Johnson发起,是针对bean的生命周期进行管理的轻量级容器(lightweight container)。 Spring解决了开发者在J2EE开发中遇到的许多常见的问题,提供了功能强大...

    基于javaweb 实现超市管理系统附数据库文件+文档说明

    Spring框架是一个开放源代码的J2EE应用程序框架,由Rod Johnson发起,是针对bean的生命周期进行管理的轻量级容器(lightweight container)。 Spring解决了开发者在J2EE开发中遇到的许多常见的问题,提供了功能强大...

    基于javaWeb实现毕业生离校管理系统附数据库文件+文档说明

    Spring框架是一个开放源代码的J2EE应用程序框架,由Rod Johnson发起,是针对bean的生命周期进行管理的轻量级容器(lightweight container)。 Spring解决了开发者在J2EE开发中遇到的许多常见的问题,提供了功能强大...

    李兴华 Java Web 开发实战经典_带源码_高清pdf 带书签 下

    9.4、Servlet生命周期 9.5、取得初始化配置信息 9.6、取得其他内置对象 9.6.1、取得HttpSession实例 9.6.2、取得ServletContext实例 9.7、Servlet跳转 9.7.1、客户端跳转 9.7.2、服务器端跳转 9.8、WEB开发...

    李兴华 java_web开发实战经典 源码 完整版收集共享

    9.4、Servlet生命周期 9.5、取得初始化配置信息 9.6、取得其他内置对象 9.6.1、取得HttpSession实例 9.6.2、取得ServletContext实例 9.7、Servlet跳转 9.7.1、客户端跳转 9.7.2、服务器端跳转 9.8、WEB开发...

Global site tag (gtag.js) - Google Analytics