spring SimpleUrlHandlerMapping 到 robots.txt
-
27-09-2019 - |
题
我正在使用 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 的名称有些可疑,您知道吗?
解决方案
我猜你的 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>
. 。请注意,此方法需要付出一些努力来提供静态内容,请参阅 这里.
不隶属于 StackOverflow