Christmas Pikachu JSP & Servlet - Servlet(기본) 2
개발일지/JSP

JSP & Servlet - Servlet(기본) 2

ZI_CO 2022. 11. 23.

- WAS 의 동작 방식에 대한 이해

 

- JSON 형식으로 응답 처리

 

- request 객체와 response 객체를 살펴 보고 할 수 있는 것들을 확인해 보자

 

- 한글 깨짐 문제를 확인하고 해결 방안 모색

 

- MIME TYPE 에 대한 이해

 

 

1. [xxx.java](http://xxx.java) 파일과 xxx.class 파일이 어디에 생성 되었는지 확인하고 경로를 적어 주세요

2. 순수 자바코드인 서블릿을 이용해서 json 형식으로 데이터를 리턴해 보자. ex) { "name": “홍길동", "age": 10, "isMarried": false }

3. 한글이 만약 깨진다면 해결 하시오

4. MIME TYPE 을 설정해서 응답 결과를 그냥 평문으로 리턴해 보자.

 

 

package com.project.test;

import java.io.IOException;
import java.io.PrintWriter;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

/**
 * Servlet implementation class TestServlet
 */
@WebServlet("/tservlet")
public class TestServlet extends HttpServlet {
	private static final long serialVersionUID = 1L;

	public TestServlet() {
		super();
	}

// request, response 객체는 웹 컨테이너가 먼저 만들어 주는 녀셕이다.
// get 요청시 콜백 반응
	protected void doGet(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {
		
		response.setContentType("application/json; charset=utf-8");
		
		// json 형식도 결국에는 문자열이다. - 패턴이 있는 문자열
		String reJson = "{\r\n"
				+ "	\"name\":\"홍길동\",\r\n"
				+ "	\"age\":10,\r\n"
				+ "	\"isMarried\":false\r\n"
				+ "}";
		
		
		
		// 응답 객체에 담아야 사용자가 받아 볼 수 있다. --> response 이다.
		response.getWriter().write(reJson); // json형태의 문자열을 응답해줄때 json형태로 응답함!
	}

	protected void doPost(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {
// doGet(request, response);
		System.out.println("여기는 post 방식으로 접근했어요!!! ");
	}
}

 

 

1번 코드 : 응답을 해줄때 ContentType을 json형태와 한글을 깨짐을 방지하기위해서 셋팅을 해준다 순서가 맨위가아닌 밑에있으면 응답을해줄때 깨짐 발생이 일어 날 수 있기때문에 맨위! 응답해줄 맨 처음 부분에 써줘야 한다.

 

2번 코드 : json형태로 응답을 던저줘야한다. json도 문자열이기때문에 형태에 맞게끔 변수에 넣어줘 샘플 데이터를 준비해서 요청이 들어오면 응답을 해줄수가 있다.

 

3번 코드 : 응답을 해주는 json의 문자열을 담아서 getWriter().write()메소드를 활용하면 된다.

 

 

댓글