天天看點

8.JSP基礎

1.Servlet與JSP關系

     JSP工作原理:  

一個JSP檔案第一次被請求時,JSP引擎把該JSP檔案轉換成為一個servlet

JSP引擎使用javac把轉換成的servlet的源檔案編譯成相應的class檔案

對每一個請求,JSP引擎建立一個新的線程來處理請求。

8.JSP基礎
JSP的Servlet本質:
8.JSP基礎
2.JSP頁面生命周期

階段 描述
轉譯 将JSP源檔案轉譯成對應的Servlet源檔案
編譯 編譯Java源檔案為類檔案
加載 将類加載至記憶體
執行個體化 建立一個Servlet類執行個體對象
初始化 調用_jspInit()方法,最終調用Servlet類的init()方法初始化
服務 調用_jspService()方法,最終調用Servlet類的service()方法,将請求和響應傳遞進對應的doXXX()方法
銷毀 調用_jspDestroy()方法,最終調用destroy()方法,銷毀Servlet

3.JSP與Servlet的内部轉換:

    JSP轉譯Servlet(Java生命周期第一階段)   : 解析  校檢   轉譯

8.JSP基礎
8.JSP基礎
8.JSP基礎

4.page僞指令屬性

import屬性(相當于java中的import)

用于描述JSP頁面中使用類的全包名,可選屬性

<%@page import=“java.io.*,java.sql.*”%>

預設導入包:java.lang、javax.servlet、javax.servlet.jsp、javax.servlet.http

session屬性

session屬性指定頁面是否需要一個http會話

<%@page session=“true/false”%>

errorPage和isErrorPage屬性(JSP異常處理)

JSP産生一個不能捕獲的溢出時跳轉到一個錯誤頁面

<%@page errorPage=“error.jsp”%>

在error.jsp頁面中必須加入<%@page isErrorPage=“true”%>才能進行錯誤處理

language和extends屬性

language屬性指定JSP頁面中聲明、腳本、和表達式中使用語言,預設是Java

<%@page language=“java” %>

extends屬性用于指定JSP頁面對應Servlet類的基類,極少使用

<%@page extends=“mypackage.BaseServlet”%>

contentType和pageEncoding屬性

contentType屬性指定頁面響應的MIME類型和字元編碼

<%@page

contentType =“text/html;charset=UTF-8” %>

pageEncoding屬性用于指定JSP頁面字元編碼格式,預設值為ISO-8859-1

<%@page pageEncoding =“UTF-8”%>