java基础篇---jsp内置对象详解在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 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()