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的頁面)中才能夠使用。
    
    
                                                                                
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章