发表于: 2018-01-18 22:28:00
1 678
今天完成的事:
任务五基本实现,但是拦截器拦截后跳转到指定页面没有完成。
遇到的问题:
【问题:拦截器token解密后匹配失败】
配置拦截器后,即使密码正确也无法登陆,
于是在控制台输出各种变量,在拦截器中解密token后的loginTime和数据库中的loginTime比较显示是false
在控制台输出响应的变量如下,但是在if语句中判断还是显示false,
原因:
数据库中的loginTime的数据类型是Long,而token经过字符串分割后loginTime的数据类型是String
所以直接用equals是不对的,应该讲数据库中的long类型转为String类型,再用equals进行判断。
Long类型转String类型方法
<1>String.valueof()
long a =123456;
String s = String.valueOf(a);
<2>long类型后加空字符串
long a =123456;
String s = a +"";
明天计划:
学习拦截器
收获:
1、总结任务4耗时长的问题,这些在之前日报都有截图,这次简单回顾一下:
<1>jsp页面无法获取图片资源,静态页面
一直是在路径的方向查,绝对路径也不行,相对路径也不行,耗费很久
原因:前端控制器将所有的请求拦截了,应该讲静态资源放过,如果将DispatcherServlet请求映射配置为"/",则Spring MVC将捕获Web容器所有的请求,包括静态资源的请求,Spring MVC会将它们当成一个普通请求处理,因此找不到对应处理器将导致错误。
在springmvc.xml中,配置如下
<mvc:default-servlet-handler/>
或者
<mvc:resources location="/" mapping="/resources/**"/>
<2>tiles框架,t10和t11页面公用一个模板,foot.jsp相同,但是尾部显示不同,t11页面两侧有白边。
原因:t11缺少一个</div>,属于前端问题,没有再去深究为什么少了这个其他部分正常显示。
<3>jsp自定义标签
项目无法正常启动,报错信息是”在web.xml中定义的jsp-tag不符合规定格式“,按照这个报错信息去百度找不到有用的 。
原因:web.xml的表头多了 <!DOCTYPE ******>,这个是创建项目自带的,删除后jsp自定义标签正常运行。
<!DOCTYPE web-app PUBLIC
"-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
"http://java.sun.com/dtd/web-app_2_3.dtd" >
<4>主键,尽量不用主键,我用的普通的关联,两个实体类,两个service,两张表,查询时通过两个表中的某个字段关联起来。这个当时理解有点跑偏,废了不少事。
<5>统计人数在sql语句中用 count(*),注意是 * 不是字段名,如果是字段名则字段为空时计数忽略
评论