Servlet和JSP学习指导与实践(二):Session追踪
2015-08-29 21:23
639 查看
前言:
web应用中经常需要对某些有用的信息进行存储或者附加一些信息。本文主要介绍session,即“会话”跟踪的几种不同方式~----------------------------
4种管理session的方式:
1.重写url
通过在请求的url后面追加参数信息进行会话跟踪。如: "http://localhost:8080/shop/index.jsp?page=1&name=admin"
2.使用隐藏域
比如更新用户信息时,因为id不可更改,故将传到更新页面的user.id设置为hidden:<form action="${pageContext.request.contextPath}/userAction_update.action" method="post"> 用户名:<input type="text" name="name" value="${requestScope.user.name }" /><br> <input type="submit" value="提交" /> <input type="hidden" name="id" value="${requestScope.user.id}" /> </form>
3.Cookie
javax.servlet.http的package下面专门有Cookie类,通过 new Cookie()我们可以解决前面2种方式的缺陷,即不只是将信息传送到下一个页面或者下一个请求,而是实现将信息保存在进行多个页面。Cookie中的信息相当于一个“信息块”,其可以在浏览器和服务器之间传送。但是,浏览器默认的可容纳的Cookie数量有限,一般不超过20个。而且,Cookie无法准确定位。想要确认当前页面是否含有“A”这个Cookie,必须通过枚举才可能得知!4.HttpSessioin
HttpSession对象是一种更强大的会话管理方式。其可通过http访问过程中的request获得,并将其保存到服务器中。由于其可以跨页面保存,因此一般用于保存重要的用户信息或者购物车信息等!-----------------------------------
附:session与cookie的联系与区别:
(1)联系:
cookie与session都可以用于跨页面的信息保存,比url重写和hidden的方式更稳定。
(2)区别:
cookie一般存在于客户端的本地浏览器,而session存在于远程的server端。
cookie存储机制不同于session。前者,每次必须遍历完所有的cookie信息才能进行;后者可通过getAttribute(String s)来判断当前是否存在“s”的session,因此存取session方便;
session较cookie灵活,而且更安全。
相关文章推荐
- 使用phantomjs抓取JS动态生成的页面
- javascript 面向对象继承详解
- JSP编程技术笔试题
- Servlet和JSP学习指导与实践(一):Servlet API初探
- JavaScript打开新页面的方法
- 前端路上的各种问题-javascript-1
- JSP中九个隐含对象
- JSP中EL表达式的应用以及常用的方法
- JavaScript中字符串转JSON或者XML
- js 跨域问题常见的五种解决方式
- js 使用正则 邮箱
- javascript小坑
- Javascript高级程序设计——在HTML中使用Javascript
- JavaScript中内置对象的一些属性及方法
- JS+AJAX(.ASHX) 实现用户登录
- JavaScript中的this关键字
- JS 控制页面超时后自动跳转到登陆页面
- JavaScript数据类型
- 小而精,小而美的一款开源的迷你框架Underscore.js
- 【线段树】【JSOI 2008】【bzoj 1012】最大数maxnumber