Bonjour,

J'ai un soucis tout bête mais que je n'arrive pas à régler.
Je débute une petite application avec spring et maven et j'aimerai mettre un lien href sur la page index.jsp pour me rediriger vers une page de login.
ma page index.jsp se trouve dans src/main/webapp
et la page loginForm.jsp est dans /src/main/webapp/WEB-INF/jsp

J'ai donc mis dans index.jsp
Code : Sélectionner tout - Visualiser dans une fenêtre à part
<A HREF="/WEB-INF/jsp/loginForm.jsp">login</A>
Mais j'ai une erreur404

voici mon web.xml
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
         xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5">
 
            <display-name>tutorial</display-name>
            <description>SpringDemo</description>
			<!-- défini le fichier qui sera lancé par défaut 
		    par défaut c'est index.jsp se trouvant dans webapp
			<welcome-file-list>
		        <welcome-file>/WEB-INF/jsp/loginForm.jsp</welcome-file>
		    </welcome-file-list>-->
            <servlet>
                <servlet-name>dispatcher</servlet-name>
                <servlet-class>org.springframework.web.servlet.DispatcherServlet
                </servlet-class>
                <load-on-startup>1</load-on-startup>
            </servlet>
            <servlet-mapping>
                        <servlet-name>dispatcher</servlet-name>
                        <url-pattern>/</url-pattern>
            </servlet-mapping>
			<!-- le conflit semble venir de cette ligne -->
            <listener>
                        <listener-class>org.springframework.web.context.ContextLoaderListener
                        </listener-class>
            </listener>
           	<listener>
		        <listener-class>org.springframework.web.context.request.RequestContextListener</listener-class>
		    </listener>
 
 
            <context-param>
	            <param-name>contextConfigLocation</param-name>
	            <param-value>
	            /WEB-INF/dispatcher-servlet.xml,
	            /WEB-INF/spring-security.xml
	            </param-value>
            </context-param>
 
            <!-- Spring Security -->
            <filter>
                 <filter-name>springSecurityFilterChain</filter-name>
                 <filter-class>
                  org.springframework.web.filter.DelegatingFilterProxy
                </filter-class>
            </filter>
            <filter-mapping>
                 <filter-name>springSecurityFilterChain</filter-name>
                 <url-pattern>/*</url-pattern>
            </filter-mapping>
</web-app>
et le dispatcher-servlet.xml
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.springframework.org/schema/p"
       xmlns:context="http://www.springframework.org/schema/context"
       xsi:schemaLocation="http://www.springframework.org/schema/beans
        http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
        http://www.springframework.org/schema/context
        http://www.springframework.org/schema/context/spring-context-3.0.xsd">
    <context:annotation-config/>
    <!-- 
    Ce fichier placé dans le dossier WEB-INF (identique au dossier du fichier web.xml), 
    va indiquer à Spring de rechercher les annotations dans les codes sources.
 
Du coup, nous n’aurons plus besoin de déclarer nos contrôleurs dans ce fichier.
 
Le balise   <context:component-scan base-package= »com.irontech.testapp.controller »/> 
indique à Spring de rechercher des annotations dans les classes situées dans le package com.irontech.testapp.controller. 
Il est possible dans spécifier plusieurs en les séparant par des virgules
     -->
    <context:component-scan base-package="tuto.start.controller"/>
 
 
    <!--<bean id="viewResolver"
          class="org.springframework.web.servlet.view.UrlBasedViewResolver">
        <property name="viewClass" value="org.springframework.web.servlet.view.JstlView"/> 
        <property name="viewClass" value="org.springframework.web.servlet.view.tiles2.TilesView"/>
        <property name="prefix" value="/WEB-INF/jsp/"/>
        <property name="suffix" value=".jsp"/>
    </bean>
 
 
    <bean id="tilesConfigurer" class="org.springframework.web.servlet.view.tiles2.TilesConfigurer">
	   <property name="definitions">
	     <list>
	       <value>/WEB-INF/tiles.xml</value>
	     </list>
	   </property>
	 </bean>-->
 
	 <bean id="viewResolver" class="org.springframework.web.servlet.view.UrlBasedViewResolver">
	   <property name="viewClass" value="org.springframework.web.servlet.view.JstlView"/>
	   <!--<property name="prefix" value="/WEB-INF/jsp/"/>
        <property name="suffix" value=".jsp"/>-->
	 </bean>
 
 
</beans>


Merci de votre aide