(浅谈)session,cookies作用范围区别,使用场景

区别:

​ cookie数据保存在客户端,session数据保存在服务器端。

使用场景:

session:

​ 登陆验证信息。一般采用Session(“Logon”)=true or false的形式。

​ 用户的各种私人信息,比如姓名等,某种情况下,需要保存在Session里

​ 需要在页面间传递的内容信息,比如调查工作需要分好几步。每一步的信息都保存在Session里,最后在统一更新到数据库。

cookie:
​ (一):判断用户是否登陆过网站,以便下次登录时能够直接登录。如果我们删除cookie,则每次登录必须从新填写登录的相关信息。

​ (二):另一个重要的应用是“购物车”中类的处理和设计。用户可能在一段时间内在同一家网站的不同页面选择不同的商品,可以将这些信息都写入cookie,在最后付款时从cookie中提取这些信息,当然这里面有了安全和性能问题需要我们考虑了。

cookie注意问题:
​ 1.不要保存私人信息。
​ 2.任何重要数据,最好通过加密形式来保存数据(最简单的可以用URLEncode,当然也可以用完善的可逆加密方式,遗憾的是,最好不要用md5来加密)。
​ 3.是否保存登陆信息,需有用户自行选择。
​ 4.长于10K的数据,不要用到Cookies。
​ 5.也不要用Cookies来玩点让客户惊喜的小游戏。

–No Best Code , Only Better Code

Session是Java Web中常用的一种状态管理技术,它可以在不同的HTTP请求之间共享数据,常用于用户登录、购物车等场景。下面我来浅谈一下Session使用Session的创建 在Servlet中,可以通过HttpServletRequest的getSession()方法来获取或创建Session对象。如果请求中已经存在Session,则返回已经存在的对象,否则创建一个新的Session对象并返回。示例代码如下: ```java HttpSession session = request.getSession(); ``` Session的存储 Session中的数据存储在服务器端,可以通过setAttribute()方法向Session中存储数据。示例代码如下: ```java session.setAttribute("username", "张三"); ``` Session的获取 在Session中存储的数据可以通过getAttribute()方法获取。示例代码如下: ```java String username = (String) session.getAttribute("username"); ``` Session的过期 Session有两种过期方式:基于时间的过期和基于使用次数的过期。基于时间的过期是指Session在一定时间内没有被使用,则失效;基于使用次数的过期是指Session在一定时间内没有被使用,则失效。 在web.xml中可以设置Session的过期时间,示例代码如下: ```xml <session-config> <session-timeout>30</session-timeout> </session-config> ``` 上述代码表示Session的过期时间为30分钟。 Session的销毁 Session可以通过invalidate()方法销毁。示例代码如下: ```java session.invalidate(); ``` 总结 Session是Java Web中常用的一种状态管理技术,可以在不同的HTTP请求之间共享数据Session使用需要注意过期时间和销毁方式,以免造成安全隐患和资源浪费。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值