- 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()메소드를 활용하면 된다.
'개발일지 > JSP' 카테고리의 다른 글
Servlet Life-Cycle(서블릿 생명주기) (0) | 2022.11.24 |
---|---|
Servlet - reques, response (0) | 2022.11.24 |
Servlet Mapping 하는방법 2가지 (0) | 2022.11.23 |
JSP & Servlet - Servlet(기본) 1 (0) | 2022.11.23 |
서블릿 만드는 방법 (추가 톰캣 빌드패스하기) (0) | 2022.11.23 |
댓글