1. 程式人生 > >03013_動態頁面技術-JSP

03013_動態頁面技術-JSP

lang 特性 另一個 servlet write 包含 jspwriter 格式 stl

1、jsp的出現

  技術分享圖片

2、jsp腳本和註釋

  (1)jsp腳本

    ①<%java代碼%> ----- 內部的java代碼翻譯到service方法的內部;

    ②<%=java變量或表達式> ----- 會被翻譯成service方法內部out.print() ;

    ③<%!java代碼%> ---- 會被翻譯成servlet的成員的內容。

 1 <%@ page language="java" contentType="text/html; charset=ISO-8859-1"
 2     pageEncoding="ISO-8859-1"%>
 3
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> 4 <html> 5 <head> 6 <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> 7 <title>Insert title here</title> 8 </head> 9 <body> 10 <!-- ① --> 11
<% 12 int i = 0; 13 System.out.println(i); 14 %> 15 16 <!-- ② --> 17 <%=i%> 18 19 <!-- ③ --> 20 <%!String str = "hello!";%> 21 <%=str%> 22 </body> 23 </html>

  (2)jsp註釋:不同的註釋可見範圍是不同

    ①Html註釋:<!--註釋內容--> ----可見範圍 jsp源碼、翻譯後的servlet、頁面顯示html源碼;

    ②java註釋://單行註釋 /*多行註釋*/ ---可見範圍 jsp源碼、翻譯後的servlet ;

    ③jsp註釋:<%--註釋內容--%> ---可見範圍 jsp源碼可見 。

3、jsp運行原理-----jsp本質就是servlet

  (1)jsp在第一次被訪問時會被Web容器翻譯成servlet,再執行;

  (2)過程:第一次訪問---->helloServlet.jsp---->helloServlet_jsp.java---->編譯運行;

  (3)被翻譯後的servlet在Tomcat的work目錄中可以找到。

4、jsp的指令是指導jsp翻譯和運行的命令,jsp包括三大指令:

  (1)page指令 --- 屬性最多的指令(實際開發中page指令默認);

    ①屬性最多的一個指令,根據不同的屬性,指導整個頁面特性;

    ②格式:<%@ page 屬性名1= "屬性值1" 屬性名2= "屬性值2" ...%> ;

    ③常用屬性如下: 

language:jsp腳本中可以嵌入的語言種類 ;
pageEncoding:當前jsp文件的本身編碼---內部可以包含contentType ;
contentType:response.setContentType(text/html;charset=UTF-8) ;
session:是否jsp在翻譯時自動創建session ;
import:導入java的包 ;
errorPage:當當前頁面出錯後跳轉到哪個頁面 ;
isErrorPage:當前頁面是一個處理錯誤的頁面 。

  (2)include指令

    ①頁面包含(靜態包含)指令,可以將一個jsp頁面包含到另一個jsp頁面中;

    ②格式:<%@ include file="被包含的文件地址"%> 。

  (3)taglib指令

    ①在jsp頁面中引入標簽庫(jstl標簽庫、struts2標簽庫);

    ②格式:<%@ taglib uri="標簽庫地址" prefix="前綴"%> 。

4、jsp九大內置/隱式對象(9個)

  (1)jsp被翻譯成servlet之後,service方法中有9個對象定義並初始化完畢,我們在jsp腳本中可以直接使用這9個對象;

  技術分享圖片

  (2)out對象

    ①out的類型:JspWriter ;
    ②out作用就是想客戶端輸出內容----out.write() ;
    ③out緩沖區默認8kb,可以設置成0,代表關閉out緩沖區,內容直接寫到respons緩沖器。

  (3)pageContext對象

    jsp頁面的上下文對象,作用如下:

  技術分享圖片

5、jsp標簽(動作)

  (1)頁面包含(動態包含):<jsp:include page="被包含的頁面"/>;

  (2)請求轉發:<jsp:forward page="要轉發的資源" /> ;

  (3)靜態包含與動態包含的區別?

  技術分享圖片

03013_動態頁面技術-JSP