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(){
    销毁时运行的代码}
    %> 

  • 相关阅读:
    Ubuntu14.04升级cmake版本的方法
    在ubuntu16.04-32bits 下编译vlc和vlc-qt开源项目
    从Ubuntu 14.04 LTS版升级到Ubuntu 16.04 LTS
    如何使用Heartbeat,组建一个高可用性的mysql集群
    VLC和Qt结合编写流媒体rtsp播放器
    How to Analyze "Deadlocked Schedulers" Dumps?---WINDBG
    sqlserver-kit.org
    SQLSERVER ----improvedk
    sql server博客
    分享]国外最新安全推文整理
  • 原文地址:https://www.cnblogs.com/tianhao/p/4191468.html
Copyright © 2011-2022 走看看