2020-09-20 第03章:JSP进阶


掌握JSP的9个内置对象

JSP内置对象

内置对象,可以拿来直接使用。
Tomcat替我们实例化好了。

JSP容器在_jspService()方法中声明并初始化9个内置对象

输入输出:out,request,response。
作用域:pageContext,exception,application。
其他:剩余三个

在这里插入图片描述

在这里插入图片描述

1. out

类型:Javax.servlet.jsp.JspWriter
作用:主要用来向客户端输出数据
作用域:page。也就是说,每个页面都有一个自己的out对象
重要方法:print()/println()/write()向客户端页面输出数据

2. requset

类型:Javax.servlet.http.HttpServletRequest
描述:来自客户端的请求经Servlet容器处理后,由request对象进行封装。 注:客户端和服务器的一次通信就是一次请求(发送请求或得到相应)
作用域:request。说明,这次请求结束后,它的生命周期就结束了
重要方法:

getParameter(key) 获取提交表单的数据 
getParameterValues(key) 获取提交表单的一组数据
getRequestDispatcher(“list.jsp”).forward(request,response) 转发请求到list.jsp页面
setAttribute(key,Object) 设置请求作用域的key对应的值
getAttribute(key) 获取请求作用域key所对应的值
setCharacterEncoding(“UTF-8”)对请求数据指定编码
3. response

类型:Javax.servlet.http. HttpServletResponse
描述:它封装了JSP 的响应,然后被发送到客户端以响应客户的请求。
作用域:page
重要方法:

sendRedirect(“list.jsp”) 页面跳转
setCharacterEncoding(“UTF-8) 设置响应编码
4. session

为解决http无状态的技术,例如买东西知道谁是谁
类型:Javax.servlet.http.HttpSession
描述:表示一个会话,用来保存用户信息,以便跟踪每个用户的状态。(不要用来保存业务数据,request)
定义:是指在一段时间内客户端和服务器之间的一连串的相关的交互过程
作用域:session

默认时长半小时,用于存放客户信息。

重要方法:
getId() 获取session的id号
Isnew() 判断session是新建的
setAttribute(key,Object) 向当前会话设置一个值
getAttribute(key) 获取当前会话中key所对应的值
removeAttribute(key) 删除当前会话key所对应的值
setMaxInactiveInterval(1000*60) 设置session失效时间,Tomcat默认时长为30分钟
Invalidate() 销毁当前会话,一般用于删除当前会话中所有数据,清除用户的所有数据
5. application

类型:javax.servlet.ServletContext
描述:从servlet配置对象获得的servlet上下文
作用域:application
重要方法:
setAttribute(key,Object) 向当前application设置一个值
getAttribute(key) 获取当前application中key所对应的值
removeAttribute(key) 删除当前application中key所对应的值

6. pageContext

类型:javax.servlet.jsp.PageContext
描述:本JSP的页面上下文
作用域:page
默认当前页面有效

7. config

类型:javax.servlet.ServletConfig
描述:本JSP的ServletConfig
作用域:page

8. page

相当于页面对象自身,一般不用

类型:java.lang.Object
描述:实现处理本页当前请求的类的实例(javax.servlet.jsp.HttpJspPage),转换后的Servlet类本身
作用域:page

有限范围只是本页面,参数三是作用域,,一般不用,默认当前页
pageContext.setAttribute(“num”, 100,pageContext.REQUEST_[]);

9. exception

仅在页面标识为错误时候(isErrorPage=“true”)才使用。

类型:java.lang.Exception
描述:本JSP页面的异常对象
作用域:page

仅能在出现错误后跳转的处理页面,目的是获取错误的异常。
<%= exception.geyMessage() %> 获取错误信息

掌握JSP四个作用域

JSP作用域

JSP页面中的对象,包括用户创建的和JSP内置对象都有一个范围属性
JSP中共有4种作用域范围
在这里插入图片描述
作用域的范围从上到下,越来越小。

Application作用域

Application作用域范围最大等,大到系统随意位置都可以使用。
可以被不同页面、不同用户共享,
可以通过application内置对象或ServletContext访问Application作用域对象
对应于servlet的servletContexrt(全局上下文)。

可以通过remove取消掉设置的信息。

Session作用域

Session作用域范围仅次于Application作用域
可以被同一个客户端的请求访问
可以通过session内置对象访问Session作用域对象

Request作用域

在这里的request是一个对象,不再是之前的request’方法;

Request作用域范围小于Session作用域
可以被forward()方法转向页面或者include()包含页面访问
可以通过request内置对象访问request作用域对象

Page作用域

Page作用域范围最小
只能被创建对象的页面访问
可以通过pageContext内置对象访问Page作用域对象

page是作用域,pageContext 才是对象。

©️2020 CSDN 皮肤主题: 技术黑板 设计师:CSDN官方博客 返回首页