本文主要是介绍[SpringMVC] HTTP 请求与响应过程底层源码解析,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
本篇文章主要根据两种常见的错误场景,深入 SpringMVC HTTP 请求与响应过程流程。而整个 SpringMVC HTTP 请求与响应过程涉及的内容远不止于此,如果读者对本文未涉及的内容有兴趣,欢迎与我交流。
提取主要内容如下:
- 常见的两种错误场景介绍;
- HTTP 请求与处理源码解析;
- 两种错误场景解决方案;
- 涉及的设计模式介绍。
相关版本:
- Maven : apache-maven-3.3.9
- SpringMVC :4.1.1.RELEASE
- Tomcat-Maven-Plugin: 2.2
介绍方式: 代码 + 文字说明 + 源码截图(为减小篇幅,因此源码部分采用截图的方式)。读者阅读时,结合前面列出的流程图/主要操作步骤,再浏览。
本文中涉及的代码下载
一、常见的两种错误场景
1.场景1
jQuery 以 ajax 方式访问 SpringMVC 接口时,如未显示指定 Content-Type,则会显示 ‘415 (Unsupported Media Type)’ 错误。如:
前端代码片段:
function fSave(url) {var obj = {};obj['cateId'] = $("input[name=cateId]").val();obj['cateName'] = $("input[name=cateName]").val();$.ajax({url: url,method: 'post',data: JSON.stringify(obj), // 以json字符串方式传递success: function(data) {console.log(data);},error: function(data) {console.log("error...");console.log(data);}});
}
后端接口代码片段为:
@RequestMapping(value = "/save-by-model-2", method = RequestMethod.POST)
@ResponseBody
public Category saveByModel2(@RequestBody Category category){categoryService.save(category);return category;
}
2.场景2
SpringMVC 接口定义返回 Json 格式数据时,一般有 字符串和对象 两种方式。而相同条件下,返回 Json 格式字符串时,中文会出现乱码。如:
前端代码片段:
function fSave(url) {var obj = {};obj['cateId'] = $("input[name=cateId]").val();obj['cateName'] = $("input[name=cateName]").val();$.ajax({url: url,method: 'post',contentType: 'application/json', data: JSON.stringify(obj), // 以json字符串方式传递success: function(data) {
这篇关于[SpringMVC] HTTP 请求与响应过程底层源码解析的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!