bug1:
今天一直在纠结一个bug,
他的现象是:
后台没有报错,但是前台报错了。
直接调试后台的时候没有错,但是tomcat启动则报错。
具体错误是:java.lang.ClassNotFoundException: org.springframework.web.util.Log4jConfigListener
原因:
tomcat里面缺少相关jar包。
解决办法:
1、将对应空指针相关的jar包复制到tomcat的lib里。
如我们这次遇到的 jaxen-1.1.6.jar和dom4j-1.6.1.jar
2、其实缺少那些jar包更本质的问题是:基于maven构建的web项目找不到jar包,project structure的构建有问题
右击项目,Project Structure -> Artifacts -> Output Layout,新建lib文件夹,将基于maven导入的jar包全部加进去,重新运行,顺利解决。
bug2:
前后台交互中文乱码,虽然servlet中加了以下代码,同时jsp里面也加了contentType="text/html;charset=UTF-8",但是没有用
req.setCharacterEncoding("utf-8");
resp.setCharacterEncoding("utf-8");
resp.setContentType("text/html;charset=UTF-8");
原因:本身servlet的文件编码不是UTF-8
解决:修改servlet的文件编码
bug3:
访问数据库时,出现以下error
RuntimeException: java.sql.SQLException: Cannot create bean.UserBean: bean.UserBean Query: select * from user where name='hello' Parameters: []
原因:
UserBean.class创建对象时,应该是调用了无参数的构造方法。而源代码里UserBean只有UserBean(name,password)的构造函数
解决方案:
实体Bean中写无参数构造方法。 public UserBean(){}