发表于: 2018-06-10 19:42:58
2 820
今天完成的事情:
1.了解任务五需要的知识点对一些知识点进行了解:
1.md5:MD5算法是一种被广泛使用的hash函数,用于对任意长的输入生成一串128bit的hash值(就是32位十六进制数)。MD5被广泛用来加密和验证数据完整性。直接对用户的密码进行md5运算,可以得到一串哈希值,这是最简单的加密。理论上从密文是几乎无法的到明文的; 然而可以对有穷的简单密码们进行hash,得到简单密码以及对应的密文,直接对比密文可以就找到对应的明文。
2.DES:也是一种特殊的加密算法,是可逆的,DES密匙长度一般是8的倍数。
3.cookie:指某些网站为了辨别用户身份、进行 session 跟踪而储存在用户本地终端上的数据(通常经过加密)。
4.session:在计算机中,尤其是在网络应用中,称为“会话控制”。Session 对象存储特定用户会话所需的属性及配置信息。这样,当用户在应用程序的 Web 页之间跳转时,存储在 Session 对象中的变量将不会丢失,而是在整个用户会话中一直存在下去。当用户请求来自应用程序的 Web 页时,如果该用户还没有会话,则 Web 服务器将自动创建一个 Session 对象。当会话过期或被放弃后,服务器将终止该会话。Session 对象最常见的一个用法就是存储用户的首选项。例如,如果用户指明不喜欢查看图形,就可以将该信息存储在 Session 对象中。
5.对比session和cookie
<2>session 默认被存在在服务器的一个文件里(不是内存)
<3>session 的运行依赖 session id,而 session id 是存在 cookie 中的,也就是说,如果浏览器禁用了 cookie ,同时 session 也会失效(但是可以通过其它方式实现,比如在 url 中传递 session_id)
<4>session 可以放在 文件、数据库、或内存中都可以。
<5>用户验证这种场合一般会用 session
拦截器的概念
java里的拦截器是动态拦截Action调用的对象,它提供了一种机制可以使开发者在一个Action执行的前后执行一段代码,也可以在一个Action执行前阻止其执行,同时也提供了一种可以提取Action中可重用部分代码的方式。在AOP中,拦截器用于在某个方法或者字段被访问之前,进行拦截
过滤器与拦截器的区别
过滤器可以简单的理解为“取你所想取”,过滤器关注的是web请求;拦截器可以简单的理解为“拒你所想拒”,拦截器关注的是方法调用,比如拦截
敏感词汇。
4.1,拦截器是基于java反射机制来实现的,而过滤器是基于函数回调来实现的。(有人说,拦截器是基于动态代理来实现的)
4.2,拦截器不依赖servlet容器,过滤器依赖于servlet容器。
4.3,拦截器只对Action起作用,过滤器可以对所有请求起作用。
4.4,拦截器可以访问Action上下文和值栈中的对象,过滤器不能。
4.5,在Action的生命周期中,拦截器可以多次调用,而过滤器只能在容器初始化时调用一次
明天计划的事情:
写几个demo实现密码拦截,让mvc接管MD5方法
遇到的问题:
把小课堂的后续弄完以后有点累,还没到点就回去了。效率不高。
对任务5的流程还不怎么清楚。
收获:
大概的了解任务涉及的知识点。
评论