1. 程式人生 > >JSP/Servlet Web 學習筆記 DayThree

JSP/Servlet Web 學習筆記 DayThree

true exce 隱含對象 表示 span print 初始 字符編碼 處理

JSP內置對象

  使用JSP語法可以存取這些內置對象來執行JSP網頁的Servlet環境相互作用。內置對象其實是由特定的Java類所產生的。每一種內置對象都映射到一個特定的Java類或者端口,在服務器運行時根據情況自動生成。

  下表列出了所有的JSP內置對象:

對象名 描述 作用域 分類
appliction 顯示相應網頁是有應用程序的對象 整個應用程序執行期間 作用域通信對象:檢索JSP頁面的Servlet相關信息
session 保存個人信息的個人所有對象 會話期間
pageContext 提供調用其它對象方法的對象 頁面執行期間
out 表示服務器端向客戶端打開的output數據流對象 頁面執行期間 輸入和輸出對象:控制頁面的輸入輸出
request 包含客戶端請求信息的對象 用戶請求期間
response 包含從服務器端發送到客戶端的相應內容對象 頁面執行(響應)期間
page 顯示當前網頁的對象 頁面執行期間 Servlet對象:提供有關頁面環境的信息
config JSP頁面通過容器初始化接收到的對象 頁面執行期間
exception 發生錯誤時生成的異常對象 頁面執行期間 錯誤對象:處理頁面中的錯誤

  


  1)作用域通信對象

    作用範圍:pageContext<session<appliction

    a)pageContext對象

      提供訪問當前頁面作用域中定義的所有內置對象,常用方法如下:

/*以名稱/值的方式,將一個對象的值存放到pageContext中*/
void setAttribute(String name,Object Value)
/*根據名稱去獲取pageConetxt中存放對象的值*/
void getAttribute(String name)

   b)seesion對象

      用於保存和跟蹤用戶的會話狀態,常用方法與pageContext相同。

    c)application對象

      作用於整個英語程序,所有的客戶端窗口都可以共享該對象,從服務器開始就存在,直到服務器關閉,常用方法於pageConext相同。

  2)輸入輸出對象

    a)request對象

      客戶端請求,包含了所有請求信息,常用方法如下:

/*根據頁面表單組件名稱獲取請求頁面提交的數據*/
String getParameter(String name);
/*獲取頁面請求中一個表單組件對應多個用戶請求數據(復選框等)*/
String getParameterValues(String name);
/*獲取所有客戶端到服務器端的參數名*/
Enumeration getParameterNames();

   b)response對象

      處理JSP生成的響應,然後將響應結果發送給客戶端,常用方法如下:

/*設置作為相應生成內容的類型和字符編碼*/
void setContentType(String name);
/*發送一個相應給瀏覽器,指示其應請求另一個url(重定向到另一個url,會丟失數據,跳轉後不再執行sendRedirect方法下面的代碼)*/
void sendRedirect(String name);
/*返回到客戶端的輸出流對象*/
getOutputStream();

  c)out對象

    表示輸出流,此輸出流將作為請求的相應發送到客戶端,常用方法:print()、println()、write()。

    out在程序代碼中幾乎不用,因為JSP表達式會自動地放入輸出流中,而無需再明確指向out輸出。

 3)Servlet對象

  a)page對象

    提供對網頁上定義的所有對象的訪問,表示頁面本身,相當於Java中的this關鍵字

  b)config對象

    config對象存儲Servlet的一些初始信息。config對象表示編譯JSP頁面的Servlet初始化數據的配置。

 4)錯誤對象exception

    處理JSP頁面中的錯誤,只有在錯誤頁面(在頁面指令包含isErrorPage="true"的頁面)才可以使用

    在出錯頁面,使用<%=exception.getMessage()%>來獲取錯誤信息。


JSP的異常處理

  如果在執行JSP的Java代碼時發生異常,可以通過下面的指令將HTTP請求轉發給另一個專門處理的網頁:

  <%@ page errorPage="errorpage.jsp"%>

  並且在處理異常的網頁中,應該將下面語句:

  <%@ page isErrorPage="true"%>也聲明進去。

  在處理異常的網頁中可以直接訪問exception隱含對象,獲取詳細的異常消息。

  

JSP/Servlet Web 學習筆記 DayThree