JSP內置對象
所謂內置對象就是有Web加載的一組ServletAPI的實力,這些實力有JSP規範進行了默認的初始化操作,可以直接在JSP中使用,下面是五種常用的JSP內置對象。
out對象:用於向客戶端輸出數據。
request對象:主要用於處理客戶端請求的數據信息。
response對象:用於響應客戶端請求並向客戶端輸出信息。
session對象:用於記錄回話狀態的相關信息。
application對象:類似於系統的全局變量,用於實現Web應用中的資源共享。
out
out內置對象是在JSP開發過程中使用最爲頻繁的對象,同時使用起來也是最簡單的。out對象用於對瀏覽器輸出數據,其常用的方法是print();其中參數可以包含JavaScript代碼。
request(請求)
request對象是最常用的JSP內置對象之一,其中包含了有關瀏覽器請求的信息。
常用方法
String getParameter(String name):根據頁面表單組件名稱獲取頁面提交數據。
String[] getParameterValues(String name):獲取一組以相同名稱命名的表單組件提交的數據。
void setCharacterEncoding(String charset):指定每個請求的編碼,在調用request.getParameter()方法前設定,可以解決中文亂碼問題,只對post提交方式有效。
RequestDispatcher
getRequestDispatcher(String path):返回一個javax.servlet.RequestDispatcher對象,該對象的forward()方法用於轉發請求。(轉發)
response(響應)
response對象與request對象相對應,用於相應客戶請求並向客戶端輸出信息。
常用方法
void addCookie(Cookie cookie):在客戶端添加cookie
void setContentType(String type):設置HTTP相應的contentType類型
void setCharacterEncoding(String charset):設置響應鎖採用的字符編碼類型
void
sendRedirect(String location) :將請求重新定位到一個新的URL上(重定向)
session(會話)
session遵守的是session機制,session機制是一種服務器端的機制,在服務器使用類似於散列表的結構來保存信息。當服務器端接收到客戶端的請求時,服務器首先會判斷客戶端是否已經穿件了session對象,如果已經穿件,就利用這個session對象來存儲客戶的狀態信息。如果沒有創建,則創建session對象。它是通過sessionid來判斷對象是否存在的。
常用方法
void setAttribute(String
key,Object value):以K/Y的形式將對象保存到session中。
Object getAttribute(String
key):通過key獲取session中保存的對象。
void invalidate():設置session對象失效。
String getId():獲取sessionid
void setMaxInactiveInterval(int interval):設置session的活動時間。
int getMaxInactiveInterval():獲取session的有效活動時間,以秒爲單位。
void removeAttribute(String key):從session中刪除指定名稱(key)所對應的對象。
session對象超時設置可以通過三種方式來實現。
方式一:在頁面中,通過setMaxInactiveInterval()方法設置session的非活動時間,代碼如下:
<%
session.setAttribute("LOGIN","admin");
//參數爲600的單位是秒,表示在10分鐘後session對象失效
session。setMaxInactiveInterval(600);
response.sendRedirect("admin.jsp");
%>
方式二:在項目的web.xml設置代碼如下:
<session-config>
<session-timeout>10</session-timeout>
</session-config>
其中10的單位是分鐘,或設置0,-1表示永不超時。
方式三:在應用服務器中設置,在Tomcat目錄/conf/web.xml中找到<session-config>元素,其中<session-timeout>元素中的30就是默認的時間,單位是分鐘,可以修改其值。
application(應用服務器)
application對象類似於系統的一個“全局變量”,用於同一個服務器內所有用戶之間的數據共享,對於整個Web服務器,application對象有且只有一個實例。
常用方法
void setAttribute(String
key,Object value):以K/Y的形式將對象存儲到application中。
Object getAttribute(String
key):通過key獲取application中存儲的對象。
String getRealPath(String path): 返回相對路徑的真實路徑。
JSP其他的內置對象
pageContext:提供了在JSP運行時訪問和其相關的環境信息的能力,通過pageContext對象可以訪問和當前JSP頁面相關聯的作用域,以及一些頁面的屬性。
常用方法
ServletRequest getRequest();獲得request對象。
ServletResponse getResponse():獲得response對象。
HttpSession getSession():獲得session對象。
JspWriter getOut():獲得out對象。
void setAttribute():保存屬性。
Object getAttribute():獲得屬性。
void include():請求指定的資源,並向目標資源的響應結果包含在調用頁面的響應中。
page:表示當前頁面,類似於Java中的this。在JSP頁面中,很少使用page對象。
config:用於存放JSP編譯後的初始數據。與page對象一樣,在JSP頁面中很少使用。
exception:表示JSP頁面運行時產生的異常和錯誤信息,該對象只有在錯誤頁面。(page指令中設定isErrorPage爲true的頁面)中才能夠使用。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.