문서 출력 방법 4가지

    서블릿 객체를 얻어서 문자열 출력하기

    @ResponsenBody 설정을 통한 문자열 출력하기

    ResourceViewResolver를 이용한 문서 출력하기

    TilesViewResolver를 이용한 문서 출력하기

     

    httpservletresponse를 통해 출력하기

     

    response, request를 선언만 하면 프런트 컨트롤러가 넘겨주어서 입력과 출력이 가능하다.

    ViewResolver 없이 페이지를 준비하지 않고 직접 출력

    스프링은 더 간단한 방법을 제공하고 있다.

    ViewResolver 없이 바로 사용자에게 보내라는 Annotation사용

    @ResponseBody

    HomeController.java

    package com.newlecture.web.controller;
    
    import java.io.IOException;
    import java.io.PrintWriter;
    
    import javax.servlet.http.HttpServletResponse;
    
    import org.springframework.stereotype.Controller;
    import org.springframework.web.bind.annotation.RequestMapping;
    import org.springframework.web.bind.annotation.ResponseBody;
    
    @Controller
    @RequestMapping("/")
    public class HomeController {
    	
    	@RequestMapping("index")
    	@ResponseBody
    	public String index() {
    
    		return "Hello Index 1";	
    	}
    	
    	/*
    	 * @Override public ModelAndView handleRequest(HttpServletRequest request,
    	 * HttpServletResponse response) throws Exception { // TODO Auto-generated
    	 * method stub ModelAndView mv = new ModelAndView("root.index"); //객체생성
    	 * mv.addObject("data", "Hello Spring MVC~"); //데이터 담음
    	 * //mv.setViewName("/WEB-INF/view/index.jsp"); //데이터 담은거 setting
    	 * 
    	 * return mv; }
    	 */
    
    }
    

     


    RestController와 한글 출력

    자바스크립트를 가지고 프런트를 개발하는 사람이 따로 있다면 또는 프런트에서 작업이 있다면

    이렇게 제공해주면 된다.

     

    @RestController

    특화된 컨트롤러로 RESTfull 형태의 결과물을 반환하는 클래스

    NoticeController noticeController new NoticeController
    <bean id="noticeController" class = ".... NoticeController"> 같은 이름이 있기 때문에 오류 
    @RestController("apiNoticeController") 이름을 정해준다.

    한글이 깨져서 출력되는 것을 확인할 수 있다.

    한글 처리되게끔 만들기

    servlet-context.xml


    JSON 출력하기

    서버에서 객체를 반환하면 클라이언트(자바스크립트)에서 객체 값을 받을 수 있게 하기

    JSON 만들기

     

    공지사항 목록을 JSON으로 변환하기 위한 컨트롤러

    POM.xml 파일에 라이브러리 추가

    <dependency>
    	<groupId>com.fasterxml.jackson.core</groupId>
    	<artifactId>jackson-databind</artifactId>
    	<version>2.11.2</version>
    </dependency>

     

    • 네이버 블러그 공유하기
    • 네이버 밴드에 공유하기
    • 페이스북 공유하기
    • 카카오스토리 공유하기
    loading