2010-10-01 28 views
0

我使用的春天frameworking的URL映射到控制器春天SimpleUrlHandlerMapping建立到的robots.txt

<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的名稱可腥的任何想法嗎?

回答

2

我想你的DispatcherServlet映射爲<url-pattern>*.web</url-pattern>,因此它只處理*.web的請求。

如果你想DispatcherServlet來處理與不同的擴展要求,您有幾種選擇:

  • 添加幾個url-pattern s到<servlet-mapping>:與DispatcherServlet映射爲<url-pattern>/</url-pattern>

    <url-pattern>*.web</url-pattern> 
    <url-pattern>*.txt</url-pattern> 
    
  • 處理所有的請求。請注意,此方法需要一些努力來提供靜態內容,請參閱here