JSP詳解-1
jsp
JSP 本質上就是⼀個 Servlet,JSP 主要負責與⽤戶互動,將最終的界⾯呈現給⽤戶,HTML+JS+CSS+Java 的混合⽂件。
當伺服器接收到⼀個字尾是 jsp 的請求時,將該請求交給 JSP 引擎去處理,每⼀個 JSP ⻚⾯第⼀次被訪問的時候,JSP 引擎會將它翻譯成⼀個 Servlet ⽂件,再由 Web 容器調⽤ Servlet 完成響應。
單純從開發的⻆度看,JSP 就是在 HTML 中嵌⼊ Java 程式。
具體的嵌入方式有3種:
- JSP指令碼,執行Java邏輯程式碼
<% Java程式碼 %>
- JSP宣告:定義Java方法
<%!
宣告Java方法
%>
3.JSP表示式:把Java物件直接輸出到HTML頁面中
<%=Java變數 %>
<%!
public String test(){
return "HelloWorld";
}
%>
<%
String str = test();
%>
<%=str%>
JSP內建物件9個
- request:表示一次請求,HttpServletRequest.
- response:表示一次響應,HttpServletResponse。
- pageContext:頁面上下文,獲取頁面資訊,PageContext.
- session:表示一次會話,儲存使用者資訊,HttpSession。
- application:表示當前 Web應用,全域性物件,儲存所有使用者共享資訊,SservletContext。
- config:當前JSP對應的Servlet的ServletConfig物件,獲取當前Servlet的資訊。
- out:向瀏覽器輸出資料,JspWriter.
- page:當前JSP對應的Servlet物件,Servlet。
- exception:表示JSP頁面發生的異常,Exception。
常用的是 request、response、session、application、pageContext
request常用方法:
- String getParameter(String key)獲取客戶端傳來的引數
- void setAttribute(String key,Object value)通過鍵值對的形式儲存資料。
- Object getAttribute(String key) 通過key取出value。
- RequestDispatcher getRequestDispatcher(String path)返回一個RequestDispatcher物件,該物件forward方法用於請求轉發。
- String[] getParameterValues()獲取客戶端傳來的多個同名引數。
- void setCharacterEncoding(String charset)指定每個請求的編碼。
response 常⽤⽅法:
1、sendRedirect(String path) 重定向,⻚⾯之間的跳轉。
轉發 getRequestDispatcher 和重定向 sendRedirect 的區別:
轉發是將同⼀個請求傳給下⼀個⻚⾯,重定向是建立⼀個新的請求傳給下⼀個⻚⾯,之前的請求結束⽣
命週期。
轉發:同⼀個請求在伺服器之間傳遞,位址列不變,也叫伺服器跳轉。
重定向:由客戶端傳送⼀次新的請求來訪問跳轉後的⽬標資源,位址列改變,也叫客戶端跳轉。
如果兩個⻚⾯之間需要通過 request 來傳值,則必須使⽤轉發,不能使⽤重定向。
⽤戶登入,如果⽤戶名和密碼正確,則跳轉到⾸⻚(轉發),並且展示⽤戶名,否則重新回到登陸⻚⾯
(重定向)。
相關文章
- spring(1)-ApplicationContextAware詳解SpringAPPContext
- CC1鏈詳解
- 詳解 1x1 卷積核卷積
- React Scheduler 原始碼詳解(1)React原始碼
- stat 命令家族(1)- 詳解 vmstat
- 2.16.10.init程式詳解1
- 1-Hyperledger Fabric概念詳解
- 提高班1:ImageView中ScaleType屬性詳解,配圖詳解View
- 5.1 以太坊原始碼詳解1原始碼
- webpack系列之四loader詳解1Web
- Java基礎1-String詳解Java
- CSAPP:Lab1 -DataLab 超詳解APP
- ThreeJS系列1_CinematicCameraJS外掛詳解JS
- Hyperledger Fabric原理詳解與實戰1
- jsp標籤jsp:useBean用法JSBean
- jsp基礎-初識jspJS
- 你瞭解jsp中的c:forEach嗎?JS
- JSPJS
- shell指令碼中/dev/null 2>&1詳解指令碼devNull
- 解決javax.servlet.jsp.JspException cannot be resolved to a typeJavaServletJSException
- #Schpringbot#_bug解決_jsp檔案not_foundJS
- 詳談JSP執行原理、生命週期、語法、指令、動作標籤、九大內建物件(JSP 全家桶)JS物件
- 【評價指標】詳解F1-score與多分類MacroF1&MicroF1指標Mac
- Lararel 框架執行流程詳解(1) 入口檔案框架
- 技術乾貨:LeetCode1- 20題詳解LeetCode
- BSN季度更新詳解-2022年1月25日
- Java核心知識1:泛型機制詳解Java泛型
- JSP原理JS
- Jsp Unescaped xml character報錯的解決辦法JSXML
- JSP中無法使用內建物件解決方法JS物件
- Flutter佈局篇(1)–水平和垂直佈局詳解Flutter
- Flutter佈局篇(1)--水平和垂直佈局詳解Flutter
- 南大通用GBase XDM複製功能的詳解(1)
- JSP入門JS
- index.jspIndexJS
- JSP三(JSTL)JS
- JSP 結構JS
- jsp forward 指令JSForward