在 JavaWeb 中,Servlet 中三大域对象分别是 request,session,application,其只要是用来存放共享数据的。
request: HttpServletRequest
session: HttpSession
application: ServletContext
1 request 作用域
request是表示一个请求,只要发出一个请求就会创建一个request,它的作用域:仅在当前请求中有效。
用处:常用于服务器间同一请求不同页面之间的参数传递,常应用于表单的控件值传递。
常见方法:
request.setAttribute();
request.getAttribute();
request.removeAttribute();
request.getParameter().
2 session 作用域
服务器会为每个会话创建一个session对象,所以session中的数据可供当前会话中所有servlet共享。
用处:常用于web开发中的登陆验证界面(当用户登录成功后浏览器分配其一个session键值对)。
常见方法:
session.setAttribute();
session.getAttribute();
session.removeAttribute();
3 application 作用域
Tomcat从启动到关闭,web项目中有且仅有一个application对象,作用于整个Web应用,可以实现多个会话之间的数据共享
用处:所有的用户都可以取得此信息,此信息在整个服务器上被保留。Application属性范围值,只要设置一次,则所有的网页窗口都可以取得数据
三个作用域的区别
request:每一次请求都是一个新的 request 对象,如果在 web 组件之间需要共享同一个请求中的数据,只能使用请求转发。
session:每一次会话都是一个新的 session 对象,如果如果需要在一次会话中的多个请求之间需要共享数据,只能使用session。
application:应用对象,Tomcat启动到关闭,表示一个应用,在一个应用中有且只有一个application 对象,作用于整个 Web 应用,可以实现多次会话之间的数据共享。