您的位置:首页 > Web前端 > JavaScript

JSP内置对象详解

2017-02-06 16:14 393 查看
  转自http://www.cnblogs.com/oumyye/p/4240272.html  

  在JSP中为了简化用户的开发,提供了九个内置对象,这些内置对象将由容器为用户进行实例化,而用户直接使用即可,而不用像在java中那样,必须通过关键字new进行实例化对象之后才可以使用。

No.

内置对象

类型

描述

1

pageContext

javax.servlet.jsp.PageContext

JSP的页面容器

2

request

javax.servlet.http.HttpServletRequest

得到用户的请求信息

3

response

javax.servlet.http.HttpServletResponse

服务器向客户端的回应信息

4

session

javax.servlet.http.HttpSession

用来保存每一个用户的信息

5

application

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中提供了四种属性的保存范围,所谓的属性保存范围,指的就是一个设置的对象,可以在多少个页面中保存并可以继续使用

四种属性范围:

pageContext:只在一个页面中保存属性,跳转之后无效。

request:只在一次请求中保存,服务器跳转后依然有效。

session:在一次会话范围中,无论何种跳转都可以使用,但是新开浏览器无法使用。

application:在整个服务器上保存,所有用户都可以使用

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 ServletResponse

config对象是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,IOException
public void include(String relativeUrlPath) throws ServletException,IOException
public ServletConfig getServletConfig()
public ServletContext getServletContext()
public ServletRequest getRequest()
public ServletResponse getResponse()
public HttpSession getSession()
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: