发表于: 2018-01-17 23:29:54

1 496


今天完成的事:

1、jsp时间处理标签的bug找到了。


遇到的困难:


昨天问题原因

昨天jsp自定义标签的问题,报错信息是,意思是说taglib定义不符合规范,并且报错在web.xml的92行,

百度taglib definition not consistent with specification version 查到的原因都是tomcat的版本问题,版本7及以后的版本在web.xml中配置格式应该如下图所示,明显不是配置格式的原因,但是也没有其他解决方案,和师兄的代码对比也没缺少什么,所以花了很久,应该是三天前遗留的问题

原因:

注视掉web.xml表头的这个信息就可以了,

<!--<!DOCTYPE web-app PUBLIC-->
       <!--"-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"-->
       <!--"http://java.sun.com/dtd/web-app_2_3.dtd" >-->

上面的信息是我不小心复制过来的吗?NO!!创建webapp自带的,我创建web项目操作如图

所以为什么会默认有这个配置呢?解决了问题,暂时不管这些小细节了

既然到这里了,顺便贴一个标签配置

<tlib-version>1.1</tlib-version>
<!--标签前缀,相当于 c 标签的  c-->
<short-name>dateTag</short-name>
<tag>
   <!--标签中的方法名,相当于<c:foreach>的foreach-->
   <name>date</name>
   <!--定义标签功能的类-->
   <tag-class>com.jnshu.date.DateTag</tag-class>
   <body-content>JSP</body-content>
   <attribute>



明天计划:

1、tiles框架再学一下,之前只是实现了复用

2、学习拦截器


收获:





字符串分割--String.spilt()

在字符串中添加分割符号,再用spilt()方法将字符串分割,返回值是一个数组

1、一般的分割符号

String b = "abc,de,fA,AAss";
String[] bb = b.split(",");
for(i=0;i<bb.length;i++){
System.out.println("* 分割后的:"+bb[i]);
}

结果显示

2、特殊分割符号,需要加转移符号\\,例如: +  .   |  *  

String b = "abc.de.fA.AAss";
String[] bb = b.split("\\.");
for(i=0;i<bb.length;i++){
System.out.println("* 分割后的:"+bb[i]);
}

运行结果同上

3、其中 | 作为分割符的时候,不用转移符号,则是将字符串完全分割成字符

     \不能作为分割符,只能是\\,那么spilt()方法中的参数应该  \\\\

String b = "abcdefA|AAss";
String[] bb = b.split("|");
for(i=0;i<bb.length;i++){
System.out.println("* 分割后的:"+bb[i]);
}

结果



MD5加密

MD5加密:1、不可逆,2、生成密文是32位,

DES加密:1、可逆,2、 生成密文位数不确定,和要加密的字符串有关


不加密,数据库中存放明码,一旦数据库泄露,则入侵者可直接用用户名和密码进行登录;

MD5加密后,数据库中存放的事加密后的密码,所以即使被暴库,攻击者也无法得到用户真实的密码;

MD5加盐,MD5加密原理是Hash算法加密,彩虹表可以暴力破解hash算法加密。所以盐在密码加密前加入某个随机字符串,彩虹表一般不包括这么长的字符串对应的Hash值,所有一定程度上,增强了系统的安全性。


所加的盐应该是与主业务逻辑无关的字段值,固定不变的,用户输入密码后,后台将密码与固定的字符串(盐)组合后加密,再与数据库中的信息匹配。

理解有问题:

加盐后,相当于加密前的字符串变长了,那这样也可以暴力破解啊,只不过破解后的字符串是”盐+密码“,盐在数据库是可见的,解密后的字符串去掉盐就得到正确密码了。


禅道http://task.ptteng.com/zentao/my-task.html



返回列表 返回列表
评论

    分享到