2014-07-08 3 views
0

Je suis en train de déployer un projet printemps jpa sur tomcat7 sur ubuntu13.04. J'ai commencé tomcat en utilisant sh startup.sh et j'ai reçu le message "Tomcat Started". Avant cela, j'ai copié mon ROOT.war dans/usr/share/tomcat7/webapps et j'ai donné la permission complète à ce dossier aussi. Et je peux voir que c'est correctement structuré.Obtenir 404 erreur non trouvée lors de l'exécution du projet jpa printemps sur tomcat7

Et ci-dessous est mon web.xml

<web-app xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" version="2.5"> 
    <display-name>Test App</display-name> 
<servlet> 
    <servlet-name>mvc-dispatcher</servlet-name> 
    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> 
<init-param> 
    <param-name>contextConfigLocation</param-name> 
    <param-value>/WEB-INF/mvc-dispatcher-servlet.xml</param-value> 
    </init-param> 
    <load-on-startup>1</load-on-startup> 
</servlet> 
<context-param> 
    <param-name>contextConfigLocation</param-name> 
    <param-value>/WEB-INF/spring/spring-context.xml</param-value> 
</context-param> 
<servlet-mapping> 
    <servlet-name>mvc-dispatcher</servlet-name> 
    <url-pattern>/</url-pattern> 
</servlet-mapping> 
<listener> 
    <listener-class>org.springframework.web.context.ContextLoaderListener</listener class> 
</listener> 
</web-app> 

Et ci-dessous le code fait partie de mon contrôleur:

@Controller 
@RequestMapping("/issue") 
public class IssueController { 

    @RequestMapping(value="/{userId}", method = RequestMethod.GET) 
    function to handle above request 
} 

Ci-dessous mon mvc-répartiteur-servlet.xml

<context:component-scan base-package="com.test.hello" /> 
<mvc:annotation-driven content-negotiation-manager="contentNegotiationManager" /> 
     <bean id="contentNegotiationManager" class="org.springframework.web.accept.ContentNegotiationManagerFactoryBean"> 
        <property name="favorPathExtension" value="true" /> 
        <property name="favorParameter" value="true" /> 
        <property name="mediaTypes" > 
         <value> 
          json=application/json 
          xml=application/xml 
         </value> 
        </property> 
     </bean> 

    <bean 
     class="org.springframework.web.servlet.view.InternalResourceViewResolver"> 
     <property name="prefix"> 
      <value>/WEB-INF/pages/</value> 
     </property> 
     <property name="suffix"> 
      <value>.jsp</value> 
     </property> 
    </bean> 

Mais maintenant, quand je cours http://localhost:8080/issue/1, je reçois 404 page introuvable.

+0

Avez-vous un ContextLoaderListener dans votre web.xml? –

+0

pouvez-vous partager votre web.xml complet? – Skizzo

+0

En tant que test, essayez d'appliquer cette petite modification (value = "/ user/{userId}", method = RequestMethod.GET). Faites-moi savoir comment il se comporte (je pense que je connais le problème). Assurez-vous également que vous appelez/issue/user/1 pour accéder à la méthode. – Aeseir

Répondre

0

Essayez de changer votre web.xml de cette façon:

<web-app> 
    <servlet> 
     <servlet-name>mvc-dispatcher</servlet-name> 
     <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> 
      <init-param> 
       <param-name>contextConfigLocation</param-name> 
       <param-value>/WEB-INF/mvc-dispatcher-servlet.xml</param-value> 
      </init-param> 
     <load-on-startup>1</load-on-startup> 
    </servlet> 


    <servlet-mapping> 
     <servlet-name>mvc-dispatcher</servlet-name> 
     <url-pattern>/*</url-pattern> 
    </servlet-mapping> 
    <listener> 
     <listener-class>org.springframework.web.context.ContextLoaderListener</listener class> 
    </listener> 
    </web-app> 
Questions connexes