jsp的工作原理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(相關的版本號)
\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語法
jsp是HTML與java代碼的混合體,所以其中的html部分遵循html語法,java部分遵循java語法
jsp元素與模板數據
jsp源代碼可以分成兩部分:模板數據域元素。
模板數據:是指jsp中的HTML代碼,它的內容是固定的。無論程序怎樣運行,模板數據輸出到客戶端游覽
時都不會發生變化。數據不會控制程序的流程。也不會影響程序的運行結果。模板數據寫的是什么輸出來的就是
什么。
元素:是指jsp中的java部分,包括腳本等元素決定着程序的流程


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM