JavaWeb課程系列

5.jsp九大隱含對(duì)象

在JSP頁(yè)面上編寫(xiě)Java代碼時(shí),有九個(gè)可以直接使用的內(nèi)置對(duì)象。

PageContext pageContext

HttpServletRequest request

HttpSession session

ServletContext application

HttpServletResponse response

ServletConfig config

Throwable exception

JspWriter out

Object page

為什么可以在頁(yè)面使用它們,因?yàn)槲覀儼l(fā)現(xiàn),頁(yè)面是在service方法中進(jìn)行解析的。

而service方法在解析頁(yè)面之前申明了。在頁(yè)面設(shè)置為isErrorPage=”true”的時(shí)候,exception對(duì)象就會(huì)顯示

5.1PageContext pageContext

pageContext主要有以下功能

  • 獲取其它隱含對(duì)象

getException方法返回exception隱式對(duì)象

getPage方法返回page隱式對(duì)象

getRequest方法返回request隱式對(duì)象

getResponse方法返回response隱式對(duì)象

getServletConfig方法返回config隱式對(duì)象

getServletContext方法返回application隱式對(duì)象

getSession方法返回session隱式對(duì)象

getOut方法返回out隱式對(duì)象 ?

  • 作為域?qū)ο?/li>

可以設(shè)置、獲取屬性值

public void setAttribute(java.lang.String name,java.lang.Object value)

public java.lang.Object getAttribute(java.lang.String name)

public void removeAttribute(java.lang.String name)

  • 訪問(wèn)其它屬性域

1?public?java.lang.Object getAttribute(java.lang.String name,int?scope)

2?public?void?setAttribute(java.lang.String name, java.lang.Object value,int?scope)

3?public?void?removeAttribute(java.lang.String name,int?scope)

int??scope代表各個(gè)域的常量,可取值如下

1?PageContext.APPLICATION_SCOPE

2?PageContext.SESSION_SCOPE

3?PageContext.REQUEST_SCOPE

4?PageContext.PAGE_SCOPE

5.2 HttpServletRequest request

域?qū)ο螅梢源嫒傩灾?,用?lái)在域中共享。

public?void?setAttribute(java.lang.String name,java.lang.Object value)

public?java.lang.Object getAttribute(java.lang.String name)

public?void?removeAttribute(java.lang.String name)

5.3 HttpSession session

域?qū)ο?,可以存取屬性值,用?lái)在域中共享。

5.4 ServletContext application

域?qū)ο?,可以存取屬性值,用?lái)在域中共享。