四大域对象
1.概念
称为实体类实例,对应数据库字段。域:翻译英文未field,即我们常用的字段或属性。作用是用于保存数据,获取数据,可以在不同的动态资源之间共享数据。
2.包含的对象
(1)Session域
A: 产生: 第一次调用 request.getSession()时产生
B:作用: 存储访问该程序的一个用户的信息
C: 生命周期: 第一次调用request.getSession()方法时,服务器会检查是否已经有对应的session,如果没有就在内存中创建一个session并返回。当一段时间内session没有被使用(默认为30分钟),则服务器会销毁该session。如果服务器非正常关闭,没有到期的session也会跟着销毁。如果调用session提供的invalidate(),可以立即销毁session
D: 作用范围: 一次会话(服务器与浏览器的一次会话过程,这个过程是连续的,也可以时断时续的),本人认为:在session没有过期时,只要程序不关闭,就存在(服务器正常关闭,再启动,Session对象会进行钝化和活化操作。同时如果服务器钝化的时间在session 默认销毁时间之内,则活化后session还是存在的,否则Session不存在);同一个用户(区别ServletContent)
(2)Request域
A: 产生: 在service 方法调用前由服务器创建,传入service方法。整个请求结束,request生命结束
B:作用: 在整个请求过程中共享数据,如servlet处理的结果可以放到request中传到jsp
C: 生命周期: 整个请求过程,请求结束,request生命消失
D: 作用范围::整个请求过程
(3)ServletContent域
A: 产生: 服务器启动时产生
B: 作用: 在所有请求该程序的用户之间共享数据
C: 生命周期: 服务器开始,其就存在,服务器关闭,其才释放
D: 作用范围: 是一个全局的储存信息的空间,所有的用户都可访问共享一个,即整个WEB应用
(4)PageContent域
A: 产生: 当对JSP的请求时
B: 作用: 访问JSP之间的共享数据
C: 生命周期: 当对JSP的请求开始,当相应结束时销毁
D: 作用范围: 当前整个JSP页面,是四大作用域中最小的一个
【总结】
- ServletContext:servletContext,所有用户共用一个。所以,为了节省空间,提高效率,ServletContext中,要放必须的、重要的、所有用户需要共享的线程又是安全的一些信息
- request:一个用户可有多
- session:一个用户一个
- pageContent:当前jsp页面
- 这四个都是JSP对象,但是前三个(session,request,servletContent也是servlet域对象)
九大内置对象
1.概念
是在jsp页面中无需创建就可以直接使用的变量
2.包含的对象
1、request 请求 2、response 响应 3、session* 会话 4、out 输出 5、page 当前JSP页面对象 6、application 应用 7、exception* 异常,只能在指定了isErrorPage="true" 8、pageContext 当前页,作用域 9、config 配置