不知道你们是什么情况,我一个小时解决,我就是个zz
情况描述:
先贴错误码
前端:
后端:
17:24:35.873 [http-nio-8091-exec-2] DEBUG org.springframework.web.servlet.DispatcherServlet - GET “/openingManagerSystem_war_exploded/notice/addNotice.html”, parameters={}
17:24:35.874 [http-nio-8091-exec-2] WARN org.springframework.web.servlet.mvc.support.DefaultHandlerExceptionResolver - Resolved [org.springframework.web.HttpRequestMethodNotSupportedException: Request method ‘GET’ not supported]
17:24:35.874 [http-nio-8091-exec-2] DEBUG org.springframework.web.servlet.DispatcherServlet - Completed 405 METHOD_NOT_ALLOWED
在前端通过load(url)方法将静态页面加载到某个div的过程中中。总是不成功,浏览器405,js报错代码
原因分析
根据后台报错分析,前端向服务器发送请求但缺少参数。可是我前端是希望加载一个静态页面。而服务器的servlet将其当作一个请求匹配给了handler 方法名是addNotice
我的controller的请求路径为notice/addNotice
静态页面的目录结构为 项目根目录/notice/addNotice.html
我的当前端请求地址为:
load(${pageContext.request.contextPath}/notice/addNotice.html)
静态页面的上级目录名和,后台请求的路径名相同,dispatcherServlet将其拦截,去匹配handler所以导致以上错误。
解决方法
既然路径重复了,就把静态文件的文件夹名字修改一下。
如果情况一样,还没解决,一定要先检查一下静态资源是否放行了!
<!--静态资源放行-->
<mvc:default-servlet-handler/>