JSP内置对象

JSP内置对象是为了简化JSP页面开发而建立的一些内部对象。这些对象不需要声明,可以在程序中直接使用。它们是JSP语言的精髓,掌握常见内建对象的使用技巧是进行JavaWeb开发必不可少的。正确地掌握和灵活地使用JSP内置对象是学习JSP开发的重中之重。本章就来为大家讲解九大内置对象

内置对象主要方法

前五种方法最常用

内置对象主要作用
request包含客户端请求信息
response页面传回给用户端的相应信息
out用来向客户端浏览器输出信息的数据流
session为发送请求的客户建立会话
application保存整个应用程序的共享信息
pageContext保存当前JSP页面的共享信息
config读取初始化参数
page代表JSP网页本身
exception获取运行时的异常

request内置对象

request对象用来接收客户端提交的各种信息。如果要与用户的互动,必须要知道用户的需求,然后根据这个需求生成用户期望看到的结果。这样才能实现与用户的互动。在Web应用中,用户的需求就抽象成一个request对象,这个对象中间包括用户所有的请求数据,例如通过表单提交的表单数据等方式传递的参数,这些就是用户的需求。

主要方法
方法方法描述
getParameter(Sting name)获取客户端传给服务器的参数值,name指定表单中参数的名字
getParameterNames()获取客户端传给服务器的所有参数的名字,返回的结果是一个枚举实例
getParameterValues(Sting name)获得某一个参数的所有的值,name指定参数名字
getAttribute(Sting name)获得request对象中某一个属性的值,name为属性名,如果该属性不存在,则返回null
setAttribute(Sting 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对象是服务器端向客户端返回的数据,从这个对象中间可以取出一部分与服务器互动的数据和信息。

主要方法
方法方法描述
addCookie(Cookie cookie)添加一个Cookie对象,用来保存客户端信息
addHeader(Sting name, String value)添加HTTP文件头信息,如果已有同名的Header,则覆盖它
containHeader(String name)判断名字为name的HTTP文件头是否已存在
flushBuffer()强制将当前缓冲区的内容发送到客户端
getBufferSize()返回缓冲区的大小
getOutputStream()获取到客户端的输出流对象
sendError(int)向客户端发送错误信息
sendRedirect(String location)发响应发送到另一个位置去处理
setContentType(Sting contentType)设置响应的MIME类型
setHeader(String name, String value)设置名字为name的HTTP文件头的值,新设置的值可以覆盖旧值
forward和sendRedirect的区别
<jsp:forward>sendRedirect
jsp引擎控制,url不会变完全跳转
url必须是相对路径合法的url就行
转向页面和到达页面需要在同一个app中只要合法,随便跳转
动态设置页面返回的MIME类型

在JSP中可以使用page编译指令来设置页面的MIME(Multipurpose Internet Mail Extensions多功能Internet邮件扩充服务,即文件的类型)返回类型,但是在这里设置是页面的编译阶段,以电脑设置完成,在运行阶段是不可更改的。而使用response对象中的setContentType(String type)方法可以来动态设置页面的返回类型。

out内置对象

out内置对象是在Web应用开发过程中使用最多的一个对象,其功能就是动态的向JSP页面输出字符流,从而把动态的内容转化成HTML形式来展示。这个对象在任何JSP页面中都可以任意访问。out对象的方法主要用于输出各种各样格式的数据

主要方法
方法方法描述
clear()清除缓冲区的数据,不向用户输出
clearBuffer()清除缓冲区的数据,同时把这些数据向用户输出
close()关闭out输出流
flush()输出缓冲区的内容
isAutoFlush()判断是否为自动刷新
print(String str)输出带HTML格式的各种类型的数据,下一个输出语句不换行
println(String str)输出带HTML格式的各种类型的数据,下一个输出语句换行

在out对象方法中,最常用的就是print()和println()方法。我们可以运用这两种方法实现各种类型数据的输出。

session内置对象

session对象用来保存每个用户的信息。例如:用户名、密码、上次访问时间等,从而可以跟踪每个用户的操作状态。一般情况下,当用户首次登录系统时,Web容器就会给该用户创建一个唯一用来标识该用户会话的session id。为了跟踪用户的操作状态,在多个页面之间保存共享信息,JSP中提供了session对象。当该用户退出系统时,这个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相关的客户端最后发送请求的时间
获取session的ID

session对象的ID是用来唯一识别session的标识。该ID由一个32位的十六进制字符串组成,可以保证服务器中所创建的所有session对象都不相同。

session中保存和读取共享数据

与request对象一样,session对象也有一对setAttribute()和getAttribute()方法,用来存储或者读取session中的共享信息。而两种对象的两个方法的区别在于共享信息的范围不同,session对象中保存的共享信息的范围是整个会话过程,而request对象中保存共享信息的范围则是提交和被提交的页面。

session对象的生命周期

session对象的创建是由服务器完成的,当客户端第一次请求服务器时由服务器创建。如果会话过程一直存在,则session对象也将一直存在下去。只有当session过期、客户端关闭浏览器或者服务器端调用了session的invalIDate()方法时session对象才被释放掉,结束其生命周期。

application内置对象

application对象保存着整个Web应用运行期间的全局数据和信息。从Web应用开始运行开始,这个对象就会被创建。在整个Web应用运行期间可以在任何JSP页面中访问这个对象。所以如果要保存在整个Web应用运行期间都可以访问的数据,这时候就要用到application对象。

主要方法
方法方法描述
getAttribute(String name)返回application对象中名字为name的属性的值
getAttributeNames()返回application对象中所有属性的名字,结果为一个枚举类型
getInitParameter(String name)返回application对象中名字为name的属性的初始值
getServletInfo()返回Servlet编译器的当前版本的信息
setAttribute(String name,Object object)在application对象中设置一个名字为name的属性,其值为object

application对象最常用的方法回是getAttribute()和set Attribute()方法。

pageContext内置对象

pageContext对象又被称为JSP作用域通信对象。该对象提供了访问其他内置对象的统一入口,使用户可以方便地访问页面作用域中定义的所有内置对象。

主要方法
方法方法描述
getRequest()返回当前页面的request对象
getResponse()返回当前页面的response对象
getServletConfig()返回当前页面的servletConfig对象
getServletContext()返回当前页面的ServletContext对象,这个对象是所有的页面共享的
getSession()返回当前页面的session对象
setAttribute()设置默认页面范围或特定对象范围之中的的对象
removeAttribute()删除默认页面对象或特定对象范围之中的已命名对象

config内置对象

config对象代表当前JSP页面的配置信息。但JSP页面通常无须预先进行配置,也就不存在配置信息了。因此该对象在JSP页面中比较少用,但在Servlet中则用处相对较大,因为Servlet需要在web.xml文件中进行配置,从而设置初始化配置参数。

主要方法
方法方法描述
getInitParameter(String name)返回String类型的初始化参数
getInitParameterNames(String name)返回所有初始化参数的名称
getServletName()获得当前JSP页面名称
getServletContext()获得当前JSP页面的服务器上下文环境

exception内置对象

exception对象用来封装运行时出现的异常信息。该对象只能被处理错误的页面使用,一般用来处理错误的页面会在其页面指令中声明“isErrorPage=true”。

主要方法
方法方法描述
getMessage()返回描述异常的消息
toString()返回关于异常的简短描述消息
printStackTrace()显示异常及其栈中的跟踪信息

page内置对象

page内置对象指向当前JSP页面本身,有点类似于类中的this指针,它表示当前JSP页面转换后生成的Servlet类的实例。

主要方法
方法方法描述
getClass()返回当前Object的类
toString()返回当前Object对象的字符串
hashCode()返回当前Object的哈希代码
equals(Object o)比较当前对象与给定的对象是否相等
copy(Object o)把当前对象赋值到给定的对象中去
clone()对当前对象进行克隆操作
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值