cookie/Session/request范围与周期

来源:互联网 发布:linux 复制到当前目录 编辑:程序博客网 时间:2024/06/06 05:37
一: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结合上面所说的用法来传递所需的数值。




0 0