您的位置:首页 > 产品设计 > UI/UE

cookie/Session/request范围与周期

2016-09-03 12:03 323 查看
一:cookie的适用范围:

1:保存上次登录时间等信息

2:保存用户名、密码,在一定时间不用

重新登录

3: 记录用户访问网站的喜好(比如有无背景

音乐、网页的背景色是什么

4: 网站的个性化,比如定制网站的服务,

内容。

二:Session的使用范围:

1:网上商城中的购物车

2:保存登录用户的信息

3:将某些数据放入到Session中,供同一用户的各个页面使用

4 :防止用户非法登录

Session和Cookie的主要区别在于:

Cookie是把用户的数据写给用户的浏览器。

Session技术把Cookie可以被用户禁用,但是sessio用户的数据写到用户独占的$_SESSION中,存在服务器的某个路径的文件中。

三 :request

用来在同一个request周期中保存变量使用。比如servlet调用后,推出JSP页面,这是一个request周期,如果在Jsp页面需要servlet中的一些 处理结构,就从request.getAttribute中获取。
sendRedirect()方法是通过浏览器重定向的,所以第二个JSP页面中获得的request并非是前一个页面的request(两次请求生成了前后两个不同的 request对象了)。
用RequestDispatcher接口的forward()方法试试看。


而不同页面间传值使用request.setAttribute(position, nameOfObj)时,只会从a.jsp到b.jsp一次传递,之后这个request就会失去它的作用范围,再传就要再设一个 request.setAttribute()。而使用session.setAttribute()会在一个过程中始终保有这个值。
P.S.:JavaScript与JSP中不能相互传值,因为JavaScript运行在客户端,而JSP运行在服务器端。若想使它们之间可以相互传递参数,可以在JSP中设置一个hidden控件,用它的value结合上面所说的用法来传递所需的数值。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  session cookie servlet