会话跟踪技术cookie和session

会话跟踪是指,当同一个浏览器,给服务器发送多次请求时,下一次请求,有上一次请求中带有的数据。服务器需要判断,请求是不是同一个浏览器发出的,从而决定是否共享数据。所以有了会话跟踪技术:cookie 和session。cookie是客户端会话跟踪技术,就是把共享的数据存在客户端,session及服务端会话跟踪技术,就是把共享的数据存在服务端。

 

 下面先介绍cookie:

cookie是客户端会话技术,把数据存在客户端,然后每次请求都带着cookie数据进行访问。

使用cookie需要先创建cookie对象,然后把要共享的数据以键值对形式存进去:Cookie cookie = new Cookie("key","value").2.发送cookie对象到客户端,使用response.addCookie(cookie);3.得到客户端携带的所有cookie对象,Cookie[] cookies = request.getCookies(),遍历cookie数组,用for方法,cookie中也提供了一些方法,cookie.getName(),cookie.getValue()

 

cookie,中不能直接存入中文,需要进行转发再存入,要调用URLEncode.encode()方法,把中文转成URL编码存入, 

 

 

 

 

 

 session是在服务端会话技术,把共享数据存在服务端,有点类似于request,其中存储共享数据的方法也是,setAttribute(String name,Object o)

 

 

 

 

 

 session,它是基于cookie实现的,当创建一个session对象是,这个session对象会有一个id,同时也会把这个id数据传个cookie对象,当浏览器下次请求时,cookie对象就会带着id数据,能找到session对象。然后可以设置,session对象存活时间,一种是在xml文件中配置,一种是调用它本身的销毁方法。

 

 总结一下两者的区别:

 

 然后就是两个案例,用户登录以及记住用户名和密码 和 用户注册以及验证码的校验,二者分别需要用到cookie会话技术和session会话技术。今天太晚了,明天有时间再说。

 

 

 这是记住用户 和在展示页面展示用户名(欢迎+用户名)的代码

 

 

 

这是用户注册验证码校验的代码,其中验证码的生成用到了一个工具类,这里就不放图了,关键是验证吗的校验,而且验证码的校验应该在调用service.add()方法之前,就是在用户注册之前校验。

 

 

posted @ 2022-11-21 23:23  索隆111  阅读(171)  评论(0)    收藏  举报