03013_動態頁面技術-JSP
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