JSP詳解-1

穆_清發表於2020-09-29

jsp

JSP 本質上就是⼀個 Servlet,JSP 主要負責與⽤戶互動,將最終的界⾯呈現給⽤戶,HTML+JS+CSS+Java 的混合⽂件。

當伺服器接收到⼀個字尾是 jsp 的請求時,將該請求交給 JSP 引擎去處理,每⼀個 JSP ⻚⾯第⼀次被訪問的時候,JSP 引擎會將它翻譯成⼀個 Servlet ⽂件,再由 Web 容器調⽤ Servlet 完成響應。

單純從開發的⻆度看,JSP 就是在 HTML 中嵌⼊ Java 程式。

具體的嵌入方式有3種:

  1. JSP指令碼,執行Java邏輯程式碼
<% Java程式碼 %>
  1. JSP宣告:定義Java方法
<%!
宣告Java方法
%>

3.JSP表示式:把Java物件直接輸出到HTML頁面中

<%=Java變數 %>
<%!
public String test(){
	return "HelloWorld";
}
%>
<%
String str = test();
%>
<%=str%>

JSP內建物件9個

  1. request:表示一次請求,HttpServletRequest.
  2. response:表示一次響應,HttpServletResponse。
  3. pageContext:頁面上下文,獲取頁面資訊,PageContext.
  4. session:表示一次會話,儲存使用者資訊,HttpSession。
  5. application:表示當前 Web應用,全域性物件,儲存所有使用者共享資訊,SservletContext。
  6. config:當前JSP對應的Servlet的ServletConfig物件,獲取當前Servlet的資訊。
  7. out:向瀏覽器輸出資料,JspWriter.
  8. page:當前JSP對應的Servlet物件,Servlet。
  9. exception:表示JSP頁面發生的異常,Exception。

常用的是 request、response、session、application、pageContext

request常用方法:

  1. String getParameter(String key)獲取客戶端傳來的引數
  2. void setAttribute(String key,Object value)通過鍵值對的形式儲存資料。
  3. Object getAttribute(String key) 通過key取出value。
  4. RequestDispatcher getRequestDispatcher(String path)返回一個RequestDispatcher物件,該物件forward方法用於請求轉發。
  5. String[] getParameterValues()獲取客戶端傳來的多個同名引數。
  6. void setCharacterEncoding(String charset)指定每個請求的編碼。

response 常⽤⽅法:
1、sendRedirect(String path) 重定向,⻚⾯之間的跳轉。
轉發 getRequestDispatcher 和重定向 sendRedirect 的區別:
轉發是將同⼀個請求傳給下⼀個⻚⾯,重定向是建立⼀個新的請求傳給下⼀個⻚⾯,之前的請求結束⽣
命週期。
轉發:同⼀個請求在伺服器之間傳遞,位址列不變,也叫伺服器跳轉。
重定向:由客戶端傳送⼀次新的請求來訪問跳轉後的⽬標資源,位址列改變,也叫客戶端跳轉。
如果兩個⻚⾯之間需要通過 request 來傳值,則必須使⽤轉發,不能使⽤重定向。
⽤戶登入,如果⽤戶名和密碼正確,則跳轉到⾸⻚(轉發),並且展示⽤戶名,否則重新回到登陸⻚⾯
(重定向)。

相關文章