服务器415错误
ssm框架的controller
jsp页面
问题:页面出现415错误
原因:请求和响应类型不一致
分析:
先排除以下基本的环境配置
1.URL路径对应好,视图解析器配置好,controller的@RequestMapping的路径要和视图解析器适配
2.传递的参数一定要一一对应,实体类有,表单数据没有是可以的,反之无法封装
3.jsp页面不要有error的错误,特别是少了标点符号!!!
出现了415错误一般是请求和响应的contentType类型不一致,可以F12看到浏览器的accept和contentType是不一致的,很多博客上都写着直接ajax设置contentType=“application/json;charset=UTF-8”,确实可以实现传递实体类参数自动映射,但是在以上案例中是要用表单提交的方式,里面不能设置enctype,所以jsp页面中表单提交是以键值对的字符串格式传到controller,所以可以通过设置controller接收的类型,使用@RequestMapping而不是@PostMapping,同时方法参数不建议贴注解@RequestBody ,换成传统的HttpServletRequest 去getParameter()
附注:@RequestBody是将页面的json格式转换成java对象,而页面表单提交使用的是字符串格式的键值对形式;
修改后,完成实体类传参保存到数据库!