No. | 內置對象 | 類型 | 描述 |
1 | pageContext | javax.servlet.jsp.PageContext | JSP的頁面容器 |
2 | request | javax.servlet.http.HttpServletRequest | 得到用戶的請求信息 |
3 | response | javax.servlet.http.HttpServletResponse | 服務器向客戶端的回應信息 |
4 | javax.servlet.http.HttpSession | 用來保存每一個用戶的信息 | |
5 | javax.servlet.ServletContext | 表示所有用戶的共享信息 | |
6 | config | javax.servlet.ServletConfig | 服務器配置,可以取得初始化參數 |
7 | out | javax.servlet.jsp.JspWriter | 頁面輸出 |
8 | page | java.lang.Object | 表示從該頁面中表示出來的一個Servlet實例 |
9 | exception | java.lang.Throwable | 表示JSP頁面所發生的異常,在錯誤頁中才起作用 |
在JSP中提供了四種屬性的保存范圍,所謂的屬性保存范圍,指的就是一個設置的對象,可以在多少個頁面中保存并可以繼續使用
四種屬性范圍:No. | 方法 | 類型 | 描述 |
1 | public void setAttribute(String name,Object o) | 普通 | 設置屬性的名稱及內容 |
2 | public Object getAttribute(String name) | 普通 | 根據屬性名稱取得屬性 |
3 | public void removeAttribute(String name) | 普通 | 刪除指定的屬性 |
page屬性范圍(使用pageContext表示,但是一般來講都習慣于將這種范圍稱為page范圍)表示將一個屬性設置在本頁上,跳轉之后無法取得 。
request屬性范圍 (如果要在服務器跳轉之后屬性可以繼續保存下來,則可以使用request屬性范圍操作,request屬性范圍表示的是在服務器跳轉之后,所有設置的內容依然會被保留下來 )
關于request屬性范圍的理解 :request表示的是客戶端的請求,正常情況下,一次請求服務器只會給予一次回應,那么這個時候如果是服務器端跳轉,請求的地址欄沒有改變,所以也就相當于回應了一次,而如果地址欄改變了,就相當于是發出了第二次請求,則第一次請求的內容肯定就已經消失了,所以無法取得。
session屬性范圍 (如果現在希望一個屬性設置之后,可以在任何一個與設置頁面相關的頁面中取得的話,則就可以使用session屬性范圍,使用session設置屬性之后,不管是客戶端跳轉還是服務器端跳轉,只要屬性設置了就都可以取得)
application屬性范圍(如果現在希望設置一個屬性,可以讓所有的用戶(每一個session)都能看得見的話,則可以將屬性范圍設置成application,這樣屬性就保存在了服務器之上。)
其他對象:
response對象的主要作用是用于對客戶端的請求進行回應,將WEB服務器處理后的結果發回給客戶端。response對象屬于javax.servlet.http.HttpServletResponse接口的實例,HttpServletResponse接口的定義如下:public interface HttpServletResponse extends ServletResponseconfig對象是javax.servlet.ServletConfig接口的實例化對象,主要的功能是取得一些初始化的配置信息。常用方法:public String getInitParameter(String name)public Enumeration getInitParameterNames()out對象是javax.servlet.jsp.JspWriter類的實例化對象,主要的功能就是完成頁面的輸出操作,使用PRintln()或print()方法輸出,但是從實際的開發來看,直接使用out對象的幾率較少,都會使用表達式完成輸出的操作。out對象定義了如下的幾個操作:public int getBufferSize()public int getRemaining()pageContext對象是javax.servlet.jsp.PageContext類的實例,主要表示的是一個JSP頁面的上下文,在此類中除了之前講解過的屬性操作之外,還定義了以下的一些方法:public abstract void forward(String relativeUrlPath) throws ServletException,IOExceptionpublic void include(String relativeUrlPath) throws ServletException,IOExceptionpublic ServletConfig getServletConfig()public ServletContext getServletContext()public ServletRequest getRequest()public ServletResponse getResponse()public HttpSession getSession()新聞熱點
疑難解答