ajax请求前端浏览器报404异常,后端程序正常执行,无异常输出,采用spring MVC框架

1 篇文章 0 订阅
1 篇文章 0 订阅
情况1:
网上大多数情况都是说方法头顶没有添加@responseBody注释, 一般情况下有此可能
@ResponseBody注解的作用是将controller的方法返回的对象通过适当的转换器转换为指定的格式之后,写入到response对象的body区,通常用来返回JSON数据或者是XML
情况2:
也就是我帮同事调BUG时最近遇到的一个怪异情况,从格式或者书写上并没有发现任何问题,tomcat清空重新编译部署问题依旧,这种情况下只能换种途径啦。
首先,将@ResponseBody去掉,将返回类型改为void,直接使用response.getWriter.write(JSONObject.fromObject(user).toString());然后这个时候异常就暴露了出来,是因为里边有一个oracle的时间戳类型无法进行转换;再往后边查看代码,发现mapper.xml中的返回类型是map类型的,里边的查询数据时间类型没有经过任何转换操作
问题解析:@ResponseBody自带的json转换无法将oracle的日期类型自动转换,导致数据无法返回,但是在这个数据封装的过程中是怎么进行的我并没有弄清楚,如果有同学能够详细解析一下再好不过啦
问题解决:1.数据库查询时将时间类型转换为字符串格式;2.对象转json时对日期类型进行特殊处理
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值