前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Servlet和JSP学习指导与实践(二):Session追踪

Servlet和JSP学习指导与实践(二):Session追踪

作者头像
云海谷天
发布2022-08-09 14:19:01
2070
发布2022-08-09 14:19:01
举报
文章被收录于专栏:技术一点点成长

前言:

  web应用中经常需要对某些有用的信息进行存储或者附加一些信息。本文主要介绍session,即“会话”跟踪的几种不同方式~

---------------------------- 4种管理session的方式:

1.重写url

通过在请求的url后面追加参数信息进行会话跟踪。如:

  "http://localhost:8080/shop/index.jsp?page=1&name=admin" 2.使用隐藏域

比如更新用户信息时,因为id不可更改,故将传到更新页面的user.id设置为hidden:

代码语言:javascript
复制
<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灵活,而且更安全。
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2015-08-29,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 前言:
  • ---------------------------- 4种管理session的方式:
  • 1.重写url
  •   "http://localhost:8080/shop/index.jsp?page=1&name=admin" 2.使用隐藏域
  • 3.Cookie
  • 4.HttpSessioin
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档