request
request表示一个请求。
生命周期:request的生命周期是针对客户端的一次请求,当请求完毕,request里边的内容也将被清空。
存取值:
存值:request.setAttribute(“名字”, 要存的值);
取值:request.getParameter(“名字”);
或者用EL表达式: ${名字}
session
session表示一个会话。(从客户端浏览器连接服务器开始,到客户端浏览器与服务器断开,这个过程就是一个会话)
生命周期:session的生命周期是设置的会话周期(一般20~30分钟),在会话周期内,session中的内容会一直存在,即使关闭了浏览器,session也不一定会被立马清空。
存取值:
声明:HttpSession session = request.getSession();
存值:session.setAttribute(“名字”, 要存的值);
取值:session.getAttribute(“名字”)
或者用EL表达式 ${sessionScope.所存值的对象 }
比较
request占用资源比较少,安全性也比较高,可是相对来说缺乏持续性。(每按一个网页上的一个链接就是一个新的request,当服务器返回给浏览器一个response时,request就结束了,此时保存在request中的对象就不存在了,)
session则相对来说对资源的消耗会大点,安全性相对来说也会稍微低点。(session相当于是一个客户端的全局变量)