14. 데이터 처리 결과 : (modelAndView -> json) Web에서 확인

1. dependency 설정

<!-- ************************************************************ -->
<!-- 데이터 처리 결과 :  (modelAndView -> json) Web에서 확인 -->
<!-- 최신 버전 찾는 중... -->
<!-- ************************************************************ -->
<dependency>
    <groupId>com.fasterxml.jackson.core</groupId>
    <artifactId>jackson-databind</artifactId>
    <version>2.9.0</version>
</dependency>

<dependency>
    <groupId>org.codehaus.jackson</groupId>
    <artifactId>jackson-mapper-asl</artifactId>
    <version>1.9.13</version>
</dependency>

<!-- ************************************************************ -->

 

2. servlet-context.xml 설정 추가

   - org.springframework.web.servlet.view.json.MappingJackson2JsonView 관련 추가

   - org.springframework.web.servlet.view.BeanNameViewResolver 관련 추가

   - 나머지 코드는 위치 확인용

   - src > main > webapp > WEB-INF > spring > appServlet > servlet-context.xml

<!-- Resolves views selected for rendering by @Controllers to .jsp resources in the /WEB-INF/views directory -->
<beans:bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
    <beans:property name="prefix" value="/WEB-INF/views/" />
    <beans:property name="suffix" value=".jsp" />
</beans:bean>

<!-- 데이터 처리 결과 :  (modelAndView -> json) Web에서 확인 -->
<beans:bean id="jsonView" class="org.springframework.web.servlet.view.json.MappingJackson2JsonView">
    <beans:property name="contentType" value="application/json;charset=UTF-8"></beans:property>
</beans:bean>
<beans:bean id="viewResolver" class="org.springframework.web.servlet.view.BeanNameViewResolver">
    <beans:property name="order" value="0"></beans:property>
</beans:bean>

<context:component-scan base-package="com.hhkim.homepage" />

 

3. 컨트롤러 및 서비스, 쿼리

   - 참조 : https://hwihyeon.tistory.com/17

 

9. Controller - Service - Query 연동 및 테스트

1. Request Url Mapping 추가  - context:component-scan : @Controller, @Service, @Repository, @Component 등의 Annotation을 붙인 클래스를 bean으로 자동 등록한다.  - base-package를 기준으로 스캔, 클래..

hwihyeon.tistory.com

   - 컨트롤러 맵핑 라인 변경 : @RequestMapping(value="test.do", produces="text/plain;charset=UTF-8")

package com.hhkim.homepage.controller;

import java.util.HashMap;
import java.util.Map;

import javax.annotation.Resource;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.servlet.ModelAndView;

import com.hhkim.homepage.service.testService;

import core.base.BaseController;


@Controller
@RequestMapping("/base")
public class testController extends BaseController {
	
	@Resource
	private testService tSvc;
	
	@RequestMapping(value="test.do", produces="text/plain;charset=UTF-8")
	public ModelAndView testRequest(@RequestParam Map<String, Object> iParam) {
		Map<String, Object> rtMap	= null;
		
		try {
			System.out.println("testRequest 컨트롤러 호출 확인");
			
			rtMap = tSvc.testSRequest(iParam);
						
		}catch(Exception e) {
			System.out.println("testRequest Error  : " + e.toString());
			
		}
		
		ModelAndView modelAndView = new ModelAndView("jsonView", rtMap);
		
		System.out.println("modelAndView 결과 확인 : " + modelAndView);
		
		return modelAndView;
		
	}

}

 

4. 결과 확인