我正在使用spring框架,以下是url到controller
的映射<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如果我从上下文dir删除robots.txt它说资源未找到。
如果我将robots.txt更改为robots.web它可以正常工作,这意味着有一些东西可以使用robots.txt的名字吗?
答案 0 :(得分:2)
我猜你的DispatcherServlet
被映射为<url-pattern>*.web</url-pattern>
,因此它只处理*.web
的请求。
如果您希望DispatcherServlet
处理具有不同扩展名的请求,您可以选择以下几种方法:
将多个url-pattern
添加到<servlet-mapping>
:
<url-pattern>*.web</url-pattern>
<url-pattern>*.txt</url-pattern>
处理DispatcherServlet
映射为<url-pattern>/</url-pattern>
的所有请求。请注意,此方法需要一些努力来提供静态内容,请参阅here。