SpringMvc406(Not Acceptable)的解决办法
2017-12-26 14:16
330 查看
SpringMvc406(Not Acceptable)的解决办法
在用SpringMvc的时候发现了一个有趣的问题刚开始的时候我是这样写的这样写的
@RequestMapping(value = "/reader_add_reserve.html", method = RequestMethod.POST)
在页面中发起post请求
<script type="text/javascript"> $("#reseveBt").click(function () { var bookId = $("#reseveBt").val(); $.ajax({ type: "POST", url: "/reader_add_reserve.html", data: { bookId:bookId }, dataType: "json", success: function(data) { alert(data.msg); }, error:function (errors) { alert("failed"); } }); }); </script>
数据访问插入都没有问题但是在数据返回页面的时候会出现406(Not Acceptable)
在控制台中显示默认的serletHandler不能解析这些数据
于是我查找了我配置的spring MVC 的主控servlet 的映射URL,即拦截所有请求,包括静态资源。
<servlet> <servlet-name>book</servlet-name> <servlet-class> org.springframework.web.servlet.DispatcherServlet </servlet-class> <load-on-startup>1</load-on-startup> </servlet> <!--spring MVC 的主控servlet 的映射URL --> <servlet-mapping> <servlet-name>book</servlet-name> <url-pattern>/</url-pattern> </servlet-mapping>
覆盖掉了默认的DefaultServlet,所以导致静态文件无法被处理。而*.jsp文件则由JspServlet进行处理。
DispatcherServlet不会拦截.jsp,.html等文件。而交由默认的Servlet处理器来进行处理
Spring MVC会将它们当成一个普通请求处理,因此找不到对应处理器将导致错误。
将访问的路径改成下列写法时就能正常操作了。
@RequestMapping(value = "/reader/addReserve", method = RequestMethod.POST) ``` ``` <script type="text/javascript"> $("#reseveBt").click(function () { var bookId = $("#reseveBt").val(); $.ajax({ type: "POST", url: "/reader/addReserve", data: { bookId:bookId }, dataType: "json", success: function(data) { alert(data.msg); }, error:function (errors) { alert("failed"); } }); }); </script>
记录一下防止再遇到这样的问题.。
相关文章推荐
- SpringMVC异常报406 (Not Acceptable)的解决办法
- SpringMVC异常报406 (Not Acceptable)的解决办法
- SpringMVC异常报406 (Not Acceptable)的解决办法
- SpringMVC ajax 请求报错:406 Not Acceptable 的解决办法 使用@ResponseBody注解
- SpringMVC异常报406 (Not Acceptable)的解决办法
- SpringMVC异常报406 (Not Acceptable)的解决办法
- SpringMVC异常报406 (Not Acceptable)的解决办法
- SpringMVC异常报406 (Not Acceptable)的解决办法
- SpringMVC异常报406 (Not Acceptable)的解决办法
- gMVC异常报406 (Not Acceptable)的解决办法
- SpringMVC异常报406 (Not Acceptable)的解决办法
- SpringMVC 利用@ResponseBody注解返回Json时,出现406 not acceptable 错误的解决方法。
- 解决 ajax报错406,springMVC报错406,页面报错406解决办法
- Spring MVC json问题(406 Not Acceptable) 解决办法
- SpringMVC:解决406 not acceptable
- SpringMVC出现406错误的解决办法
- 解决SpringMvc返回json报Response 406 Not Acceptable
- SpringMVC使用@ResponseBody时报406错误解决办法
- SpringMVC ajax传递json数组到后台报406错误的解决办法
- springmvc返回json数据406错误的解决办法