SpringMVC前端控制器以.html后缀拦截,访问接口返回406问题
原因:
spring监测到是.html来访问,它就会认为需要返回的是html页面。如果返回的不是html,会报406错误
解决:
提供多种后缀拦截方式,工程里web.xml配置
分析:
- HTTP 406错误是HTTP协议状态码的一种,表示无法使用请求的内容特性来响应请求的网页,也就是返回的不是想要的。
- 之所以用伪静态化.html后缀是为了增加SEO权重,可以返回页面以.html后缀,查询数据、生成数据等操作可用别的后缀替代
- 还有一种解决方法,我在web.xml加两种拦截后缀名,.html,.shtml
注意:
- 缺少jackson组件包也会返回406,记得检查