`
endual
  • 浏览: 3558811 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

servlet 与 jsp的加载过程

    博客分类:
  • java
 
阅读更多

彻底搞清楚servlet和jsp的加载过程

我们在书本上学习到的一般都是说servlet的生命周期,很少有介绍jsp的生命周期,今天我就结合我的感受,为大家说一下关于jsp的生命周期。


首先,先回顾一下servlet的生命周期的过程。servlet的生命周期分为以下几个步骤,
第一,加载并实例化,
第二,初始化,
第三,服务,
第四,销毁。
容器启动的时候,会加载servlet的class,并new出这个对象,然后,当用户请求这个servlet的时候,容器会调用init方法初始化这个servlet,这也是整个生命周期中只会调用一次的方法,然后,会调用service方法,由这个方法调用doGet或doPost方法来响应用户,然后,容器在可用资源紧张或是长期没有对Servlet发出请求的情况下,会销毁这个servlet。但是有时候,当我们的init方法中的程序需要运行很长时间的时候,为了加快响应,我们可以在web.xml中的servlet中加入load-on-startup选项,这样就会在容器启动的时候调用init方法,而请求的时候就直接进入服务,节省了响应时间。清楚了servlet生命周期,现在说一下jsp的生命周期。也分为几个步骤,第一,jsp转译成servlet,第二,servlet编译为class文件,然后和servlet相同。但是,jsp不同于servlet,servlet也是一个java类,所以当我们创建一个servlet的时候,java编译器可以编译这个java文件并生成class文件。而jsp必须要依赖于容器才能被转译,jsp在容器启动前是不可能被转译的,也就更谈不到后面的步骤了。因此jsp的生命周期应该是在容器启动后,当请求第一次到来,开始第一步,以后依次执行。还有一种情况就是也可以在映射此jsp的时候加上load-on-startup选项,这时,容器在启动的时候就会执行转译,编译的工作,并会调用init方法。总之,一般情况下,我们很少去映射jsp文件,因为现在基于mvc的过程中,大多是映射servlet,而jsp只是用于显示而不是处理请求。以上分析也说明了为什么第一次访问基于java网站的时候会比较慢,因为如果jsp会去执行一大堆动作,而如果直接访问servlet就好说多了。

分享到:
评论

相关推荐

    Servlet与JSP之间的关系

    Servlet的工作流程包括:当客户端发送请求到服务器,如果Servlet尚未加载,服务器会加载Servlet;然后,服务器将请求信息转发给Servlet,并为每个请求创建一个新的执行线程;Servlet处理请求,生成响应并返回给...

    Servlet与JSP核心编程(第2卷 第2版)

    《Servlet与JSP核心编程(第2卷 第2版)》这本书深入讲解了这两项技术,帮助开发者理解并掌握其核心概念、用法以及最佳实践。 1. **Servlet概述** - Servlet是Java平台上的一个接口,它定义了服务器端程序如何响应...

    《Servlet与JSP核心编程(第1卷 第2版)》

    根据提供的文件信息,我们可以推断出这是一本关于Servlet与JSP技术的书籍。下面将对Servlet与JSP的核心概念、技术特点以及应用场景等方面进行详细阐述。 ### Servlet概述 Servlet是一种运行在服务器端的小程序,它...

    servlet与jsp例子

    本项目“servlet与jsp例子”旨在通过实际操作展示这两种技术的结合使用,以及如何利用反射机制实现类似Struts框架的功能。 Servlet是Java编写的小程序,它们运行在服务器端,接收并响应来自客户端(如Web浏览器)的...

    Servlet与JSP的ppt,清华大学

    **Servlet与JSP技术概述** Servlet是Java编程语言中用于扩展服务器功能的接口,由Java Servlet API定义。它使得开发者可以编写代码来处理来自客户端(如浏览器)的请求,并生成响应。Servlet通常用于构建动态Web...

    Servlet与JSP核心编程(第2版).pdf

    ### Servlet与JSP核心编程(第2版) #### 一、概述 《Servlet与JSP核心编程(第2版)》是一本深入介绍Java Web开发技术的书籍,主要聚焦于Servlet和JSP这两种核心技术。本书适合Java Web开发初学者及具有一定基础...

    servlet与JSP学习指南代码

    **Servlet与JSP的关系** Servlet通常用于处理业务逻辑,而JSP则专注于视图的呈现。两者常配合使用,Servlet接收请求,处理数据,然后将结果传递给JSP,由JSP负责渲染输出。这种模式遵循了MVC(Model-View-Controller...

    Servlet与JSP核心编程(第2版第1卷、第2卷带书签)

    这两本书《Servlet与JSP核心编程》的第2版第1卷和第2卷提供了深入理解Servlet和JSP的基础知识。书中的章节可能涵盖了Servlet和JSP的API、实战示例、最佳实践以及如何将它们整合到实际项目中的指导。书签功能方便学习...

    servlet与jsp核心编程*(第二版)卷二 源代码集合

    本书《Servlet与JSP核心编程(第二版)卷二》的源代码集合,为读者提供了丰富的实践素材,有助于深入理解这两种技术的内部工作原理。 Servlet是一种Java API,用于扩展服务器的功能,处理HTTP请求并生成响应。它...

    Servlet与JSP核心编程第1卷&第2卷的源码

    4. **JSP基础**:讲解JSP语法,如何在页面中嵌入Java表达式、脚本元素和指令,以及JSP转换为Servlet的过程。 5. **EL(Expression Language)和JSTL(JavaServer Pages Standard Tag Library)**:讨论如何使用EL...

    Servlet&JSP知识点归纳思维导图

    3. **JSP转换过程**:JSP页面在首次请求时被Web容器转换为Servlet源码,编译成.class文件,然后执行。 4. **JSP内置对象**:包括request、response、session、out、pageContext、config、application、page等,它们...

    Servlet和JSP技术简述(英文翻译)

    3. **MVC模式**:Servlet和JSP常与Model-View-Controller(MVC)设计模式结合使用。Servlet作为控制器接收请求,处理业务逻辑,而JSP作为视图负责渲染结果。 4. **EL表达式**:Expression Language(EL)是JSP中的...

    servlet与jsp核心编程(第二版).rar

    《Servlet与JSP核心编程(第二版)》是由Marty Hall和Larry Brown共同撰写的经典教程,这本书深入浅出地讲解了Java服务器端编程的重要技术——Servlet和JavaServer Pages(JSP)。在Web开发领域,Servlet和JSP是构建...

    美河图书提供.Servlet与JSP核心编程第二版_带目录

    - **EL与JSTL**:表达式语言(Expression Language)和标签库(JSP Standard Tag Library),简化JSP页面的开发过程。 #### 六、安全与性能 - **跨站脚本攻击(XSS)**:防止恶意用户通过注入脚本代码篡改网页内容。 - *...

    Servlet 和 Jsp 学习指南+ 代码

    JSP的执行过程包括翻译、编译、加载和执行四个步骤。JSP页面会被转换成一个Servlet类,然后编译成.class文件,再由容器执行。JSP页面中可以使用脚本元素(scriptlets)、表达式、指令等来实现动态行为。 在"Servlet...

    Servlet与JSP核心编程第二版(源码)

    《Servlet与JSP核心编程第二版》这本书深入浅出地介绍了这两个关键技术。以下是一些关键知识点: 1. **Servlet生命周期**:Servlet的生命周期包括加载、实例化、初始化、服务、销毁五个阶段。开发者可以通过覆盖`...

    Servlet与JSP核心编程(第2版第1卷).pdf

    Servlet和JSP是Java Web开发中的核心技术,..."Servlet与JSP核心编程(第2版第1卷).pdf"这本书很可能是对这些概念的深入讲解,涵盖了从基础到进阶的各种主题,对于想要提升Java Web技能的开发者来说是一份宝贵的资源。

    Servlet和JSP教程.rar

    4. **MVC模式**:JSP通常与Servlet一起使用实现Model-View-Controller架构,Servlet处理业务逻辑,JSP展示视图。 5. **JSP自定义标签**:创建自己的标签库,增强代码可重用性和可读性。 本教程的`.mht`文件可能包含...

    servlet和jsp学习指南

    #### 三、Servlet与JSP的区别与联系 - **区别**: - **用途不同**:Servlet主要用于处理业务逻辑,而JSP则更侧重于视图层的展示。 - **执行方式不同**:Servlet是通过Java类的方式编写,而JSP则是通过HTML与Java...

    servlet和jsp模板

    - 在执行过程中,JSP到Servlet的转换遵循JSP生命周期,包括翻译、编译、加载和初始化。转换后的Servlet负责处理请求和响应,而JSP的动态内容则通过内置对象(如`pageContext`、`request`、`response`等)来实现。 ...

Global site tag (gtag.js) - Google Analytics