我们在书本上学习到的一般都是说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就好说多了。
相关推荐
这个工程是个例子,主要运用jsp 和servlet.其中利用到了反射来动态加载servlet.有点像struts框架的样子
本书共分4部分,从xml、servlet、jsp和应用的角度向读者展示了java web开发中各种技术的应用,循序渐进地引导读者快速掌握java web开发。. 本书内容全面,涵盖了从事java web开发所应掌握的所有知识。在知识的讲解...
一个jsp 和一个servlet 教你看懂ajax的动态加载过程
jsp+servlet+jdbc实现简单的购物车实例,购物数据通过session存储 1、加入购物车时,把数据保存在session中 2、点击系统退出时,购物车中的数据插入到数据库购物车表 3、再次登录时,查询数据库购物车表的数据加载到...
本书共分4部分,从xml、servlet、jsp和应用的角度向读者展示了java web开发中各种技术的应用,循序渐进地引导读者快速掌握java web开发。. 本书内容全面,涵盖了从事java web开发所应掌握的所有知识。在知识的讲解...
本书共分4部分,从xml、servlet、jsp和应用的角度向读者展示了java web开发中各种技术的应用,循序渐进地引导读者快速掌握java web开发。. 本书内容全面,涵盖了从事java web开发所应掌握的所有知识。在知识的讲解...
直接进入TestAjax就可以自动找到欢迎页面。
本书共分4部分,从xml、servlet、jsp和应用的角度向读者展示了java web开发中各种技术的应用,循序渐进地引导读者快速掌握java web开发。. 本书内容全面,涵盖了从事java web开发所应掌握的所有知识。在知识的讲解...
servlet有良好的生存期的定义,包括加载和实例化、初始化、处理请求以及服务结束。 这个生存期由javax.servlet.Servlet接口的init,service和destroy方法表达。 2、servlet的生命周期 答: web容器加载servlet,...
servlet+jsp 投票系统 一人只能投一票 使用方法 先把 database里面的sql加载到数据库 然后导入 web项目 在 show.jsp 中运行
Servlet的执行流程也就是servlet的生命周期,当服务器启动的时候生命周期开始,然后通过init()《启动顺序根据web.xml里的startup-on-load来确定加载顺序》 方法初始化servlet,再根据不同请求调用doGet或doPost...
加快JSP页面加载的7个方法 方 法一:在servlet的init()方法中缓存数据
应用jsp+servlet+javabean 开发的图形打印器
做的一个简单的登录界面 有Servlet处理转发到Jsp
一款完整的前台登录(验证)、注册(验证)、通过密保找回密码(验证...这个登录界面上面有注册、找回密码的链接,没有任何错误,验证相当完整,整体在mvc模式的基础上采用servlet和jsp的跳转实现。页面是也很漂亮的。
主要介绍了简单操作实现Java jsp servlet文件上传过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
网上购物系统是一个基于JavaBean、Servlet和JSP的电子商务平台,旨在提供用户在线购物、订单管理、商品展示等功能。以下是该系统的一些关键特点和功能: 系统架构: MVC架构:系统采用MVC(Model-View-Controller...
一开始想法是为了统一管理css\js,写在jsp页面上,但加载时一股脑全加载进来,后来改写成用关键字来引入对应的样式及脚本,但又后来觉得可能引入的便签上有特殊属性,再次扩展,最终演变成这样的书写格式,这样统一...
jsp+servlet实现,采用经典的MVC分层思想,用mySql数据库,用MySql_front打开mobile.sql文件执行即建好了数据库,然后用MyEclipse导入源文件即可,最后记得加载MySQL的驱动,启动tomcat服务器就可用了。 基本功能已...
基于三层架构,主要使用Servlet+JSP+Bootstrap+JQuery+Druid+DBUtils等JavaWeb技术的宿舍管理系统。系统里面分了三个角色,分别为超级管理员、宿舍管理员和学生,每个角色拥有不同的权限和功能; 1.依赖管理使用了...