微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何配置Spring MVC DispatcherServlet以避免url带有扩展名?

我有一个Spring(4.1.6.RELEASE)MVC项目,其中一个控制器映射到/ home,但我的问题是它也被调用用于/home.html或/home.do之类的路径

我的配置是:

web.xml中:

   dispatcherServletservlet-mapping>
      servlet-mapping>

主servlet.xml中:

   

HomeController.java:

@Controller
@RequestMapping({"/","/home"})
public class HomeController {  
   @RequestMapping(method = RequestMethod.GET)
   public String doGet(Model model) {
        // ...
        return "home";
    }
}

正如类似问题所示:

> Spring MVC; avoiding file extension in url?
> Spring MVC: Avoiding file extension in URL
> spring mvc how to bypass DispatcherServlet for *.html files?

我尝试添加以下配置:

   

   

但没有成功.

当我调试dispatcherServlet时,我可以看到RequestMappingHandlerMapping和DefaultAnnotationHandlerMapping的实例没有将上面的注释属性设置为false.

似乎一个简单的配置应该这样做,但我遗漏了一些我无法找到的东西.

我应该如何正确配置dispatcherServlet以避免映射路径中的文件扩展名?

提前致谢.

最佳答案
根据Spring doc,配置应该在mvc:annotation-driven下,例如

  

正如docs所述

Whether to use suffix pattern match (".*") when matching patterns to
requests. If enabled a method mapped to "/users" also matches to
"/users.*". The default value is true.

原文地址:https://www.jb51.cc/spring/432213.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