一. 回顾
前面Day23——静态资源请求问题分析分析了静态资源请求问题,今天讲解解决方案
静态资源:html,js,mp3,mp4,txt,jpg
问题原因:因为在web.xml中配置的<url-pattern>
为/,会匹配到所有的请求(除了jsp)。所以静态资源的请求也交给了DispatcherServlet处理,就会导致no mapping found
二. 解决方案
<url-pattern>
配置 后缀匹配,如*.do,*.action,等等,但是不推荐使用这种方式。因为优秀的REST风格的url,不希望带有任何后缀- 在Springmvc.xml加入一个配置:
<mvc:default-servlet-handler/>
。将在SpringMVC上下文配置一个DefaultServletHttpRequestHandler,他会对进入DispatchServlet的请求进行筛查,如果发现是没有经过映射的请求,就将该请求交由WEB应用服务器默认的Servlet处理。如果经过映射的请求,才由DispatcherServlet继续处理
在springmvc.xml中配置,代码如下:
<!-- 解决静态资源请求问题 -->
<mvc:default-servlet-handler/>
<mvc:annotation-driven></mvc:annotation-driven>
在index.jsp中给删除超链接绑定点击事件,获取href值并赋给某个表单中再提交:
在handler里面添加处理请求方法: