javax.servlet.ServletException: Could not resolve view with name‘ XXXX’in servlet with name 'spring'的解决方案-----SKY
出现的异常如下:
javax.servlet.ServletException: Could not resolve view with name '{"msg":"成功","result":"更新成功","resultStatus":1,"success":true}' in servlet with name 'spring'
org.springframework.web.servlet.DispatcherServlet.render(DispatcherServlet.java:1190)
org.springframework.web.servlet.DispatcherServlet.processDispatchResult(DispatcherServlet.java:992)
org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:939)
org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:856)
org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:953)
org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:855)
javax.servlet.http.HttpServlet.service(HttpServlet.java:650)
org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:829)
javax.servlet.http.HttpServlet.service(HttpServlet.java:731)
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:88)
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
i) 该注解用于读取Request请求的body部分数据,使用系统默认配置的HttpMessageConverter进行解析,然后把相应的数据绑定到要返回的对象上;
ii) 再把HttpMessageConverter返回的对象数据绑定到 controller中方法的参数上。
使用时机:
A) GET、POST方式提时, 根据request header Content-Type的值来判断:
- application/x-www-form-urlencoded, 可选(即非必须,因为这种情况的数据@RequestParam, @ModelAttribute也可以处理,当然@RequestBody也能处理);
- multipart/form-data, 不能处理(即使用@RequestBody不能处理这种格式的数据);
- 其他格式, 必须(其他格式包括application/json, application/xml等。这些格式的数据,必须使用@RequestBody来处理);
B) PUT方式提交时, 根据request header Content-Type的值来判断:
- application/x-www-form-urlencoded, 必须;
- multipart/form-data, 不能处理;
- 其他格式, 必须;
- 说明:request的body部分的数据编码格式由header部分的Content-Type指定;
@ResponseBody
作用: 该注解用于将Controller的方法返回的对象,通过适当的HttpMessageConverter转换为指定格式后,写入到Response对象的body数据区。
使用时机: 返回的数据不是html标签的页面,而是其他某种格式的数据时(如json、xml等)使用;
@RequestBody注解时: 根据Request对象header部分的Content-Type类型,逐一匹配合适的HttpMessageConverter来读取数据;
补充:
MappingJacksonHttpMessageConverter 调用了 objectMapper.writeValue(OutputStream stream, Object)方法,使用@ResponseBody注解返回的对象就传入Object参数内。若返回的对象为已经格式化好的json串时,不使用@RequestBody注解,而应该这样处理:
1、response.setContentType("application/json; charset=UTF-8");
2、response.getWriter().print(jsonStr);
直接输出到body区,然后的视图为void。
最新文章
- [分类算法] :朴素贝叶斯 NaiveBayes
- .NET设计规范————类型设计规范
- 你眼中的async/await是什么样的?
- 【Java每日一题】20161125
- js实现点击增加文本输入框
- js 为label标签和div标签赋值
- readonly背景色(css)
- 零基础学习IOS开发(二)- 使用cocos2d-x3.0 执行Hello world
- strcpy完整版 与 strcpy为什么有返回值
- 查看实时公网ip
- [windows phone] 教你如何使地图动画缩放
- flexbox备忘
- 下载jQuery EasyUI出现网络问题
- docker环境 快速使用elasticsearch-head插件
- (三)Javascript面向对象编程:非构造函数的继承
- 【史上最全】申请配置阿里云服务器,并部署IIS和开发环境,项目上线经验
- DELPHI实现关机,兼容全部WINDOWS系统 转
- 转载:Github项目解析(七)-->;防止按钮重复点击
- oracle_存储过程_没有参数_根据配置自动创建申请单以及写日志事务回滚
- E - More is better (并查集)
热门文章
- linux文件传输
- RESTful接口签名认证实现机制
- java 实体序列化的意义
- K-近邻算法的Python实现 : 源代码分析
- Laravel之Session
- redhat 用yum安装的apache、mysql一般默认安装在哪个目录下?
- js 将内容复制到剪贴板
- crm使用soap取消用户訪问记录权限
- IP数据库生成器
- 结合jquery的前后端加密解密 适用于WebApi的SQL注入过滤器 Web.config中customErrors异常信息配置 ife2018 零基础学院 day 4 ife2018 零基础学院 day 3 ife 零基础学院 day 2 ife 零基础学院 day 1 - 我为什么想学前端