2010-10-01 8 views
0

J'utilise frameworking au printemps suivant est la mise en correspondance d'URL pour contrôleurprintemps 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> 

Quand je frappe le contrôle controller.web obtient au contrôleur Web, mais quand je frappe le contrôle robots.txt faire pas transférer à la robotsController à la place, il essaie de trouver la ressource robots.txt si je supprime robots.txt du contexte dir, il dit ressource introuvable.

si je change robots.txt à robots.web cela fonctionne bien cela signifie qu'il ya quelque chose de louche avec le nom de robots.txt une idée?

Répondre

2

Je suppose que votre DispatcherServlet est mappé comme <url-pattern>*.web</url-pattern>, par conséquent il gère uniquement les demandes à *.web.

Si vous voulez DispatcherServlet pour gérer la demande avec des extensions différentes, vous avez plusieurs options:

  • Ajouter plusieurs url-pattern s à <servlet-mapping>:

    <url-pattern>*.web</url-pattern> 
    <url-pattern>*.txt</url-pattern> 
    
  • traiter toutes les demandes avec DispatcherServlet cartographiés comme <url-pattern>/</url-pattern>. Notez que cette approche nécessite un certain effort pour servir le contenu statique, voir here.