6 TomCat: peut accueillir la page être à l'intérieur WEB-INF?
Question
Je suivre cet exemple pour obtenir Spring Up & fonctionnement: http://static.springsource.org/docs/Spring-MVC-step-by-step/part2.html
Ce qu'ils font est de déplacer tous les fichiers .jsp dans le WEB-INF, pour empêcher les utilisateurs les accès directement ... si tout va bien. Cependant, le servlet a une page d'accueil de index.jsp, et quand cela est déplacé à l'intérieur du répertoire WEB-INF Je reçois des erreurs. Je ne peux pas déterminer si Tomcat 6 devrait permettre à la page d'accueil d'être à l'intérieur WEB-INF ou non?
La solution
Rien à l'intérieur est accessible directement WEB-INF, mais il faut d'abord passer par quelque chose d'autre (généralement un servlet), qui transmet ensuite la demande interne à la ressource WEB-INF.
Autres conseils
Je suis en train le même tutoriel. Le tutoriel ne dit pas cela, mais je changé la valeur dans mon web.xml de « index.jsp » à « /WEB-INF/jsp/index.jsp ».
J'utilise cette technique (qui fonctionne pour l'API Servlet> = 2.4):
<servlet-mapping>
<servlet-name>dispatcher</servlet-name>
<url-pattern>/</url-pattern>
<url-pattern>/index.htm</url-pattern> <<== *1*
</servlet-mapping>
<welcome-file-list>
<welcome-file>index.htm</welcome-file> <<== *2*
</welcome-file-list>
de sorte que vous ne avez plus besoin redirect.jsp
avec:
<% response.sendRedirect("/myproject/MyAction.action"); %>
dans le répertoire non WEB-INF
!!
Voici deux blogs avec la même technique:
- http://technologicaloddity.com/2010/03 / 25 / printemps-welcome-file-sans-redirect /
- http://wiki.metawerx.net/wiki/HowToUseAServletAsYourMainWebPage
UPDATE section SRV.9.10 Welcome Files
de la documentation Servlet API 2.4
^
The purpose of this mechanism is to allow the deployer to specify an ordered list of partial URIs for the container to use for appending to URIs when there is a request for a URI that corresponds to a directory entry in the WAR not mapped to a Web component. This kind of request is known as a valid partial request. The use for this facility is made clear by the following common example: A welcome file of `index.html' can be defined so that a request to a URL like host:port/webapp/directory/, where `directory' is an entry in the WAR that is not mapped to a servlet or JSP page, is returned to the client as `host:port/ webapp/directory/index.html'.