JSP九大内置对象

JSP九大内置对象

JSP有九个内置对象(又叫隐含对象),不需要预先声明就可以在脚本代码和表达式中随意使用

JSP九大内置对象分为四类:

输入输出对象:out对象、response对象、request对象
通信控制对象:pageContext对象、session对象、application对象 Servlet对象:page对象、config对象
错误处理对象:exception对象

九种对象简介:

out对象:用于向客户端、浏览器输出数据。
request对象:封装了来自客户端、浏览器的各种信息。
response对象:封装了服务器的响应信息。
exception对象:封装了jsp程序执行过程中发生的异常和错误信息。
config对象:封装了应用程序的配置信息。
page对象:指向了当前jsp程序本身。
session对象:用来保存会话信息。也就是说,可以实现在同一用户的不同请求之间共享数
application对象:代表了当前应用程序的上下文。可以在不同的用户之间共享信息。
pageContext对象:提供了对jsp页面所有对象以及命名空间的访问。


一.out对象

out对象是JspWriter类的实例,也是一个输出流,用来向浏览器输出信息,除了输出各种信息外还负责对缓冲区进行管理。

方法

print或println => 输出数据


newLine => 输出换行字符


void flush() => 输出缓冲区数据,清空流


void close() => 关闭输出流


void clear() => 清除缓冲区中数据,但不输出到客户端


void clearBuffer() => 清除缓冲区中数据,输出到客户端


int getBufferSize() => 获得缓冲区大小


int getRemaining() => 获得缓冲区中没有被占用的空间


boolean isAutoFlush() => 是否为自动输出,返回缓冲区满时,是自动清空还是抛出异常


二.request对象

客户端的请求信息被封装在request对象中。
request对象封装了从客户端到服务器发出的请求信息。它是HttpServletRequest类的实例.

方法

isUserInRole => 判断认证后的用户是否属于某一成员组


object getAttribute(String name) => 获取指定属性的值,如该属性值不存在返回Null


Enumeration getAttributeNames() => 获取所有属性名的集合


getCookies => 获取所有Cookie对象


String getCharacterEncoding() => 获取请求的字符编码方式


int getContentLength() => 返回请求正文的长度,如不确定返回-1


String getContentType() => 得到请求体的MIME类型


getHeader => 获取指定名字报头值


getHeaders => 获取指定名字报头的所有值,一个枚举


getHeaderNames => 获取所有报头的名字,一个枚举


ServletInputStream getInputStream() => 返回请求输入流,获取请求中的数据


getMethod => 获取客户端向服务器端传送数据的方法


String getParameter(String name) => 获取指定名字参数值


Enumeration getParameterNames()=> 获取所有参数的名字,一个枚举


String[] getparameterValues(String name) => 获取指定名字参数的所有值


String getProtocol() => 获取客户端向服务器端传送数据的协议名称


getQueryString => 获取以get方法向服务器传送的查询字符串


getRequestURI => 获取发出请求字符串的客户端地址


getRemoteAddr => 获取客户端的IP地址


getRemoteHost => 获取客户端的名字


getSession => 获取和请求相关的会话


String getServerName() => 获取服务器的名字


getServerPath => 获取客户端请求文件的路径


int getServerPort() => 获取服务器的端口号


removeAttribute => 删除请求中的一个属性


void setAttribute(String key Object obj) => 设置指定名字参数值


void setCharacterEncoding(“gb2312”) => 设置接受参数的字符集


三.response对象

response对象主要用于对客户端的请求进行回应。
以及处理http的连接信息,例如设置http文件头,设置cookie对象等。

方法

addCookie => 添加一个Cookie对象


addHeader => 添加Http文件指定名字头信息


containsHeader => 判断指定名字Http文件头信息是否存在


encodeURL => 使用sessionid封装URL


flushBuffer => 强制把当前缓冲区内容发送到客户端


getBufferSize => 返回缓冲区大小


ServletOutputStream getOutputStream() => 返回到客户端的输出流对象


sendError => 向客户端发送错误信息


sendRedirect(java.lang.String location) => 重定向客户端的请求到另一个位置进行处理


void setContentType(String type) => 设置响应的MIME类型


setHeader => 设置指定名字的Http文件头信息


