標籤:request 運算式 編譯 複製 util glib 解決 bsp html標籤
三大指令:include、 page、taglib
include指令:
作用: 在當前頁面用於包含其他頁面
文法: <%@include file="xxx.jsp"%>
注意:
1)原理是把被包含的頁面(xxx.jsp)的內容翻譯到包含頁面中,合并成翻譯成一 個java源檔案,再編譯運行,這種包含叫靜態包含(源碼包含)
2)如果使用靜態包含,被包含頁面中不需要出現全域的html標籤了!!!(如html、head、 body 當然出現也不會報錯)
page指令:
作用: 告訴tomcat伺服器如何把jsp檔案翻譯成java檔案
預設寫法:<%@ page language="java" import="java.util.*" pageEncoding="ISO-8859-1"%>
屬性介紹:
language="java" //告訴伺服器使用什麼動態語言來翻譯jsp檔案
import="java.util.*" //告訴伺服器java檔案使用什麼包匯入包,多個包之間用逗號分割
pageEncoding="utf-8" //告訴伺服器使用什麼編碼翻譯jsp檔案(成java檔案)
注意:在開發工具中,以後只需要設定pageEncoding即可解決中文亂碼問題,因為contentType屬性會預設設定和pageEncoding一致
contentType="text/html; charset=utf-8" //伺服器發送瀏覽器的資料類型和內容編碼
errorPage="error.jsp" //配置了之後,當頁面運行出錯後,會跳轉到對應的錯誤頁面
isErrorPage="false" //預設為false,當設為true後,可以使用內建對象exception,否則不能使用
buffer="8kb" //out內建對象的款存大小,當超過款存後,立馬向瀏覽器中寫出內容
session="true" //是否可以使用內建對象session,預設true
isELIgnored="false" //是否忽略EL運算式,預設false
taglib指令:
作用:用於匯入jstl標籤庫
9個內建對象
內建對象 |
對應的類型 |
解釋 |
request |
HttpServletRequest |
|
response |
HttpServletResponse |
|
config |
ServletConfig |
|
application |
ServletContext |
|
session |
HttpSession |
|
exception |
Throwable |
|
page |
Object(this) |
當前頁面編譯後的class |
out |
JspWriter |
|
pageContext |
PageContext |
|
pageContext對象:
pageContext對象的類型是PageContext,叫jsp的內容物件
1)可以擷取其他八個內建對象
如:
1 HttpServletRequest request= pageContext.getRequest(); //等價於request內建對象2 HttpServletResponse response = pageContext.getResponse(); ////等價於response內建對象3 HttpSession session = pageContext.getSession(); //...4 JspWriter out = pageContext.getOut(); //...5 6 ...
2)本身是一個域對象
#四個域對象
ServletContext |
context域 |
HttpServletRequet |
session域 |
HttpSession |
request域 |
PageContext |
page域 |
作用: 儲存資料和擷取資料,用於共用資料 |
#儲存資料
1)預設情況下,儲存到page域
pageContext.setAttribute("name");
2)可以向四個域對象儲存資料
pageContext.setAttribute("name",域範圍常量)
#擷取資料
1)預設情況下,從page域擷取
pageContext.getAttribute("name")
2)可以從四個域中擷取資料
pageContext.getAttribute("name",域範圍常量)
#域範圍常量:
PageContext.PAGE_SCOPE
PageContext.REQUEST_SCOPE
PageContext..SESSION_SCOPE
PageContext.APPLICATION_SCOPE
3)自動在四個域中搜尋資料
pageContext.findAttribute("name"); //搜尋順序: page域 -> request域 -> session域- > context域(application域)
JSP三個指令及9個內建對象