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

前端之家收集整理的这篇文章主要介绍了如何配置Spring MVC DispatcherServlet以避免url带有扩展名?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

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

我的配置是:

web.xml中:

   

主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.f2er.com/spring/432213.html

猜你在找的Spring相关文章