内建对象介绍
使用out对象
out对象是指JSP文件中用来向客户端发送输出流的对象,它本身就代表了为客户端打开的输出流。通过它才能实现用于响应客户端请求
的HTML页面的输出。out对象是JSP中使用最频繁的对象,他一般使用print()和println()方法向客户端输出。println()比print()在输出字符
的后面多了一个空行,但是使用这种方法去实现空行一般是无效的,需要使用out.println("<br>")方法来实现。
使用request对象
request对象用来封装客户端请求。通过它可以获得客户端传递到服务器,以及关于客户端的一些信息。当客户端向服务器发送请求后,
Web容器把客户端的数据和信息存入request对象中。然后把它封装为HttpServletRequest接口,并把它作为JSPService()方法的一个参
数传送到JSP文件中,去让程序员操作。所有程序员使用request对象写的代码最终代码被解析到对于Java文件的JSPService()方法中。
该对象常用的方法及其功能说明如下所示。
getParameter(String name):获取客户端传给服务器的参数值,name指定表单中参数的名字。
getParameterNames():获取客户端传给服务器的所有参数的名字,返回的结果是一个枚举实例。
getParameterValues(String name):获得request对象中某一个属性的值,name为属性名,如果该属性不存在,则返回null
setAttribute(String name,Java.long.Object.objt):给request对象设置一个名字为name的属性值,该值由objt设置。
removeAttribute(String name):移除request对象中名字为name的属性。
getAttributeNames():返回request对象中所有属性的名字,结果是一个枚举类型。
getCookies():返回客户端所有的Cookie对象,结果是一个Cookie数组。
getCharacterEncoding():返回客户端请求中字符的编码方式。
getContentLength:返回客户端请求的body的长度。
getMethod():返回客户端向服务器传输数据的方法,如get、post、header、trace等。
getRequestURL();获取发送请求的客户端地址。
getRemoteAddr():获取客户端的IP地址。
getServerName():获取服务器的名字。
getServerPort():获取服务器的端口号
getServletPath():获取客户端所请求的脚本文件的文件路径。
使用response对象
response对象用来封装客户端请求JSP文件后返回的响应。通过它可以设置即将返回到客户端响应的一些属性。和request对象一样,
response有Web容器产生,并把它作为JSPService()方法的参数传入JSP文件,这样JSP程序人员才可以操作该对象,所以程序员用
response对象写的代码都被解析到对应Java文件的JspService()方法中。因为使用out对象向客户端进行的输出是缓冲的,所以可以
通过response对象设置HTTP状态码和response头。response的主要方法有下面几种:
addCookie(Cookie cookie):添加一个Cookie对象,用来保存客户端信息。
addHeader(String name,String value):添加HTTP文件头信息,如果已有同名的Header,则覆盖它。
containHeader(String name):判断名字为name的HTTP文件头是否已存在。
flushBuffer():强制将当前缓冲区的内容发送到客户端。
getBufferSize():返回缓冲区的大小。
getOutputStream():获取到客户端的输出流对象。
sendError(int): 向客户端发送错误信息。
sendRedirect(String contentType):将相应发送到另一个位置去处理。
setContentType(String contentType):设置响应的MIME类型。
setHeader(String name,String value):设置名字为name的HTTP文件头的值,新设置的值可以覆盖旧值。
使用session对象
session对象用来保存每个用户的信息。一般情况下,当用户首次登录系统时,Web容器就会给该用户创建一个唯一用来标识该用户会话
的session id。这个ID用来区分其他的用户,当该用户退出系统时,这个session自动消失。在解析后的Java文件中,和session对象对
应的是HttpSession接口。session对象的主要方法有下面几种。
getAttribute(String name):从session中获取名字为name的属性。
getAttributeNames():返回存储在session对象中的所有属性的名字,结果为一个枚举类型。
removeAttribute(String name):删除名字为name的属性。
setAttribute(String name,Java.lang,Object value):设置一个名字为name的属性,其值为value。
getCreationTimes():返回该session被创建的时间。
getId():返回唯一标识该session的ID。
getLastAccessedTime():返回与该session相关的客户端最后发送请求的时间。
使用pageContext对象
pageContext对象是JSP文件包装当前页面的上下文。所以通过它可以获得当前页面特殊可见部分已命名对象的访问。pageContext的创建
和初始化都由容器完成。用户在JSP文件中可以直接使用该对象的句柄。pageContext对象的主要方法有下面几种。
forward(String relativeUrlPath):将当前页面转发到另外一个页面或者Servlet组建上。
getRequest():返回当前页面的response对象。
getServletConfig():返回当前页面的servletConfig对象。
getServletContext():返回当前页面的ServletContext对象,这个对象是所有的页面共享的。
getSession():返回当前页面的session对象。
findAttribute():按照页面、请求、会话、以及应用程序范围的属性实现对某个属性的搜索。
setAttribute():设置默认页面范围或特定对象范围之中的对象。
removeAttribute():删除默认页面对象或特定对象范围之中的已命名对象。
使用application对象
application用来封装多个应用程序的信息。一个Web服务器的所有用户都使用同一个application对象。Web服务器启动后,就会自动创建application
对象,然后这个对象会一直持续到服务器关闭。所以application对象可以被所有的用户获取并且进行操作。application对象的主要方法有如下。
getAttribute(String name):返回application对象中名字为name的属性值。
getAttributeNames():返回application对象中所有属性的名字,结果为一个枚举类型。
getInitParameter(String name):返回application对象中名字为name的属性的初始值。
getServletInfo():返回Servlet编译器的当前版本的信息。
setAttribute(String name,Object object):在application对象中设置一个名字为name的属性,其值为object。
使用exception对象
exception对象用来封装运行时出现的异常信息。该对象只能被处理错误额页面使用,一般用来处理错误的页面会在其页面指令中声明isErrorPage=true。