zoukankan      html  css  js  c++  java
  • jsp jsp运行原理

    JSP的运行原理

     每个jsp页面在第一次被访问时,WEB容器都会把请求交给jsp引擎(一个java程序).Jsp 引擎先将jsp翻译成一个_jspServlet实质上也是一个servlet,然后按照servlet的迪调用方式进行调用。 
    

    JSP生命周期

        一个JSP生命周期可以被定位从它的创作,直到它类似与一个Servlet的生命周期,这是需要编译JSP转换成Servlet一个额外的步骤销毁的整个过程。
    
        一个JSP的执行路径 编译->初始化->执行->清除
    

    JSP编译

        当浏览器请求一个JSP,JSP引擎首先检查它是否需要编译页面。如页面从来没有被编译或者JSP已经被修改。
        编辑的三个主要步骤:解析JSP,打开JSP成servlet,编译这个servlet
    

    JSP初始化

        当一个容器加载一个JSP他的任何服务请求之前调用jspInit()方法。如果您需要执行JSP特定的初始化覆盖jspInit()方法。
        public void jspInit(){ ... }
        通常情况下初始化只进行一次,并在servlet的init方法中,一般初始化数据库连接,打开文件等
    

    JSP执行

        JSP的生命周期的这个阶段代表请求的所有交互,一直到JSP被破坏。
       当浏览器请求一个JSP与页面已经被加载并初始化,JSP引擎调用JSP中的_jspService()方法。在_jspService()方法接受一个HttpServletRequest和HttpServletResponse作为它的参数如下:
    void _jspService(HttpServletRequest request,  HttpServletResponse response){// Service handling code...}
    调用一个JSP的_jspService方法一次,每一个请求,并负责生产该请求的响应。
    

    JSP清理

        JSP生命周期的销毁阶段描述了当一个JSP网页从容器中被移除时所发生的一切。
        jspDestroy() 方法在JSP中等价于servlet中的销毁方法,当您需要执行任何清理工作时,重写
    jspDestory()方法,比如数据库连接释放或者文件关闭等。
        jspDestory方法的格式如下:
    
    void jspDestory{  //清理代码 }
    
  • 相关阅读:
    CDH 下线节点
    Linux下如何查看哪些进程占用的CPU内存资源最多
    CentOS7安装iptables防火墙
    Mysql 编译报错 g++: internal compiler error: Killed (program cc1plus) 解决办法
    Jenkins配置gitlab
    mysql连接卡死,很多线程sleep状态,导致CPU中mysqld占用率极高
    c++0.1-----基于对象知识大综合(非指针篇)
    c++0.0-----挖坑
    python0.16------构造函数/析构函数/self详解/重写/访问限制/对象属性和类属性/@property/运算符重载
    python0.15-----继承和多态
  • 原文地址:https://www.cnblogs.com/ssgao/p/8866295.html
Copyright © 2011-2022 走看看