0

我正在使用spring框架以下是url到控制器的映射

<bean id="urlMapping" class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
<property name="mappings">
<props>
<prop key="/controller.web">webController</prop>
<prop key="/robots.txt">robotsController</prop>
</props>
</property>
</bean>

当我点击controller.web 控制进入网络控制器但是当我点击robots.txt 控制不转移到robotsController 相反它试图找出资源robots.txt 如果我从上下文目录中删除robots.txt 它说找不到资源.

如果我将 robots.txt 更改为 robots.web,它工作正常,这意味着 robots.txt 的名称有些可疑,知道吗?

4

1 回答 1

2

我猜你DispatcherServlet的映射为<url-pattern>*.web</url-pattern>,因此它只处理对 的请求*.web

如果您想DispatcherServlet处理具有不同扩展名的请求,您有几种选择:

  • 将几个url-patterns 添加到<servlet-mapping>

    <url-pattern>*.web</url-pattern>
    <url-pattern>*.txt</url-pattern>
    
  • 处理所有DispatcherServlet映射为的请求<url-pattern>/</url-pattern>。请注意,这种方法需要一些努力来提供静态内容,请参见此处

于 2010-10-01T11:11:13.610 回答