发表于: 2017-06-04 21:53:58

2 1266


今天完成的事情:

   1.了解cookie

    Cookie,有时也用其复数形式 Cookies,指某些网站为了辨别用户身份、进行 session 跟踪而储存在用户本地终端上的数据(通常经过加密)。

Internet 中发挥着越来越重要的作用,是用户获取、交流、传递信息的主要场所之一,论坛常常也需要记录访问者的一些基本信息(如身份识别号码、密码、用户在 Web 站点购物的方式或用户访问该站点的次数)。目前公认的是,通过 Cookie Session 技术来实现记录访问者的一些基本信息

Cookie 是在 HTTP 协议下,服务器或脚本可以维护客户工作站上信息的一种方式。Cookie 是由 Web 服务器保存在用户浏览器(客户端)上的小文本文件,它可以包含有关用户的信息。无论何时用户链接到服务器,Web 站点都可以访问 Cookie 信息

 

    Cookie可以弥补HTTP协议无状态的不足。在Session出现之前,基本上所有的网站都采用Cookie来跟踪会话。

由于HTTP是一种无状态的协议,服务器单从网络连接上无从知道客户身份。怎么办呢?就给客户端们颁发一个通行证吧,每人一个,无论谁访问都必须携带自己通行证。这样服务器就能从通行证上确认客户身份了。这就是Cookie的工作原理

    Cookie实际上是一小段的文本信息。客户端请求服务器,如果服务器需要记录该用户状态,就使用response向客户端浏览器颁发一个Cookie。客户端浏览器会把Cookie保存起来。当浏览器再请求该网站时,浏览器把请求的网址连同该Cookie一同提交给服务器。服务器检查该Cookie,以此来辨认用户状态。服务器还可以根据需要修改Cookie的内容。

    注意:Cookie功能需要浏览器的支持。

    如果浏览器不支持Cookie(如大部分手机中的浏览器)或者把Cookie禁用了,Cookie功能就会失效。

 

      Java中把Cookie封装成了javax.servlet.http.Cookie类。每个Cookie都是该Cookie类的对象。服务器通过操作Cookie类对象对客户端Cookie进行操作。通过request.getCookie()获取客户端提交的所有Cookie(以Cookie[]数组形式返回),通过response.addCookie(Cookiecookie)向客户端设置Cookie

       Cookie对象使用key-value属性对的形式保存用户状态,一个Cookie对象保存一个属性对,一个request或者response同时使用多个Cookie

    Cookie具有不可跨域名性根据Cookie规范,浏览器访问Google只会携带GoogleCookie,而不会携带BaiduCookieGoogle也只能操作GoogleCookie,而不能操作BaiduCookie

            Cookie cookie = new Cookie("username","helloweenvsfei");   // 新建Cookie

            cookie.setMaxAge(Integer.MAX_VALUE);           // 设置生命周期为MAX_VALUE

            response.addCookie(cookie);                    // 输出到客户端

我看的task5 的代码是采用tokenid+时间)+密码的方式保存到cookie中。

需要做的是:

.数据库的user表中新加password属性,新建userUserService以及接口实现类;

对于cookie这个东东,首先需要:

1..新建MD5Util类,这个类用于生成密钥;

2.新建DESUtil类,这个类里面包含加密(生成密文)方法和解密方法;

3.新建CookieUtil类,这个类用于将已加密的token调用DESUtil里面的解密方法得到解密后的token;(最后controller类里面会调用到这个方法)

      4.最后一个是TypeUtil类,这个类用于16进制字符串字节数数组的相互转换

  

今天就暂时了解了这么多。。。

明天继续。。   


参考网址:

http://blog.csdn.net/fangaoxin/article/details/6952954/

http://z2009zxiaolong.iteye.com/blog/1562197

 



返回列表 返回列表
评论

    分享到