JSP内置对象

jsp中采用java语言作为脚本编程语言,为了简化java使用对象之前都要先将对象实例化的情况,jsp提供了一些内置对象,这些内置对象都是系统容器实现和管理的,在jsp中使用不需要定义,可以直接使用。

在jsp中一共预定义了request、response、application、session、out、pageContext、config、page和exception 共9种内置对象。

1.request对象

request对象是javax.servlet.http.HttpServletRequest类型的对象,该对象是客户端的请求信息,主要用于 接收通过http协议传送到服务器端的数据(请求参数、请求方式、表单数据信息等),其作用域为一次请求。主要用于以下方面:

1)获取form表单的信息

可以使用request对象获取从表单中提交的数据。对于文本元素、单选按钮、下拉列表框可以使用 getParameter()方法获得具体的值,对于复选框以及多选列表被选定的内容使用 getParameterValues()方法获取,该方法返回一个字符串数组,通过遍历这个数组就可以得到所有的选定内容。、

2)request对象提供了获取客户端信息的方法

StringBuffer getRequestURL():返回客户端请求地址
String getRequestURI()返回URI,不包括请求的参数
String    getHeader(String name) 返回指定名称的HTTP投信息,例如:request.getHeader("user-agent")获取http头中user-agent的值
String getMethod()获取客户端向服务器端发送请求的方法
String getContextPath()  返回请求路径
String getProtocol()  返回请求使用的协议
String getRemoteAddr() 返回客户端IP地址
String getRemoteHost()返回客户端主机名称
int getRemotePort()  返回客户端发送请求的端口号
String getServletPath() 返回教授客户提交信息的页面

3)在作用域中管理属性

通过 setAttribute(String name ,Object obj)、getAttribute(String name)和removeAttribute(string name)来管理作用域中的属性,作用域中的对象为一次请求,超出作用域后属性列表中的属性就会失效。

4)其他

通过getCookies()方法获得所有的cookie集合,进行相应的cookie管理。
通过getLocale()获得客户端浏览器的语言类型。

2.response对象

response对 象表示对客户端的响应,主要是将jsp容器处理过得对象传回到客户端,response的作用域只在jsp页面内有效。
response对象用途如下:
重定向页面:response.sendRedirect(”url“),客户端可以看到浏览器地址栏中跳转后的地址。
处理http文件头:response.setHeader(”refresh“,"1");设置网页每一秒刷新一次。
response.setHeader("refresh","3,;URL=XXX.jsp")设置3秒后自动跳转到指定的页面。
response.setContentType("text/html")设置响应类型。
response.setBufferSize(int value):设置缓冲区大小。
response.addCookie(Cookie cookie):向客户端添加一个cookie对象。

3.application对象

application对象的生命周期直到服务器关闭。application可以用来访问配置文件的中的初始化参数,例如:tomcat的web.xml文件中配置数据库连接所需要的参数,可以通过getInitParameter(String name)返回参数的值。
同时,application中可以设置属性。有getAttributeNames()、setAttribute(string name, object value)、getAttribute(String name)和removeAttribute(string name)等方法来操作属性。

4.session对象

session对象是由服务器自动创建的与用户请求相关的对象。服务器为每一个用户都生成一个session对象,用来保存用户的信息, 跟踪该用户的操作状态。session对象内部使用map来保存数据,保存数据的格式为key/value。
session对象提供创建和获得session对象相关的方法有:setAttribute(String key,Object value)、getAttribute(String key)、long getCreationTime()、String getId()。
使用removeAttribute(String key)来移除指定的对象。
session.invalidate():销毁session对象。
session对象还提供了会话时间的管理方法:
long getLastAccessedTime():获得session对象最后一次被操作的时间。
int getMaxInactiveInterval():以秒为单位返回一个会话内两个请求的最大时间间隔。
setMaxInactiveInterval(int interval):设置以秒为单位的session有效时间。
boolean isNew():判断session对象是否为新创建的对象 。

5.out对象

out对象用于为客户端的web浏览器输出数据,并且管理应用服务器的输出缓冲区 。
out.print(“string....") 或println()用来输出信息,前者不输出回车,后者换行。
clear():清除缓冲区中尚存的内容。如果缓冲区内容已经提交,会出现IOException异常。
clearBuffer():清除当前缓冲区尚存的内容。
flush():刷新流。
boolean isAutoFlush():检测当前缓冲区是否自动清空,还是满了就抛出异常。
int getBufferSize():得到缓冲区的大小。

6.pageContext对象

该对象 可以获得任何范围的参数,它可以获得jsp页面的out、response、request、session、application等对象。
void forward(string path) :将jsp页面重定向到另一个页面。
Object getAttribute(String name):获取参数值。
ServletRequest getRequest():获取request对象。
ServletResponse getResponse():获取response对象。
JspWriter getOut():获取out对象。
HttpSession getSession():获取session对象。
Object getPage():获取page对象。
void setAttribute(String name,Object value):设置指定参数属性。

7.config对象

该对象主要用来获取服务器的配置信息,例如通过web.xml文件。常用的方法有:
String getInitParameter(string name):返回服务器指定参数的初始值。
ServletContext getServletContext():获取Servlet上下文。
String getServletName() :获取servlet服务器名。

8.page对象

该对象代表jsp页面本身,只有在jsp页面内才是合法的。

9.exception对象

exception对象用来处理jsp中的异常信息,只用在指令标签中指定了isErrorPage的属性为true才能被使用,即<%@page isErrorPage="true" %>。
如果在jsp中出现异常,就会生成exception对象,并把exception对象从传送到page指令errorPage指定的错误页面中,然后再指定的错误页面处理相应的exception对象。
exception对象有以下常用方法:
getMessage():返回exception对象的异常信息字符串。
getLocalizemessage():返回本地化的异常信息。
toString():返回关于异常错误的简单信息描述。
fillInStackTrace():重写异常错误的栈执行轨迹。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值