发表于: 2017-11-05 23:49:49

1 899


今天完成的事情:

1.学会了运用tag来把long类型的时间字段转换成我们需要的格式。

2.学习DES

明天计划的事情:

学习Token和Cookie

遇到的问题:

1.创建两个时间字段时有过疑问,但没深度研究。今天在转换格式的时候出现了数据库中时间字段里面的内容没有变化的问题。而且通过jsp输出的我们需要的时间格式全是1970年的初始时间。

这个错误主要是知识点比较窄造成的,然后重新修改SQL语句和jsp页面,然后对时间字段进行转换输出就可以实现我们需要的页面。

2.引申问题就是创建者和更新者这两个字段应该也是和这个差不多,里面不能添东西,crud操作里面也是相似操作,然后应该用什么java方法来获取这个数据库操作人。应该和用户注册的表有关联的吧!

3.第二次出现版本冲突问题警告。

因为上次碰到过这个问题,所以知道就是版本问题。

上次是直接百度警告部分,然后查看解决方案。这次就了解这个警告所涉及的是哪些东西的版本问题。

每次出现报错后,都会有个网址链接提示,以前也点过,然后全是英文,所以就直接关掉,这次看看,里面就是对这次出错jar包每次更新后和其他jar包之间产生的冲突报错,每种报错下面都有相应的解决方案,所以就很清楚了。


出错原因:就是slf4j的问题,然后这儿也说了解决方案,我选择添加slf4j-logj12.jar来解决。

最后运行看起来舒服多了

收获:

1.自己使用tag标签转化时间格式的收获

对于将long类型的时间字段转化成我们平常看的格式,网上大部分的资料很统一。(代码都一样,就不贴了)

(1)第一步:写一个类继承TagSupport,实现doStartTag() 方法。

在这里创建一个SimpleDateFormat对象(大概这个SimpleDateFormat就是允许客户选择日期-时间格式的一个类),然后获取其中的format方法,进行对时间格式的转换。

(2)第二步:编写tld文件,datetag.tld

配置文件,里面就是这个工具类的路径

(3)第三步 :在web.xml中加入引用。

引用,里面是配置文件的路径。

(4)第四步:在jsp页面开始使用。

也就是tag标签,自己创建的date标签实现我们所需要的功能。

⚠️

(5)首先就是当时对时间字段了解不够,然后有疑问,有不懂,就自己把时间写上了,代码里面也实现了调用和操作。然后现在转化时间类型的话,是没有获取时间的代码,最后造成jsp出来的时间全是1970年的。

6)其次,学习了System.currentTimeMillis()。

System.currentTimeMillis() 获得的是自1970-1-01 00:00:00.000 到当前时刻的时间距离,类型为long。

在给我们相应操作的jsp页面中传值的时候,给需要获取这个毫秒数的字段赋值,将这个long类型的时间数据传到数据库的指定字段位置。

(7)最后,我们通过自己定义的date标签,在实现jsp页面的时候,对时间字段进行转换,最后展示出来的就是我们所需要的时间格式,然后数据库中存放的就是毫秒数,并不是我一开始想的20171106这样的long类型。

(8)在格式ok以后,还有一个就是怎么放置获取时间的代码才可以使创建时间和更新时间实现我们的实际情况。就是每一天记录添加以后,2个时间段都是创建时的时间,但若将该条记录实现修改操作以后,它的创建时间不变,但是更新时间变成修改时的时间。

这个按照先前的思想,是很好处理的,就是在给增添页面传值的时候,2个字段都要获取到系统时间,然后将数据传入到数据库中,但是在更新的时候,只需要更新时间的字段获取到当前的系统时间,进行传值的操作就好了。

然后就出现一个很尴尬的问题就是,创建数据一起OK,但是每次修改以后,修改时间字段更新了,但是创建时间字段变成0了。经过大佬提示,是SQL语言的问题。

就是说,获取时间以后进行对数据库传值过程,是有对数据库的操作过程的(很基础的一个问题,然后由于一直在思考获取系统时间和jsp页面转换类型的问题,没有想到这儿),即SQL语句。就是之前犯的错,把所有字段都进行了curd操作,然后是的修改数据传值页面没有对create_at字段获取时间,所以进行修改操作时,提交该字段的值就是0,所以出错的原因,这也是增添数据传值时没有出问题的原因,因为当时对2个字段都传了时间数据。

总结:增操作,时间字段都是要的;删操作,是通过id来删除一条数据的,所以字段应该全;改操作,是只需要更改update_at,所以不需要创建时间的字段;查操作,也是根据id来操作的,所以所有字段都应该需要的。

2.了解DES

(1)概念

DES(Data Encryption Standard),即数据加密标准,是一种使用密钥加密的块算法,1977年被美国联邦政府的国家标准局确定为联邦资料处理标准(FIPS),并授权在非密级政府通信中使用,随后该算法在国际上广泛流传开来。需要注意的是,在某些文献中,作为算法的DES称为数据加密法(Data Encryption Algorithm,DEA),已与作为标准的DES区分开来。

(2)DES算法入口参数

DES算法的入口参数有三个:Key,Data,Mode。其中Key为7个字节共56位,是DES算法的工作密钥;Data为8个字节64位,是要被加密或被解密的数据;Mode为DES的工作方式,有两种:加密或解密。

(3)DES基本原则

DES设计中使用了分组密码设计的两个原则:混淆和扩散,其目的是抗击敌手对密码系统的统计分析。混淆是使密文的统计特性与密钥的取值之间的关系尽量可能复杂化,已使密钥和明文以及密文之间的依赖性对密码分析者来说是无法利用的。扩散的作用就是将每一位朋友的影响尽可能迅速地作用到较多的输出密文件中,以便在大量的密文中消除明文的统计结果,并且使每一位密钥的影响尽可能迅速地扩散到较多的密文件中,以防对密钥进行逐段破译。



返回列表 返回列表
评论

    分享到