1、request
request是一个请求,只要发送一个请求就会创建一个request对象,这个对象只在一次请求中有效。
一般用于不同页面之间的同一请求,比如表单的传值,a链接的传值跳转等。
request对象常用的方法有:request.setAttribute(),request.getAttribute(),request.removeAttribute(),request.getParameter()等。
2、session
session是一次会话,服务器会为每一个会话创建一个session对象,session中的数据可以被本次会话中的所有servlet访问,会话是从浏览器打开开始,到关闭浏览器结束。
session常用于登录验证,登录成功后浏览器会为其分配一个session键值对,之后的访问权限判断键值对就可以了。
session对象常用的方法有session.setAttribute(),session.getAttribute(),session.removeAttribute().
session对象的创建,在servlet中使用HttpSession session = request.getSession();的方法来创建,因为session是JSP的内置对象,所以在jsp页面中可以通过<%session.setAttribute(“name”,”name”)%>的方式使用session.
session对象的销毁,可以通过设置他的有效时间从而达到销毁的目的,session.setMaxInactiveInterval(10);还可以直接注销掉session.invalidate().
用户第一次访问服务器的时候服务器会自动为其分配一个sessionid,用户将该sessionid存放在本地,下次使用的时候就不会再次创建了。
这里写图片描述
3、application
application是应用程序作用域,是从程序开始运行到运行结束停止。
保存在application作用域中的值,只要程序没有停止运行,都可以获取。
此作用域一般不使用。
注意:如果能使用request作用域就使用request作用域,如果request作用域使用不了,则使用session作用域。会话级别的数据用session作用域,比如说登录信息,银行账户,如果数据是系统级别的,那么使用application作用域。