서론
HTTP 응답 메시지는 텍스트, HTML , JSON 내용을 담아서 전달한다. 각각의 사용법을 알아보자.
단순 데이터 응답
@WebServlet(name = "responseTextServlet", urlPatterns = "/response-text")
public class ResponseJsonServlet extends HttpServlet {
@Override
protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
//Contetnt-Type : application/json
response.setCharacterEncoding("utf-8");
response.getWriter().write("단순 텍스트 출력");
}
결과
response.getWriter().write를 이용하여 텍스트가 출력됨을 확인할 수 있다.
HTML 응답
@WebServlet(name = "responseHtmlServlet", urlPatterns = "/response-html")
public class ResponseHtmlServlet extends HttpServlet {
@Override
protected void service(HttpServletRequest request, HttpServletResponse
response)
throws ServletException, IOException {
//Content-Type: text/html;charset=utf-8
response.setContentType("text/html");
response.setCharacterEncoding("utf-8");
PrintWriter writer = response.getWriter();
writer.println("<html>");
writer.println("<body>");
writer.println(" <div>안녕?</div>");
writer.println("</body>");
writer.println("</html>");
}
}
html으로 응답을 받을 땐 ContentType을 "text/html"으로 지정을 하고 입력을 해야한다.
결과
오른쪽 버튼 -> 페이지 소스 보기를 들어가면
제대로 html이 출력됨을 확인할 수 있다.
Json 응답
//Hello data
package hello.servlet.basic;
import lombok.Getter;
import lombok.Setter;
@Getter @Setter
public class HelloData {
private String username;
private int age;
}
@WebServlet(name = "responseJsonServlet", urlPatterns = "/response-json")
public class ResponseJsonServlet extends HttpServlet {
private ObjectMapper objectMapper = new ObjectMapper();
@Override
protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
//Contetnt-Type : application/json
response.setContentType("application/json");
response.setCharacterEncoding("utf-8");
HelloData helloData = new HelloData();
helloData.setUsername("kim");
helloData.setAge(20);
//{"username": "kim" , "age":20}
String result = objectMapper.writeValueAsString(helloData);
response.getWriter().write(result);
}
}
Json 으로 응답을 받을 땐 ContentType을 "application/json"으로 지정을 하고 입력을 해야한다.
결과
참고
https://www.inflearn.com/course/%EC%8A%A4%ED%94%84%EB%A7%81-mvc-1/dashboard
'Programming > Back-end Language' 카테고리의 다른 글
[JAVA] ConcurrentModificationException 오류 원인 및 해결 방법 (0) | 2022.05.02 |
---|---|
[JAVA] 컬렉션 프레임워크란? (List/Set/Map) (2) | 2022.04.28 |
[Spring] Http API Json 형식 데이터 받고 출력하기 (0) | 2022.04.15 |
[JAVA] Http 요청 데이터 -GET쿼리 파라미터 사용 방법 (0) | 2022.04.14 |
[JAVA] 쓰레드 풀(Thread Pool)란? (0) | 2022.04.13 |