发表于: 2016-12-01 00:11:07

2 2097


今天完成的事情:

1)设计任务五需要的user表,给userName加唯一索引

2)将任务五相关的增删改查实现,并写好DES加密与MD5加密的工具类

MD5Util用于给用户密码加密、解密

DESUtil用于给用户ID和登录时间加密、解密

3)学习cookie与session


明天计划的事情:

1)学习拦截器、过滤器、监听器

2)将登陆用户id与登录时间加密生成token,写拦截器判断用户状态


遇到的问题:

暂无


收获:

1)写测试类时,才发现可以在@BeforeClass里将几个test方法都会用的代码写出来,就不用写几遍了

2)数据库的字段长度指的是字节,一个汉字两个字节,一个英文字母或数字占一个字节

3)如果想要使用new Hex()的encode方法(MD5加密中用到),需要引入apache下的codec包
maven配置如下
<!-- codec hex依赖 -->
        <dependency>
            <groupId>commons-codec</groupId>
            <artifactId>commons-codec</artifactId>
            <version>1.9</version>
        </dependency>
<!-- codec end -->

4)application:上下文对象,是由容器创建和初始化的,它的范围是整个的web应用,而且整个web应用中只会有一个application对象存在,当web服务器关闭时,就会将application对象销毁

session:是一种保存上下文信息的机制,它是针对每个会话的,它是放在服务器端,通过SessionId区分的,在浏览器和服务器结束后,都会将session销毁

request对象:是当客户端发送请求时,容器就会创建一个ServletRequest对象,来进行封装请求数据,同时会创建一个servletResponse对象来进行封装相应数据,当结束封装请求之后,就会销毁该对象

WEB监听器,就是监听这3个对象的创建,销毁,和它们的属性发生的变化

用途:统计在线人数、统计访问量、系统变量初始化、spring

5)钝化活化

服务器内存不够了,把最近不活动的session序列化到磁盘,在序列化之前你会收到监听事件

如果这个钝化的用户某个时候又访问了,服务器在内存没找到session,就去磁盘找,再反序列化到内存,称为钝化,这个时候你又会收到监听事件

你放入session的一切变量都必须是可序列化的,否则失败

什么时候序列化和反序列化完全由容器决定,你只能监听事件

6)session为什么在浏览器关闭之后失效了?如何使session在浏览器关闭之后不失效?

未设置session失效时间,默认为浏览器关闭后失效

大部分的session机制都是采用进程中的cookie来保存sessionid的,也就是JSESSIONID,浏览器关闭后进程消失,进程中的cookie消失,那么sessionid也就跟着消失了

可以将session存入另外一个自定义的cookie,而不是默认的JSESSIONID的cookie,而使session得以保留(记得写代码验证)

7)参加今天的java组讨论

①一丁师兄分享了一个真正的项目的流程过程(或者理解为生命周期?)

获得需求-分析需求-需求折中-确定原型

定方案-写接口文档-数据库建表-方案评审

写代码-部署测试-假数据测试-前端联调-codereview-demo

发布测试环境-测试-线上

(如果说错了请鞭笞)

②讨论了url与uri的区别(明天整理)

③讨论了nginx代理、正向代理、反向代理、nginx日志分析、DNS映射(明天整理)

④前后端分离方式的开发与jsp方式的开发(明天整理)

⑤引用与对象的关系,在内存中的状态



返回列表 返回列表
评论

    分享到