Jsp九大内置对象
请求对象:request
输出对象:out
响应对象:response
应用程序对象:application
会话对象:session
页面上下文对象:pageContext
页面对象:page
配置对象:config
异常对象:exception
四个域对象
pageContext:只在当前页面有效, - 存放的值只能在当前页面使用
Request:一次请求有效,使用同一个request,请求级别的域
Session:会话级别,从打开浏览器的那一刻开始,一直到关闭浏览器,之间这段时间称之为一次会话
ServletContext(Application):应用级别,项目级别
域对象就是一个容器,主要是用来存储数据并且数据传递
PageContext
page域指的是pageContext,表示JSP页面,是四大作用域中最小的一个。存储的值只在当前页面有效
Request
request域指Request,一次请求来到服务器,服务器创建,服务器这次请求响应结束后销毁request,request里面的数据只有当前的一个请求域内,也就是请求转发前后的servlet可以共享。
Session
session域指的是session
在第一次调用request.getSession()方法时,服务器会检查是否已经有对应的session,如果没有就在内存中创建一个session并返回。
当一段时间内session没有被使用(默认为30分钟),则服务器会销毁该session。其作用域是一次会话
ServletContext
application域指的是ServletContext
ServletContext对象是作用返回最大的域对象,并且整个工程只有一个该对象 ,ServletContext是一个全局的储存信息的空间,服务器开始就存在,服务器关闭才释放。
只要是域对象都有一些共同的方法:
request.setAttribute(String key, Object value);
request.getAttribute(key);
request.removeAttribute(key);
在域对象存值
HttpServletRequest对象还可以当作一个容器来使用。Request对象主要是用来封装用户的请求。并且使用Request对象可以给请求中继续添加其他的数据,如果把Request对象当作容器来使用,那么我们就可以继续给客户端本次请求的数据中继续添加其他的数据,使用转发技术,转到其他的程序中,然后在使用Request对象的时候,把存放在对象中的数据取出来。
setAttribute(String name, Object o) 向request域中存放一个映射关系,key为String类型,value为Object 类型
getAttribute(String name) 通过映射关系的key,获取对应的值