【问题标题】:Exclude url from mvc dispatcher从 mvc 调度程序中排除 url
【发布时间】:2013-10-03 10:19:36
【问题描述】:

有没有办法让一些特定的url不被spring mvc控制器拦截?

web.xml

 <servlet>
    <servlet-name>mvc-dispatcher</servlet-name>
    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
    <load-on-startup>1</load-on-startup>
  </servlet>

  <servlet-mapping>
    <servlet-name>mvc-dispatcher</servlet-name>
    <url-pattern>*.jsp</url-pattern>
  </servlet-mapping>

控制器:

@RequestMapping(value="getState.jsp", method = RequestMethod.GET)
    public @ResponseBody Map<String,? extends Object> loadStates() {

....... }

现在,如果我请求 index.jsp,它会显示“未找到映射”并且不会呈现页面。
在基于注释的部署中避免这种情况的最佳做法是什么?

【问题讨论】:

标签: spring spring-mvc


【解决方案1】:

排除某些 URL 被调度程序 servlet 拦截的一般方法是添加以下内容:

 <servlet-mapping>
   <servlet-name>default</servlet-name>  
   <url-pattern>URLYouWantToExclude</url-pattern>
 </servlet-mapping>

这应该可以在 Tomcat 和 Jetty 中使用。

【讨论】:

  • 你的意思是说默认覆盖所有其他定义的servlet?
  • 更具体的 URL 优先于 AFAIK。
  • 很抱歉,我没有得到这样做的确切目的。
猜你喜欢
  • 2013-04-25
  • 2019-11-03
  • 2012-12-18
  • 2016-11-23
  • 2015-01-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-01-27
相关资源
最近更新 更多