2014-01-08 2 views
1

Spring MVC를 기존 애플리케이션에 구현하려고했지만 몇 시간이 걸리더라도 문제가 해결되지 않았다. 스프링 애플리케이션을 사용하는 JSP는 이미 문제없이 실행 중이며 아직 작동 중이다. 요청이 MVC 서블릿의 패턴에 맞아야 할 때마다 실제로 요청을 보냅니다. 하지만 컨트롤러에서 그것을 잡을 수는 없습니다.JSP로 기존 Spring에서 Spring MVC 사용하기

은 첫째는 나는 단지 다음과 같은 속성을 가진, 내가 서블릿 파일 디스패처-servlet.xml 파일을 만든 다음 사용 된 서블릿을

<servlet> 
     <servlet-name>Faces Servlet</servlet-name> 
     <servlet-class>javax.faces.webapp.FacesServlet</servlet-class> 
     <load-on-startup>2</load-on-startup> 
    </servlet> 
    <servlet> 
     <servlet-name>PdfServlet</servlet-name> 
     <servlet-class>servlet.PdfServlet</servlet-class> 
    </servlet> 

    <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>*.htm</url-pattern>  
    </servlet-mapping> 

을 정의 내 web.xml의 :

<bean class="org.springframework.web.servlet.mvc.support.ControllerClassNameHandlerMapping"/> 

<context:component-scan base-package="at.htlstp.app.mvc"/> 

<context:annotation-config /> 

지금은 주어진 컨트롤러는 @PostConstruct 메서드로 찾을 수있는 인스턴스화되었습니다. 그러나 요청에 대해서는 호출되지 않습니다.

@Controller 
//@RequestMapping(value = "*.htm") 
public class AndroidController implements Serializable { 

    @PostConstruct 
    private void setup() { 
     System.out.println("Class created!"); 
    } 


    @RequestMapping(value = "test.htm", method = RequestMethod.GET) 
    public String findDepatment() { 
     System.out.println("Method called"); 
     return "<H1>bar</H1>"; 
    } 

} 

* .htm과 일치하는 신청서를 요청할 때마다 다음 오류 만 표시됩니다.

WARNING: No mapping found for HTTP request with URI [/ViewMyMarks/test.htm] in DispatcherServlet with name 'dispatcher' 

과거에 같은 문제가 있었다면 정말 고맙겠습니다. 내 유일한 생각은 컨트롤러가 JSP 요청에 사용되고 MVC가 인스턴스를 생성하지 않는다는 것입니다. 그렇다면 그것은 일치하는 패턴을 찾을 수 없을 것입니다. 그러나 나는 그것에 대해 무엇을 할 수 있습니까?

답변

1

dispatcher-servlet.xml에는 mvc 기반 주석 정보가 지정된 행에 없습니다.

<mvc:annotation-driven /> 

요청 매핑은이 스프링 MVC의 설명서를 참조 /

@RequestMapping(value = "/test.htm", method = RequestMethod.GET) 

에서 값을 시작했습니다. 그것은 당신이 봄 mvc를 이해하는 데 도움이됩니다 http://docs.spring.io/spring/docs/current/spring-framework-reference/html/mvc.html

+0

트릭을 해 줘서 고마워요! 나는 꽤 오랜 시간 동안 MVC와 함께 일하고 있지 않았으며 컴포넌트 스캔이 그것을 할 것이라고 생각했다. 신청서가 현재 작동 중입니다. – user3172493

관련 문제