访问页面时候出现:
HTTP Status 500 servlet.init() for servlet
DispatcherServlet threw exception
….
解决方案:
检测tomcat启动是否OK?
假如启动OK,则清浏览器缓存,假如启动失败要检测哪里代码
出现了问题(例如数据库连接被拒绝了,假如出现
ClassNotFoundException)
org.apache.ibatis.binding.BindingException:
Invalid bound statement (not found):
cn.tedu.ttms.product.dao.ProjectDao.findObjects
at org.apache.ibatis.binding.MapperMethod$SqlCommand.(MapperMethod.java:189)
at org.apache.ibatis.binding.MapperMethod.(MapperMethod.java:43)
at org.apache.ibatis.binding.MapperProxy.cachedMapperMethod(MapperProxy.java:58)
at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:51)
解决方案:
检查DAO对象与MAPPER文件的关联,绑定是否一致?
1)mapper中的命名空间应与dao接口的类全名一致.
2)mapper中定义的元素id与dao接口中的方法一致.
访问页面时出现404错误?
1)首先检测tomcat启动是否ok
2)其次检测访问路径对应的资源是否存在
java.lang.NullPointerException
at cn.tedu.ttms.product.controller.
ProjectController.doGetObjects(ProjectController.java:27)
解决方案:
1)首先将目标定位的ProjectController.java:的27行
2)其次定位点”.”左边的对象值是否注入了
3)假如此值已注入进入方法内部继续检测.
org.apache.ibatis.binding.BindingException:
Parameter ‘startIndex’ not found. Available parameters are [0, 1, param1, param2]
at org.apache.ibatis.binding.MapperMethod$ParamMap.get(MapperMethod.java:165)
解决方案:
检测dao的方法中对应参数有没有使用@Param修饰.
DAO中什么情况下使用@Param注解定义参数?
当方法中参数个数大于1时(等于1时也可以使用此注解进行
参数定义).
java.lang.IllegalArgumentException:
Result Maps collection does not contain value for
cn.tedu.ttms.product.entity.Project
解决方案:
检测mapper文件中对应的select语句的returnType是否写成了
resultMap.