发表于: 2017-06-12 21:25:43
1 1012
【说明】
ok ,晚上抽时间回来写日报,真心不容易,还好昨天的bug 解决了,
今天说一下昨天遇到 的bug and 解决方法,以及今天解决的问题
一:今日完成(解决BUG)
1)
先说这个
这是因为 配置数据源的时候,因为内部源码的实现,所以, 对默认 的参数名字是有限制的,比如,不能用 driver
而需要
<bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource">
<property name="driverClass" value="${jdbc.driverClassName}" />
<property name="jdbcUrl" value="${jdbc.url}" />
<property name="user" value="${jdbc.username}" />
<property name="password" value="${jdbc.password}" />
</bean>
看到加粗了吗?那些都是需要改的
2)
再说bug 2
[org.springframework.web.servlet.DispatcherServlet] - DispatcherServlet with name 'dispatcher' processing GET request for [/task4/a/date]
我访问了什么呢,
我自定义了一个jsp 时间处理 标签,可以将数据库里面的 long 类型 转换成 date 类型 ,这个类型还可以自定义的
出现了什么问题??
无法解析?
为什么?
一个是我 tld 里面指定的主类名字不对,并且!并且!并且!并且!
tld 里面的名字需要和 controller 里面的 return 一模一样!
这点我也疏忽了
<tag>
<name>date</name>
应该是这样的
3)
然后是bug 3
我在 mapper 映射文件里面的 定义的字段类型 定义,特别是java 类型和 jdbc 类型是有问题
对于long 类型,应该是怎样定义的呢?
看到了吗,应该是这样的呢
4)
bug4
然后项目重启的时候又出现问题 了呢
为什么
之前database 数据源配置的时候,自己 因为命名的原因就出现问题了
但是,这次又因为它出错了,是因为 close 方调用的问题
DEBUG STACK TRACE for PoolBackedDataSource.close().
Xml 代码
<bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource" destroy-method="close">
// 略去数据源相关信息的配置
</bean>
Spring 在读取这个配置文件以后,需要根据这些信息来实例化一些类,然后内部再根据中间的那些配置信息来实际构造数据源。
可是来了个问题。
不能保证这里的 ComboPooledDataSource 数据源一定是可用的,也不能保证 close 方法一定能关闭连接,
Spring 本身不能检查这个类是否真实有效,同样的,close 方法是否有效,也需要进行检查。
当不能确定 destory-method 的情况下, 把该项删除, 由程序自主选择关闭方法, 这样 Debug 就不会报错了.
5)
bug5
(java.lang.NumberFormatException: For input string: "schoolDay")
这是数据库字段显示 出现的 问题
自己放到model 里面的是一个 集合列表 ,但是自己直接 取的 属性值,这是不行的
需要指定是 哪一个学员对象
date:date value ="${studentList[0].schoolDay} "/>
6)
bug6
最后就是 css 等静态资源显示的问题
之前只是显示 一些文字
没有网页特效,发现是 因为jsp 页面使用了 相对路径 ,这在某些情况下是无法显示的
所以需要指定 path 和basepath
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
但是后面我是一个个指定 资源的,太麻烦了
后来发现可以统一指定
<head>
<meta charset="UTF-8">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0,maximum-scale=1">
<base href="<%=basePath%>"></base>
然后就搞定了
二:明日计划
任务五
三:疑难问题
BUG统统搞定
四:思考总结
心情好的时候调bug 真是 棒棒哒
评论