发表于: 2018-01-17 23:29:54
1 494
今天完成的事:
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
评论