JSP九大内置对象考前详细总结
Posted 寂静花开
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JSP九大内置对象考前详细总结相关的知识,希望对你有一定的参考价值。
JSP的九大内置对象详解
request(请求对象)、response(相应对象)、session(会话对象)、application(应用程序对象)、out(输出对象)、pageContext(页面上下文对象)、config(配置对象)、page(页面对象)、exception(异常对象)
又称JSP隐式对象。
JSP为了简化开发,提供了一些内置对象,用来实现很多JSP应用。在使用JSP内置对象时,不需要先定义这些对象,直接使用即可。
request
request对象是javax.servlet.http.HttpServletRequest 类的实例。每当客户端请求一个JSP页面时,JSP引擎就会制造一个新的request对象来代表这个请求。
request对象提供了一系列方法来获取HTTP头信息,cookies,HTTP方法等等。
说白了,就是获取用户提交的数据和客户的请求参数。
获取请求参数的方法:
request.getParameter(String name)
获取指定参数String name的值
request.getParameterValues(String name)
返回包含给定请求参数的所有值的 String 对象数组。常用于checkbos多选。
request.getParameterNames()
以枚举的形式返回所有参数值
request.getParameterMap()
以Map形式返回参数的映射中的键的类型为 String。参数映射中的值的类型为 String 数组
获取客户机信息的方法:
request.getRemoteAddr()
获取IP地址
request.getRemoteHost()
获取客户机的名称(如果获取不到,就获取IP地址)
request.getMethod ()
得到客户机请求方式
request.getContextPath()
获得工程虚拟目录名称
获取请求header的方法:
request.getHeader(String name)
以 String 的形式返回指定请求头的值
request.getDateHeader(String name)
以表示 Date 对象的 long 值的形式返回指定请求头的值,值是毫秒数
request.getIntHeader (String name)
以 int 的形式返回指定请求头的值。
获取服务器信息的方法:
request.getServerName()
获取服务器的名称。
request.getServePort()
获取服务器的端口。
response
response对象是javax.servlet.http.HttpServletResponse类的实例。当服务器创建request对象时会同时创建用于响应这个客户端的response对象。
response对象也定义了处理HTTP头模块的接口。通过这个对象,开发者们可以添加新的cookies,时间戳,HTTP状态码等等。
response对象所提供的方法。
(1)设定表头的方法
response.addCookie(Cookie cookie)
添加指定的cookie到响应中。
Cookie是保存在客户端的纯文本文件。比如txt文件。所谓的客户端就是我们自己的本地电脑。当我们使用自己的电脑通过浏览器进行访问网页的时候,服务器就会生成一个证书并返回给我的浏览器并写入我们的本地电脑。这个证书就是cookie。一般来说cookie都是服务器端写入客户端的纯文本文件。
cookie技术使用初学总结
response.addDateHeader(String name, long date)
新增long类型的日期值到name标头
response.addHeader(String name, String value)
添加指定名称的响应头和string类型的值
response.addIntHeader(String name, int value)
新增int类型的值到name标头
response.setDateHeader(String name, long date)
使用指定名称和值设置响应头的名称和内容
response.setHeader(String name, String value)
指定string类型的值到name标头
response.setIntHeader(String name, int value)
指定int类型的值到name标头
response.containsHeader( String name )
判断指定名字的HTTP文件头是否已经存在,然后返回真假布尔值
(2)设定响应状态码的方法
response.sendError(int sc)
使用指定的状态码向客户端发送一个出错响应,然后清除缓存
response.sendError(int sc, String msg)
使用指定的状态码和消息向客户端发送一个出错响应
response.setStatus(int sc)
设定状态码
(3)用来URL 重写(rewriting)的方法
response.encodeRedirectURL(String url)
对使用sendRedirect( )方法的URL予以编码
(4)设置重定向
response.sendRedirect(String path)
设置重定向页面.使用指定的URL向客户端发送一个临时的间接响应,pah:用于指定目标路径,可以是相对路径,也可以是不同主机的其他URL地址。
注意:在JSP页面中使用该方法时,不要再用JSP脚本代码,因为重定向之后的代码已经没有任何意义了,而且还可能产生错误
(5)设置输出缓冲
response.flushBuffer()
强制将缓冲区的内容输出到客户端
response.getBufferSize()
获取响应所使用的缓冲区的实际大小,如果没有使用缓冲区,则返回 0
response.setBufferSize(int size)
设置缓冲区大小(KB为单位,如果设置为0KB,表示不缓冲)
response.reset()
清除缓冲区的内容,同时清除状态码和报头
response.isCommitted()
检测服务器端是否已经把数据写入到了客户端
(6)其他
out对象
out对象是 javax.servlet.jsp.JspWriter 类的实例,用来在response对象中写入内容。
out.print()
输出显示信息
out.println()
换行输出显示信息
out.clear()
清除缓冲区里的内容
out.clearBuffer()
清除当前缓冲区的内容
out.flush()
刷新流的操作
out.isAutoFlush()
检测当前缓冲区满的时候是自动清空还是抛出异常
getBufferSize()
获取缓冲区的大小
注意:
1.print()、println()都不能实现换行效果。但print()输出完毕后不结束当前行,println()结束当前行
session对象
Session对象是javax.servlet.http.HttpSession类的实例,它在第一个JSP页面被装载时自动创建,完成会话期管理。从一个客户打开浏览器并连接到服务器开始,到客户关闭浏览器离开这个服务器结束,被称为一个会话。当一个客户访问一个服务器时,可能会在这个服务器的几个页面之间切换,服务器应当通过某种办法知道这是一个客户,就需要Session对象。
session.getCreationTime()
:返回session创建时间
session.getId()
:返回session创建时JSP引擎为它设的唯一的ID号
session.setAttribute(String name,Object value)
:使用指定名称将对象绑定到此对话
session.setAttribute(String name)
:返回与此会话指定名称绑在一起的对象,如果没有对象绑定在该名称下,则返回null。
session.getValueNames()
:返回一个包含session中所有可用属性的数组
session.getMaxInactiveInterval()
:返回两次请求将各多长时间此session被取消(单位秒)
application对象
application对象用于保存所有应用程序中的公有数据,服务器启动并且自动创建application对象后,只要没有关闭服务器,application对象将一直存在,所有用户可以共享application对象。这些特点是和session对象不同的。所以,application对象类似于系统的“全局变量”,用于实现用户之间的数据共享。
application的这些方法可以分为三类:属性管理方法、获取上下文信息方法、获取服务器端信息方法。
(1)属性管理方法
application.setAttribute(String key, Object value)
:以键/值的方式,将一个对象的值存放到application中。
application.getAttribute(String key)
:根据键去获取application中存放对象的值。
(2)获取上下文信息方法
application.getInitParameter(String name)
返回一个已命名的初始化参数的值。
所谓上下文参数指的是在web.xml中括在标签中的参数。
(3)获取服务器端信息
application.getServerInfo()
方法用于返回运行JSP(SERVLET)的容器的名称及版本号。
application.getMajorVersion()
用于返回服务器支持的主版本号。application.getMinorVersion()
返回服务器支持的次版本号。
其他内置对象
config
config对象对应于javax.servlet.ServletConfig类,此类位于servlet-api.jar包中。
config对象用于获取配置信息。配置信息包括初始化参数以及表示Servlet或JSP页面所属Web应用的ServletContext对象。
具体来说,如果在当前Web应用的应用部署描述文件web.xml文件中,针对某个Servlet文件或JSP文件设置了初始化参数,则可以通过config对象来获取这些初始化参数。
pageContext
pageContext对象代表页面上下文,提供了对JSP页面所有的对象及命名空间的访问。该对象主要用于访问JSP之间的共享数据。使用pageContext可以访问page、request、session、application范围的变量。pageContext对象是javax.servlet.jsp.pageContext类的对象实例。
page
page对象是java.lang.Object的对象实例,也是JSP的实现类的实例,类似于Java中的this指针,就是指向当前JSP页面本身。
exception
exception异常对象指的是Web应用程序所能够识别并能够处理的问题。
在Java语言中,通过“try/catch”语句来处理异常信息。如果在JSP页面中出现没有捕捉到的异常信息,那么系统会自动生成exception对象,并把这个对象传送到page指令元素中设定的错误页面中,然后在错误提示页面中处理相应的exception对象。
exception对象只能在错误页面中才可以使用,并在页面指令元素里存在isErrorPage=true的页面。
以上是关于JSP九大内置对象考前详细总结的主要内容,如果未能解决你的问题,请参考以下文章