zoukankan      html  css  js  c++  java
  • jsp生命周期和工作原理

    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(相关的版本号)
    workcatalinalocahostjsporapachejsp目录下,并将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(){
    销毁时运行的代码}
    %> 

  • 相关阅读:
    解决:Failed to update database: "APP_DATA\ASPNETDB.MDF" is readonly .
    MySQL DATE_ADD() 函数
    用struts上传图片,中文命名的图片无法显示
    hrbustoj 1291 点在凸多边形内
    按标签来查技术文章
    ClassLoader in Java
    [Python]标准库inspect
    IMEI修改(IMEI第十五位验证码的计算)
    游戏之巅:游戏背后的创业风云
    常用的网站后台编辑器
  • 原文地址:https://www.cnblogs.com/tianhao/p/4191468.html
Copyright © 2011-2022 走看看