jsp隱式對象與${requestScope.}使用

jsp隱式對象

JSP有九大內置隱式對象,通過這些對象簡化了對Servlet中HTTPServletRequest、HttpServletResponse、ServletConfig、HttpSession對象的訪問。下面表格給出了內置對象與Servlet中對象類型的對應關係。

對象 類型 描述
request java.servlet.http.HttpServletRequest 該對象代表了客戶端的請求信息,主要用於接收通過HTTP協議傳送到服務器的數據(包括頭信息、系統信息、請求方式以及請求參數)。request的作用域爲一次請求。
response javax.servlet.http.HttpServletResponse 將JSP容器處理過的對象傳回到客戶端。response對象只在JSP頁面內有效。
out javax.servlet.jsp.JspWriter 對象用於在Web瀏覽器內輸出信息
session javax.servlet.http.HttpSession 對象是由服務器自動創建的與用戶請求相關的對象。用戶保存用戶信息,跟蹤用戶的操作狀態
application javax.servlet.ServletContext application 對象可將信息保存在服務器中,直到服務器關閉,否則application對象中保存的信息會在整個應用中都有效。與session相比,其生命週期更長。
config javax.servlet.ServletConfig     取得服務器的配置信息,通過pageContext.getServletConfig()可以獲取一個config對象。當一個Servlet 初始化時,容器把某些信息通過config對象傳遞給這個 Servlet。 開發者可以在web.xml 文件中爲應用程序環境中的Servlet程序和JSP頁面提供初始化參數。
pageContext javax.servlet.jsp.PageContext pageContext對象可以取得任何範圍的參數,可以獲取得到jsp內的out、request、response、session、application等對象。pageContext的創建由容器完成,頁面可以直接使用。
page javax.servlet.jsp.HttpJspPage page 對象代表JSP本身,只有在JSP頁面內纔是合法的。 page隱含對象本質上包含當前 Servlet接口引用的變量,類似於Java編程中的 this 指針。
exception java.lang.Throwable exception 對象的作用是顯示異常信息,只有在包含 isErrorPage="true" 的頁面中纔可以被使用,在一般的JSP頁面中使用該對象將無法編譯JSP文件。excepation對象和Java的所有對象一樣,都具有系統提供的繼承結構。exception 對象幾乎定義了所有異常情況。在Java程序中,可以使用try/catch關鍵字來處理異常情況; 如果在JSP頁面中出現沒有捕獲到的異常,就會生成 exception 對象,並把 exception 對象傳送到在page指令中設定的錯誤頁面中,然後在錯誤頁面中處理相應的 exception 對象。

${requestScope.}使用

${requestScope.}獲取request設置的屬性值。那麼與<%= request.getParameter%>有什麼區別?

1、requestScope通常是將某個變量或者對象在servlet或者action中通過request.setAttribute()方法放入到request對象中,然後在頁面中使用requestScope來進行數據的顯示的,獲取方式如下:

${requestScope.xxx}    //等價於<%=request.getAttribute("xxx")%>

注:${requestScope.}是拿不到2中表單提交的值,但可以通過${param.xxx}獲取表單提交的值。

2、request.getParameter則更多的用在servlet或者action中,它的作用是接收表單提交的數據,比兔你的jsp頁面中表單提交的數據

3、所以兩者的區別大概如下:requestScope更多的用於展示頁面,從request對象中取出對象或者變量來顯示,而request中的對象或者變量也是程序員通過手動的方式request.setAttribute方法來放入request對象中的;而request.getParameter則更多的應用於後臺的方法中,它的參數不是程序手動設置的,而是由接收表單中用戶輸入的值的,這些值存放在請求的request對象中。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章