Error code 모음/5. JAVA, Spring errors

[Spring Error] The DispatcherServlet configuration needs to include a HandlerAdapter that supports this handler

쟈누이 2021. 3. 7. 17:27
반응형

1. 에러의 원인


Controller 의 요청이 메소드 단위로 세분화되면서, Default Annotation Handler Mapping 이 Aannotation Method Handler Adapter 로 handler 를 전달해 줄때 문제가 생겼기 때문이다.

 

즉, handler 관련 config 값이 제대로 설정되지 않은 것이었다.

위 에러를 두가지 방법으로 해결했었다

 

 

2. dispathcer-servlet 의 설정 추가


아래 코드처럼 설정을 지정하여 servlet 설정을 해주었다.

<!-- 사용자지정 -->
	<!-- java의 공통 패키지 -->
    <context:component-scan base-package="com.kpop.*">
        <context:include-filter type="annotation" expression="org.springframework.stereotype.Controller" />
    </context:component-scan>
    
    <!-- Ajax 주석문 허가 -->
	<mvc:annotation-driven/>
	<!-- 스프링에서 처리할 수 없는 요청은 tomcat에 위임 -->
	<mvc:default-servlet-handler/>
     
     
    <mvc:interceptors>
    

 

 

3. @EnableWebMvc 사용


위 어노테이션은 Spring Framework에서 여러 Config 값을 알아서 세팅해준다는 장점이 있는데 이런 편리함 때문에 @EnableWebMvc 어노테이션을 사용해서 해결할 수 있다. Controller 에 위 어노테이션을 사용하면 된다.

 

 

 

 

4. 결과


두개 모두 에러를 해결할 수 있지만, 아무래도 위 에러가 발생하는 원인은 전부 다르기 때문에 어노테이션으로 스프링의 기본 설정을 간단하게 해결할 수 있는 3번 해결방법이 괜찮은 것 같다.

반응형