@RequestBody 사용시 에러가 납니다.
- 작성자 :
- 편*민
- 작성일 :
- 2014-02-21 16:06:27
- 조회수 :
- 1,882
- 구분 :
- 실행환경
- 진행상태 :
- 완료
Q
이곳 묻고 답하기에 있는 자료를 보고
egov-com-servlet.xml 에
<bean class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter">
<property name="webBindingInitializer">
<bean class="egovframework.com.cmm.web.EgovBindingInitializer"/>
</property>
<property name="customArgumentResolvers">
<list>
<bean class="egovframework.rte.ptl.mvc.bind.CommandMapArgumentResolver"/>
</list>
</property>
<property name="messageConverters">
<list>
<bean class="org.springframework.http.converter.StringHttpMessageConverter">
<property name="supportedMediaTypes">
<list>
<value>text/plain;charset=UTF-8</value>
</list>
</property>
</bean>
<ref bean="jsonHttpMessageConverter"/>
</list>
</property>
</bean>
<bean id="jsonHttpMessageConverter" class="org.springframework.http.converter.json.MappingJackson2HttpMessageConverter"/>
위와 같이 수정하고
@RequestMapping(value = "/mobile/bbs/SaveBbsData.do", method = RequestMethod.POST)
public void SaveBbsData(@RequestBody MobileBbsSearchVO boardVO,ModelMap map, HttpServletResponse response) throws Exception {
System.out.println("~~~~~~~~");
}
이런식으로 RequestBody 를 사용했는데
계속 알수없는 오류가 발생하였다고 하네요.
에러로그도 없어 어느 부분이 잘못된지 알수도 없고
어떻게 해야 될지 몰라서 물어봅니다.
뭔가 더 해 주어야 하는 것이 있나요?
egov-com-servlet.xml 에
<bean class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter">
<property name="webBindingInitializer">
<bean class="egovframework.com.cmm.web.EgovBindingInitializer"/>
</property>
<property name="customArgumentResolvers">
<list>
<bean class="egovframework.rte.ptl.mvc.bind.CommandMapArgumentResolver"/>
</list>
</property>
<property name="messageConverters">
<list>
<bean class="org.springframework.http.converter.StringHttpMessageConverter">
<property name="supportedMediaTypes">
<list>
<value>text/plain;charset=UTF-8</value>
</list>
</property>
</bean>
<ref bean="jsonHttpMessageConverter"/>
</list>
</property>
</bean>
<bean id="jsonHttpMessageConverter" class="org.springframework.http.converter.json.MappingJackson2HttpMessageConverter"/>
위와 같이 수정하고
@RequestMapping(value = "/mobile/bbs/SaveBbsData.do", method = RequestMethod.POST)
public void SaveBbsData(@RequestBody MobileBbsSearchVO boardVO,ModelMap map, HttpServletResponse response) throws Exception {
System.out.println("~~~~~~~~");
}
이런식으로 RequestBody 를 사용했는데
계속 알수없는 오류가 발생하였다고 하네요.
에러로그도 없어 어느 부분이 잘못된지 알수도 없고
어떻게 해야 될지 몰라서 물어봅니다.
뭔가 더 해 주어야 하는 것이 있나요?
A
안녕하세요. 편경민님
현재 표준프레임워크에서 제공하는 스프링 버전은 3.0.5입니다.
아래 처럼 해당 클래스명을 변경해 주시기 바랍니다.
MappingJackson2HttpMessageConverter(스프링 3.2.x) -> MappingJacksonHttpMessageConverter(스프링 3.0.5)
또한 추가적으로 아래와 같이 관련 라이브러리도 추가해 주시기 바랍니다.
<dependency>
<groupId>org.codehaus.jackson</groupId>
<artifactId>jackson-core-asl</artifactId>
<version>1.9.13</version>
</dependency>
<dependency>
<groupId>org.codehaus.jackson</groupId>
<artifactId>jackson-mapper-asl</artifactId>
<version>1.9.13</version>
</dependency>
마지막으로 해당 log4j.xml 에서 level 설정을 debug로 변경하시면 해당 오류가 발생하시는 것을 보실 수 있습니다.
고맙습니다.
현재 표준프레임워크에서 제공하는 스프링 버전은 3.0.5입니다.
아래 처럼 해당 클래스명을 변경해 주시기 바랍니다.
MappingJackson2HttpMessageConverter(스프링 3.2.x) -> MappingJacksonHttpMessageConverter(스프링 3.0.5)
또한 추가적으로 아래와 같이 관련 라이브러리도 추가해 주시기 바랍니다.
<dependency>
<groupId>org.codehaus.jackson</groupId>
<artifactId>jackson-core-asl</artifactId>
<version>1.9.13</version>
</dependency>
<dependency>
<groupId>org.codehaus.jackson</groupId>
<artifactId>jackson-mapper-asl</artifactId>
<version>1.9.13</version>
</dependency>
마지막으로 해당 log4j.xml 에서 level 설정을 debug로 변경하시면 해당 오류가 발생하시는 것을 보실 수 있습니다.
고맙습니다.