一,九大内置对象
JSP内置对象,就是在编写JSP页面时,不需要做任何声明就可以直接使用的对象。
九大内置对象分别是:request、response、session、application、out、pageContext、config、page和exception
1.request对象
equest 对象是 javax.servlet.httpServletRequest类型的对象,是最常用的JSP内置对象之一。 该对象代表了客户端的请求信息,主要用于接受通过HTTP协议传送到服务器的数据。(包括头信息、系统信息、请求方式以及请求参数等) 。request对象的作用域为一次请求 。
request对象的常用方法
方法名称 | 说明 |
String getParamenter(String name) | 根据页面表单组件名称获取页面提交数据 |
String[ ] getParamenterValues(String name) | 获取一组以相同名称命名的表单组件提交的数据 |
void setCharacterEncoding(String charset) | 指定每个请求的编码,在调用request.getParameter()方法之前进行设定,可以解决中文乱码问题 |
RequestDispatcher getRequestDispatcher(String path) | 返回一个javax.servlet.RequestDispatcher对象,该对象的forword()方法用于转发请求 |
2.response对象
response 代表的是对客户端的响应,主要是将JSP容器处理过的对象传回到客户端。response对象也具有作用域,它只在JSP页面内有效。
response对象常用的方法
方法名称 | 说明 |
---|---|
void addCookie(Cookie cookie) | 向客户端添加Cookie |
void setContentType(String type) | 设置HTTP响应的contentType类型 |
void setCharacterEncoding(String charset) | 设置响应所采用的字符编码类型 |
void sendRedirect(String location) | 将请求重新定位到一个新的URL上(重定向) |
3.session对象
session 对象是由服务器自动创建的与用户请求相关的对象。服务器为每个用户都生成一个session对象,用于保存该用户的信息,跟踪用户的操作状态。session对象内部使用Map类来保存数据,因此保存数据的格式为 “Key/value”。 session对象的value可以使复杂的对象类型,而不仅仅局限于字符串类型。
session对象常用的方法
方法名称 | 说明 |
---|---|
String getId() | 获取sessionid |
void setMaxInactiveInterval(int interval) | 设置session过期时间,单位为秒 |
int getMaxInactiveInterval() | 获取session过期时间,单位为秒 |
void invalidate() | 设置session对象失效 |
void setAttribute(String key,Object value) | 以key/value的形式将对象保存到session中 |
Object getAttribute(String key) | 通过key获取session中保存的对象 |
void removeAttribute(String key) | 从session中删除指定key对应的对象 |
4.application对象
out 对象用于在Web浏览器内输出信息,并且管理应用服务器上的输出缓冲区。在使用 out 对象输出数据时,可以对数据缓冲区进行操作,及时清除缓冲区中的残余数据,为其他的输出让出缓冲空间。待数据输出完毕后,要及时关闭输出流
applicatione对象常用的方法
方法名称 | 说明 |
---|---|
void setAttribute(String key,Object value) | 以key/value的形式将对象存储到application中 |
Object getAttribute(String key) | 通过key获取application中存储的对象 |
String getRealPath(String path) | 返回相对路径的真实路径 |
5.out对象
用于向客户端输出数据
6.pageContext对象
主要用于处理客户端请求的数据信息
7.config对象
用于响应客户端请求并向客户端输出信息
8.page对象
用于记录会话状态的相关信息
9.exception对象
类似于全局变量,用于实现web应用中的资源共享
二,四大作用域
在JSP中,提供了四种作用域,分别是page作用域、request作用域、session作用域和application作用域 。
1.page作用域
作用 范围 | 单一JSP页面的范围,page作用域内的对象只能在创建该对象的页面中访问 。 |
访问 方法 | 使用pageContext对象的setAttribute()和getAttribute() |
失效 | 在客户端每次请求jsp页面时创建,在服务器发送响应或请求转发到其他页面或资源后失效。 |
2.request作用域
作用 范围 | 一次请求,与客户端的请求绑定在一起,其作用域范围比page大 。request作用域在页面转发中同样有效,通过调用RequestDispatcher的forward()方法进行转发,或调用其include()方法将页面包含,都可以共享request作用域。 |
访问 方法 | request对象的setAttribute()和getAttribute() |
失效 | 每次新请求都会创建一个新的request作用域,请求结束时该作用域失效。 |
3.session作用域
作用 范围 | 一次会话,即浏览器打开到关闭。在会话有效期内,只要将数据绑定到session作用域中,则该数据可以被本次会话中的其他页面所访问。 |
访问 方法 | session.setAttribute() 和session.getAttribute() |
4.application作用域
作用 范围 | 整个web应用,即从tomcat启动到停止,被该应用下的所有用户共享 |
访问 方法 | application.setAttribute() 和application.getAttribute() |