九大内置对象与四大作用域
1.在jsp中有九个无需声明就可使用的对象
1.1九大内置对象如下所示:
-
HttpServletResponse response;(响应对象) -
HttpServletRequest request;(请求对象) -
final java.lang.Object page = this;(页面对象) -
ServletContext application ;(全局作用域对象) -
javax.servlet.jsp.JspWriter out = null;(输出对象) -
final javax.servlet.ServletConfig config;(配置对象) -
javax.servlet.http.HttpSession session = null;(会话作用域对象) -
final javax.servlet.jsp.PageContext pageContext; ( 页面上下文对象) -
exception (只有在错误页面中可以使用这个对象)
2.常用的内置对象有:
2.1名称及作用
内置对象名称 | 说明 |
---|
out | 用于向客户端输出数据 | request | 主要作用是处理客户请求信息 | response | 主要用于响应客户端发来的请求信息 | session | 用于记录会话状态的相关信息 | appliaction | 类似于全局变量,用于实现整个Web项目中所需要的共享资源 |
2.2常用对象方法:
2.2.1 out内置对象: 用于输出
out.print("我是中国人,我爱中国");
2.2.2 request内置对象:获取页面提交数据
对象说明: request的作用域是一次请求。 request对象的作用域就是在他请求过程中所需要的jsp文件他可以访问request.getAttribute(“里面存储过的值”);,当他响应完毕之后,也就是请求结束之后,就不能在进行共享数据了,
方法名称 | 说明 |
---|
String getParameter(String name) | 获取页面提交的数据 | String[] getParameterValues(String name) | 获取一组命名相同的表单数据 | void setCharacterEncoding(String charset) | 设置字符编码格式(在获取数据之前设置,可避免中文乱码问题) | RequestDispatcher getRequestDispatcher(String path) | 返回一个javax.servlet.RequestDispatcher对象,该对象的forword()方法用于转发请求 |
2.2.3 response对象: 作用实现用户响应
方法名称 | 说明 |
---|
void addCookie(Cookie cookie) | 向用户添加cookie对象 | void setContentType(String type) | 设置响应头编码格式 | void setCharacterEncoding(String charset) | 参数为(“text/html;charset=utf-8”);因为要解析的东西里面既有文字也有HTML命令同是还需要设置一下字符编码格式 | void setCharacterEncoding(String charset) | 设置响应所用到的字符编码格式 | void sendRedirect(String location) | (将一个页面定位一个新的URL上)重定向 |
2.2.4 session 对象:一次会话,也就是说从浏览器打开一直到关闭。
session对象说明: 1)自我理解!!!(理解为:就是在新开辟一块空间,这块空间像全局作用域差不多,但是他的范围只是在服务器存储过的浏览器打开到关闭的过程中生效,而且这个过程还有时间限制)。 2)一个用户对应一个session对象可以用于保存用户的信息内容,在有效期内浏览器没有关闭之前都可以访问该信息 3)session存放的位置为服务器,可以把它想象成他就是服务器的人,当你登陆过后可以通过他来存放登陆过的用户信息 4)session的有效期就是一个浏览器打开到关闭 5)浏览器不同的情况下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获取value的值) | void removeAttribute(String key) | 删除指定key的键值对(key/value) |
2.2.5 appliaction对象:作用域范围:整个项目有效,也就是说他在你这个项目启动到这个项目关闭之前都可以使用里面的共享数据
application对象说明:application对象类似于系统的“全局变量”,用于同一个应用内的所有用户之间的数据共享。
方法名称 | 说明 |
---|
void setAttribute(String key,Object value) | 以key/value的形式将对象存储到application中 | Object getAttribute(String key) | 通过key获取application中存储的对象 | – | – | String getRealPath(String path) | 返回相对路径的真实路径 |
3.其他内置对象(了解即可):
exception (只有在错误页面中可以使用这个对象) final javax.servlet.jsp.PageContext pageContext; ( 页面上下文对象) final java.lang.Object page = this;(页面对象) final javax.servlet.ServletConfig config;(配置对象)
include指令
JSP提供了文件引用指令include。我们可以将一些可以重用的内容写入一个单独的文件中,然后通过include指令引用改文件,缓解代码冗余的问题,并方便代码的修改。
2.四大作用域
2.1 page作用域:
page作用域最大范围就是JSP页面,page是范围最小的一大作用域
2.2 request作用域:
一次请求,其作用域范围比page大 request对象的作用域就是在他请求过程中所需要的jsp文件他可以访问request.getAttribute(“里面存储过的值”);,当他响应完毕之后,也就是请求结束之后,就不能在进行共享数据了,
2.3 session作用域 :
session一个用户对应一个session对象可以用于保存用户的信息内容,在有效期内浏览器没有关闭之前都可以访问该信息 。作用域比request大
session存放的位置为服务器,可以把它想象成他就是服务器的人,当你登陆过后可以通过他来存放登陆过的用户信息 。
session的有效期就是一个浏览器打开到关闭。浏览器不同的情况下session不能共享,但相反如果是同一个浏览器可以共享
2.4 application作用域
application :作用域范围:整个项目有效,也就是说他在你这个项目启动到这个项目关闭之前都可以使用里面的共享数据 。最大作用域
|