2020.12.15 jsp_1
JSP 本質上就是⼀個 Servlet,JSP 主要負責與⽤戶互動,將最終的界⾯呈現給⽤戶, HTML+JS+CSS+Java 的混合⽂件。 當伺服器接收到⼀個字尾是 jsp 的請求時,將該請求交給 JSP 引擎去處理,每⼀個 JSP ⻚⾯第⼀次被訪 問的時候,JSP 引擎會將它翻譯成⼀個 Servlet ⽂件,再由 Web 容器調⽤ Servlet 完成響應。
單純從開發的⻆度看,JSP 就是在 HTML 中嵌⼊ Java 程式。
具體的嵌入方式有3種:
1.jsp指令碼,執行java的邏輯程式碼
<% Java程式碼 %>
2.jsp宣告:定義java方法
<%! 宣告java方法 %>
3.jsp表示式:把java物件直接輸出到HTML頁面
<%=Java變數%>
<%! public String test(){ return "HelloWorld"; } %> <% String str = test(); %> <%=str%>
JSP內建的九個物件
1、request:表示⼀次請求,HttpServletRequest。
2、response:表示⼀次響應,HttpServletResponse。
3、pageContext:⻚⾯上下⽂,獲取⻚⾯資訊,PageContext。
4、session:表示⼀次會話,儲存⽤戶資訊,HttpSession。
5、application:表示當前 Web 應⽤,全域性物件,儲存所有⽤戶共享資訊,ServletContext。
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) 指定每個請求的編碼。