2010-06-12 8 views
0

Je crée une application web très simple (bonjour World Quality) en utilisant spring mvc 3.0. lors du déploiement de l'application sur tomcat 6.0.26 et je tente d'ouvrirprintemps mvc 3.0 petite application web ne fonctionne pas vraiment

http://localhost:8080/protoweb/helloWorld.html

je reçois 404, ressources /protoweb/WEB-INF/jsp/helloWorld.jsp ne sont pas disponibles. La chose amusante est qu'il IS un helloWorld.jsp là-bas.

une idée de ce que je fais mal?

ici est mon web.xml

<?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>hello-spring3-RC1</display-name> 
<context-param> 
    <param-name>contextConfigLocation</param-name> 
    <param-value>/WEB-INF/yummy-servlet.xml</param-value> 
</context-param> 

<listener> 
    <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> 
</listener> 
<servlet> 
<servlet-name>yummy</servlet-name> 
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> 
<load-on-startup>1</load-on-startup> 
</servlet> 

<servlet-mapping> 
<servlet-name>yummy</servlet-name> 
<url-pattern>*.html</url-pattern> 
</servlet-mapping> 

<welcome-file-list> 
<welcome-file>index.html</welcome-file> 
</welcome-file-list> 
</web-app> 

mon délicieux-servlet.xml

<?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:component-scan base-package="com.mine.web.controllers"/> 

    <bean id="jspViewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver"> 
    <property name="viewClass" value="org.springframework.web.servlet.view.JstlView"/> 
    <property name="prefix" value="/WEB-INF/jsp/"/> 
    <property name="suffix" value=".jsp"/> 
</bean> 
</beans> 

mon contrôleur très simple:

package com.mine.web.controllers; 


import org.springframework.stereotype.Controller; 
import org.springframework.web.bind.annotation.RequestMapping; 
import org.springframework.web.servlet.ModelAndView; 

@Controller 
public class BasicController { 

    @RequestMapping(value = "/helloWorld") 
    public ModelAndView helloWorld() { 
    ModelAndView mav = new ModelAndView(); 
     mav.setViewName("helloWorld"); 
     mav.addObject("message", "Hello some basic message for u"); 
     return mav; 

    } 
} 

et mon webapp/jsp/helloWorld. jsp

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> 
<html> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> 
<title>Hello</title> 
</head> 
<body> 
${message} 
</body> 
</html> 

aussi, il pourrait être utile de poster mon pom.xml

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> 
    <modelVersion>4.0.0</modelVersion> 
    <groupId>com.mine</groupId> 
    <artifactId>protoweb</artifactId> 
    <packaging>war</packaging> 
    <version>1.0-SNAPSHOT</version> 
    <name>protoweb Maven Webapp</name> 
    <url>http://maven.apache.org</url> 
    <repositories> 
<repository> 
    <id>springsource maven repo</id> 
    <url>http://maven.springframework.org/milestone</url> 
</repository> 
</repositories> 
    <dependencies> 
    <dependency> 
    <groupId>org.springframework</groupId> 
    <artifactId>spring-webmvc</artifactId> 
    <version>3.0.0.RC1</version> 
</dependency> 
    <dependency> 
     <groupId>junit</groupId> 
     <artifactId>junit</artifactId> 
     <version>3.8.1</version> 
     <scope>test</scope> 
    </dependency> 
    <dependency> 
    <groupId>javax.servlet</groupId> 
    <artifactId>jstl</artifactId> 
    <version>1.1.2</version> 
    <scope>compile</scope> 
</dependency> 
    </dependencies> 
    <build> 
    <finalName>protoweb</finalName> 
    <plugins> 
    <plugin> 
     <groupId>org.codehaus.mojo</groupId> 
     <artifactId>tomcat-maven-plugin</artifactId> 
     <configuration> 
      <configurationDir>tomcat</configurationDir> 
       <url>http://localhost:8080/manager</url> 
       <username>test</username> 
       <password>test</password> 
     </configuration> 
    </plugin> 
    </plugins> 
    </build> 
</project> 
+0

Etes-vous sûr de votre JSP est dans '/WEB-INF/jsp', et pas dans' /jsp'? – skaffman

+0

c'était tout! Merci! j'avais le jsp dans src/main/webapp/jsp mais apparemment le mvn tomcat: deploy le copie à /jsp plutôt que WEB-INF/jsp – lurscher

Répondre

1

Il est difficile de dire sans une liste de répertoire approprié, mais votre arbre source doit être:

pom.xml 
src 
    /main 
     /java # all your java sources 
     /webapp # stuff for the web app 
       /WEB-INF 
         /jsp/helloWorld.jsp 
Questions connexes