String getCharacterEncoding() => 返回响应用的是何种字符编码


void setCharacterEncoding(“gb2312”) => 设置响应头的字符集


四.session对象

session对象:是一个jsp内置对象,它在第一个jsp被装载时自动创建,完成会话期管理。从一个客户打开浏览器并连接到服务器开始,到客户关闭浏览器离 开这个服务器结束(或者超时),被称为一个会话。当一个客户访问一个服务器时,可能会在这个服务器的几个页面之间切换,服务器应当通过某种办法知道这是一个客户,就需要创建session对象。

http是无状态的连接协议,需要使用session来存放用户每次的登陆信息

方法

getAttribute => 获取指定名字的属性


String[] getValueNames() => 获取session中全部属性名字,一个枚举


getCreationTime => 返回session的创建时间


getId => 获取会话标识符


getLastAccessedTime => 返回最后发送请求的时间


getMaxInactiveInterval => 返回session对象的生存时间单位千分之一秒


invalidate => 销毁session对象


isNew => 每个请求是否会产生新的session对象


removeAttribute => 删除指定名字的属性


void setAttribute(String key,Object obj) => 设定指定名字的属性值


五.application对象

application对象代表当前的应用程序。存在于服务器的内存空间中。
应用一旦启动便会自动生成一个application对象。如果应用没有被关闭,
此application对象便一直会存在。直到应用被关闭
application的生命周期比session更长。
应用:
为多个用户共享全局信息。比如当前的在线人数等。

方法

Object getAttribute(String name) => 获取应用对象中指定名字的属性值


Enumeration getAttributeNames() => 获取应用对象中所有属性的名字,一个枚举


getInitParameter => 返回应用对象中指定名字的初始参数值


getServletInfo => 返回Servlet编译器中当前版本信息


void setAttribute(String name,Object obj) => 设置应用对象中指定名字的属性值


RequestDispatcher getRequestDispatcher(String uripath) => 返回指定资源的RequestDispatcher对象


六.config对象

config对象表示当前jsp程序的配置信息
一般项目中,jsp被用作模版技术,也就是位于表示层
而位于表示层的jsp文件一般是不需要配置信息的
所以此对象在jsp程序中其实很少使用
config对象是servletConfig类的一个实例。

方法

getServletContext => 返回所执行的Servlet的环境对象


getServletName => 返回所执行的Servlet的名字


getInitParameter => 返回指定名字的初始参数值


getInitParameterNames => 返回该JSP中所有的初始参数名,一个枚举


七.page对象

page对象有点类似与java编程中的this指针,他指向了当前jsp页面本身。
page对象是java.lang.object类的一个实例

方法

String toString() => 将当前项目的信息打印出来


class getClass => 返回当前的object类


int hashCode() => 返回page对象的hashCode值


boolean equals(Object obj) => 用于比较对象是否与当前对象相同


八.exception对象

exception对象表示jsp引擎在执行代码时抛出的异常
如果想要使用exception对象,那么需要配置编译指令的isErrorPage属性为true

即在页面指令中设置:<%@page isErrorPage=“true”%>


String getMessage() => 返回描述异常的消息


String toString() =>返回关于异常的简短描述消息


void printStackTrace() => 显示异常及其栈轨迹 Throwable


FillInStackTrace() => 重写异常的执行栈轨迹


九:pageContext对象

pageContetx对象是jsp页面中所有对象功能的最大集成着。
使用他可以访问所有的jsp内置对象。

方法

void forward(String relativeUrlPath) => 重定向到另一页面或Servlet组件


Object getAttribute(String name,int scope) => 获取某范围中指定名字的属性值


public Object findAttribute(String name) => 按范围搜索指定名字的属性或NULL


void removeAttribute(String name) => 删除某属性


void removeAttribute(String name,int scope) => 在指定范围删除某属性


setAttribute => 设定某范围中指定名字的属性值


Exception getException() => 返回当前异常对象


ServletRequest getRequest() => 返回当前请求对象


ServletResponse getResponse() => 返回当前响应对象


getServletConfig => 返回当前页面的ServletConfig对象


getServletContext => 返回所有页面共享的ServletContext对象


HttpSession getSession() => 返回当前页面的会话对象


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值