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()新闻热点
疑难解答