JSP内置对象:不需要做任何声明就可以直接使用的对象。
request、response、session、application、out、pageContext、config、page和exception
1.1 OUT内置对象
out对象是在浏览器输出
例如:out.print("欢迎来到中国,我爱我的祖国");
1..2 request内置对象
request是最常用的JSP内置对象之一,主要是传送到服务器数据。(包括头信息、 系统信息、请求方式以及请求参数等)。request对象的作用域为一次请求。
方法名称 | 说明 |
---|---|
String getParameter(String name) | 根据页面变淡组件名称获取页面提交数据 |
String[] getParameterValues(String name) | 获取一组以相同名称命名的表单组件提交的数据 |
void setCharacterEncoding(String charset) | 指定每个请求的编码,在调用request.getParameter()方法之前进行设定,可以解决中文乱码问题 |
RequestDispatcher getRequestDispatcher(String path) | 返回一个javax.servlet.RequestDispatcher对象,该对象的forword()方法用于转发请求 |
1.3 response对象
response常用方法
方法名称 | 说明 |
---|---|
void addCookie(Cookie cookie) | 向客户端添加Cookie |
void setContentType(String type) | 设置HTTP响应的contentType类型 |
void setCharacterEncoding(String charset) | 设置响应所采用的字符编码类型 |
void sendRedirect(String location) | 将请求重新定位到一个新的URL上(重定向) |
1.4 session内置对象
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对应的对象 |
1.5 application对象
application对象类似于系统的“全局变量”,用于同一个应用内的所有用户之间的数据共享。
常用方法
方法名称 | 说明 |
---|---|
void setAttribute(String key,Object value) | 以key/value的形式将对象存储到application中 |
Object getAttribute(String key) | 通过key获取application中存储的对象 |
String getRealPath(String path) | 返回相对路径的真实路径 |
在网站中统计和显示已访问的在线人数
JSP常用内置对象
内置对象名称 | 说明 |
---|---|
out对象 | 用于向客户端输出数据 |
request对象 | 主要用于处理客户端请求的数据信息 |
response对象 | 用于响应客户端请求并向客户端输出信息 |
session对象 | 用于记录会话状态的相关信息 |
application对象 | 类似于全局变量,用于实现web应用中的资源共享 |
对象的作用域
在JSP中,提供了四种作用域,分别是page作用域、request作用域、session作用域和application作用域
2.1 page作用域
page作用域指单一JSP页面的范围,page作用域内的对象只能在创建该对象的页面中访问。page作用域可以使用pageContext对象的setAttribute()和getAttribute()方法进行访问。page作用域在客户端每次请求jsp页面时创建,在服务器发送响应或请求转发到其他页面或资源后失效。
2.2 request作用域
request作用域:一次请求,与客户端的请求绑定在一起。其作用域范围比page大,可以通过调用request对象的setAttribute()和getAttribute()方法进行访问。request作用域在页面转发中同样有效,通过调用RequestDispatcher的forward()方法进行转发,或调用其include()方法将页面包含,都可以共享request作用域。
每次新请求都会创建一个新的request作用域,请求结束时该作用域失效。
2.3 session作用域
session作用域:一次会话,即浏览器打开到关闭。在会话有效期内,只要将数据绑定到session作用域中,则该数据可以被本次会话中的其他页面所访问。可以通过session.setAttribute() 和session.getAttribute()方法进行访问其作用域。
2.4 application作用域
application作用域:整个web应用,即从tomcat启动到停止,被该应用下的所有用户共享。通过application.setAttribute() 和application.getAttribute()方法进行访问