servlet中默认有九大内置对象(帮我们创建好了,不用再new了,直接用!),分别:
- request:HttpServletRequest/HttpServletResponse对象
- response:HttpServletResponse/ServletResponse对象
- session:HttpSession
- application:ServletContext
- out:PrintWriter
- page:this
- config:ServletConfig
- exception:Throwable
- pageContext:PageContext
1、ServletContext:(
1)作用域:整个Web应用程序;
2)特点:设置在对象中的属性可被Web应用程序中任何一部分访问--全局;
3)安全性:线程不安全
4)获取ServletContext的三种方式:
- this.getServletContext();
- this.getServletConfig().getServletContext();
- request.getSession().getServletContext();
2、Session:
1)作用域;一个交互过程--当浏览器、服务器关闭时会话即结束;
2)作用:Session维护与客户端的会话状态,对通过客户端的多请求,Session会跨请求持久存储;
3)安全性:线程不安全。
3、request:
1)作用域:一次请求过程(转发可获取请求中的信息)
2)作用:节约系统资源,属性可保存在请求域范围内。
3)存储时间:比上下文、会话作用域短,请求结束时,便被gc回收。
4)安全性:线程安全
4、pageContext
1)生命周期:当对JSP的请求时开始,当响应结束时销毁。
2)作用范围:整个JSP页面,是四大作用域中最小的一个。
3) 作用:
-
- 获取其它八大隐式内置对象,可以认为是一个入口对象。
- 获取其所有域中的数据
注:findAttribute方法,在四大域中搜寻属性,
搜寻的顺序是从小到大的即page域、request域、session域、application域,如果所有域中都找不到,返回一个null