jsp jsp簡介: JSP全名為Java Server Pages,中文名叫java伺服器頁面,其根本是一個簡化的Servlet設計,在jsp中既可以寫html 代碼 ,又可以寫java代碼 作用:將頁面顯示與業務邏輯相分離; 通常分為三部分: java 代碼 html代碼 jsp指令 jsp本質 ...
jsp
jsp簡介:
JSP全名為Java Server Pages,中文名叫java伺服器頁面,其根本是一個簡化的Servlet設計,在jsp中既可以寫html 代碼 ,又可以寫java代碼
作用:將頁面顯示與業務邏輯相分離;
通常分為三部分:
java 代碼
html代碼
jsp指令
jsp本質:
當你發起請求時,伺服器會根據匹配的規則,匹配給jspServlet,jspServlet會根據路徑去查找你訪問的那個jsp文件是否存在,如果該jsp文件存在,會將jsp文件進行翻譯,翻譯成一個java的類(繼承了一個HttpJspServlet),會將內容寫到硬碟上,保存在work目錄下,調用jdk的api ,會將java文件編譯成class文件,調用他的service方法,完成請求
jsp腳本:
- <% java 代碼 %> 編寫Java代碼 原封不動翻譯到java文件中的service方法
- <%= java輸出表達式%> 原封不動翻譯到java文件中的service方法的uot.print(java表達式) 不能加分號
- <%! %> 用來聲明java 的成員屬性與成員方法
jsp的註釋:
單純的html 與java 使用自己語言的註釋 java與html 混合時使用<%-- 內容 --%>
jsp指令:
指令語法格式
<%@ 指令名 屬性名="屬性值" 屬性名="屬性值" 屬性名="屬性值" 屬性名="屬性值"......%>
沒有個數限制 沒有位置限制
1. page 指令
用來指明當前頁面的屬性和行為
屬性:
import屬性:導入包
contentType:指明指明編碼和數據類型的
pageEncoding:指明當前頁面本身的編碼
在頁面可以只聲明其中編碼 那麼另外一個也使用這個編碼
在頁面可以兩個都聲明瞭 各用各的
如果都沒寫 預設 iso-8859-1
autoFlush:自動刷新
buffer:緩存區大小
errorPage:當發生錯誤的時候 請求轉發到一個好看錯誤頁面
isErrorPage:如果你聲明這個屬性 改為true 可以使用exception內置對象
session:預設值為true可以session內置
isELIgnored:是否忽略el表達式 false
2. include 靜態包含指令
<%@include file="要包含文件的路徑"%>
3. taglib 標簽庫的指令
jsp內置九大域對象:
- application serlvetContext 上下文對象
- request request請求對象
- session seesion對象
- response 響應對象
- pageContext page 頁面上下文對象
- page this對象
- out 輸出對象
- config SerlvetConfig 對象
- exception 異常對象 isErrorPage:如果你聲明這個屬性 改為true 可以使用exception內置對象
pageContext對象:
api : setAttribute(“key”“value”)向域中存儲數據
getAttribute(“key”)通過取出值
removeAttribute(“key”)通過key移除屬性
作用:
- 操作其他三大域對象
- 可以獲取其他8大內置對象
- 便捷查找: findAttribute("key") 通過key值 查找對應的值 四大域依次查找, 從小到大 , 找到為止