2014-07-08 1 views
0

tomcat7에 spring jpa 프로젝트를 ubuntu13.04에 배포하려고합니다. 나는 sh startup.sh 을 사용하여 바람둥이를 시작했으며 "Tomcat Started"메시지를 받았습니다. 전에이 ROOT.war를/usr/share/tomcat7/webapps에 복사했으며이 폴더에 대한 전체 권한도 부여했습니다. 그리고 그것이 올바르게 구조화 된 것을 볼 수 있습니다.tomcat7에서 spring jpa 프로젝트를 실행할 때 404를 찾을 수 없다는 오류가 발생했습니다.

그리고 아래는 내 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> 

입니다 그리고 코드 아래에 내 컨트롤러의 일부입니다 : 아래

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

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

이 내 MVC-디스패처-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> 

하지만 이제 http://localhost:8080/issue/1을 실행하면 404 페이지를 찾을 수 없습니다.

+0

당신은 당신의 web.xml에 ContextLoaderListener에이 있습니까? –

+0

web.xml을 완벽하게 공유 할 수 있습니까? – Skizzo

+0

테스트에서이 작은 변경 사항을 적용 해보십시오 (value = "/ user/{userId}", method = RequestMethod.GET). 나에게 그것이 어떻게 행동하는지 (나는 내가 그 문제를 안다 고 생각한다) 알린다. 또한/issue/user/1에 전화하여 메소드에 액세스해야합니다. – Aeseir

답변

0

에 한번 이런 식으로 당신의 web.xml을 변경합니다 :

<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> 
관련 문제