jsp的工作原理
jsp是一种Servlet,但是与HttpServlet的工作方式不太一样。httpservlet是先由源代码
编译为class文件后部署到服务器下的,先编译后部署。而jsp则是先部署后编译为class
文件,先部署后编译jsp会在客户端第一次请求jsp文件时被编译为Httpjsppage类该类是
Servlet的一个子类。该类会被服务器临时存放在服务器工作目录里面。
以下说明jsp的编译过程。在客户端第一次请求greeting.jsp时,Tomcat先将greeting.jsp
转化为标准的java源代码greeting.jsp.java,存放在C:\apache-tomcat-6.013(相关的版本号)
\work\catalina\locahost\jsp\or\apache\jsp目录下,并将greeting_jsp.java编译为类文件greetimg
_jsp.class.该class文件便是jsp对应的servlet。编译完毕后再运行class文件来响应客户端请求。
以后客户端访问greeting.jsp时服务器将不再重新编译jsp文件而是直接调用greeting_jsp.class
来响应客户端请求。
由于jsp只会在客户端第一次请求的时候被编译,所以第一次请求时会比较慢,而后速度有所提升
。如果将Tomcat保存的jsp编译后class文件删除,Tomcat也会重新编译jsp
jsp的生命周期
jsp也是Servlet,运行时只会有一个实例。跟Servlet一样,jsp实例初始化,销毁时也会调用Servlet
的init()与destory()方法。另外其还有自己的初始化方法与销毁方法_jspInit()与_jspDestroy()
举例如下
<% page language ="java" contentType="text/html;charset=UTF-8"%>
<%public void _jspInit(){
相关初始化代码}
public void _Destroy(){
销毁时运行的代码}
%>

jsp生命周期和工作原理的更多相关文章

  1. Servlet 生命周期、工作原理(转)

    原文链接:Servlet 生命周期.工作原理 Servlet 生命周期:Servlet 加载--->实例化--->服务--->销毁. init():在Servlet的生命周期中,仅执 ...

  2. Servlet的生命周期及工作原理

    Servlet生命周期分为三个阶段: 1,初始化阶段  调用init()方法 2,响应客户请求阶段 调用service()方法 3,终止阶段 调用destroy()方法 Servlet初始化阶段: 在 ...

  3. servlet生命周期与工作原理

    →   Jsp的本质是Servlet,Servlet是服务器端的小程序,运行在服务器,用于处理及响应客户端的请求. Servlet和JSP的区别: servlet是特殊的Java类,必须继承HttpS ...

  4. Servlet生命周期与工作原理(转载)

    Servlet生命周期分为三个阶段: 1,初始化阶段  调用init()方法 2,响应客户请求阶段 调用service()方法 3,终止阶段 调用destroy()方法 Servlet初始化阶段: 在 ...

  5. Session的生命周期和工作原理

    一.什么是Session,如何使用?Session是用于存放用户与web服务器之间的会话,即服务器为客户端开辟的存储空间. 由于客户端与服务器之间的会话是无状态的机制,Session则可用于关联访问, ...

  6. servlet的生命周期和工作原理介绍

    一.servlet生命周期 Servlet生命周期分为三个阶段: 1)初始化阶段: 调用init()方法 2)响应客户请求阶段:调用service()方法 3)终止阶段:调用destroy()方法 T ...

  7. Servlet生命周期及工作原理

    1 Servlet生命周期Servlet 生命周期:Servlet 加载--->实例化--->服务--->销毁. init():在Servlet的生命周期中,仅执行一次init()方 ...

  8. Servlet 生命周期、工作原理

    按照单例的编码规则,Servlet本身只是一个Java,结构并不是单例结构. 只是Web容器在维护这些Servlet的时候只给创建一个实例存在JVM中,用户请求服务时,服务器只调用它已经实例化好的Se ...

  9. servlet的生命周期与工作原理、使用!

    概念: Servlet是一个java程序运行在服务器上,处理客户端请求并做粗响应的程序!Servlet是和平台无关的服务器组件,它运行在Servlet容器中,Servlet容器 负责servlet和客 ...

随机推荐

  1. js遍历对象的属性并且动态添加属性

    var person= { name: 'zhangsan', pass: '123' , 'sni.ni' : 'sss', hello:function (){ for(var i=0;i< ...

  2. D3DXMatrixMultiply 函数

    D3DXMatrixMultiply 函数 两个矩阵相乘. 定义:D3DXMATRIX *WINAPI D3DXMatrixMultiply(           D3DXMATRIX *pOut,  ...

  3. hdu 3966 Aragorn&#39;s Story(树链剖分+树状数组)

    pid=3966" target="_blank" style="">题目链接:hdu 3966 Aragorn's Story 题目大意:给定 ...

  4. HTTP消息头详解

    HTTP是一个属于应用层面的面向对象的协议,由于其便捷.快速的方式.适用于分布式超媒体信息系统.于1990年提出 HTTP 协议主要特点概括如下 1.支持客户/服务器模式. 2.简单快速 请求方法常用 ...

  5. Javascript debugger come accross error

    Problem: “Unable to attach to the process. Another debugger might be attached to the process.” Solut ...

  6. URAL 1203 Scientific Conference dp?贪心

    题目:click here 分明就是贪心怎么会在dp的专题 #include <bits/stdc++.h> using namespace std; typedef unsigned l ...

  7. ibatis缓存配置

    一.sqlmapconfig.xml <sqlMapConfig> <settings useStatementNamespaces="true"  cacheM ...

  8. 个人自建网店(WordPress WooCommerce on SAE)集成支付宝支付

    插件: Alipay For WooCommerce 到支付宝账户的商家服务提出申请: https://b.alipay.com/order/serviceIndex.htm 在"在线签约- ...

  9. 文字适应DIV

    今天突然碰到了一个奇怪的问题  那就是对于纯数字和英文字母  文字多了会超出div  且即使是设置了height:auto overflow-y:auto 也不管用 只是在x轴上出现滚动条   不论用 ...

  10. 蝕刻技術(Etching Technology)

    1. 前言 蚀刻是将材料使用化学反应或物理撞击作用而移除的技术. 蚀刻技术可以分为『湿蚀刻』(wet etching)及『干蚀刻』(dry etching)两类.在湿蚀刻中是使用化学溶液,经由化学反应 ...