一个项目中遇到bug

#访问页面时候出现: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.NullPointerExceptionat 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.

#Failed to load resource: the server responded with a status of 400 (Bad Request)

客户端出现的400错误表示客户端向服务端传输的
数据被拒绝接收(问题一般出现在数据格式上)

#当系统出现406错误时,表示请求的资源的内容特性无法满足
请求头中的条件,因而无法生成响应实体。

在我们的项目中可能是使用了@ResponseBody注解,但是
相关的第三方API(例如jackson)导入不完整.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值