오봉이와 함께하는 개발 블로그
스프링 MVC 1 - HttpServletResponse 사용법 본문
728x90
HttpServletResponse - 기본 사용법
- 역할
- HTTP 응답 메시지 생성
- HTTP 응답 코드 지정
- 헤더 생성
- 바디 생성
- HTTP 응답 메시지 생성
- 편의 기능 제공
- Content-type 편리하게 지정
- 쿠키 편리하게 생성
- Redirect
코드
@WebServlet(name = "responseHeaderServlet", urlPatterns = "/response-header")
public class ResponseHeaderServlet extends HttpServlet {
@Override
protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// status line
response.setStatus(HttpServletResponse.SC_OK); // 200
// response header
response.setHeader("Content-Type", "text/plain;charset=utf-8");
response.setHeader("Cache-Control", "no-cache, no-store, must-revalidate");
response.setHeader("Pragma", "no-cache");
response.setHeader("my-header", "hello"); // 사용자 임의 헤더
PrintWriter writer = response.getWriter();
writer.println("ok");
}
- 작성한 헤더 정보가 모두 들어있다.
편의 메서드
편의 메서드를 만들어서 설정하면 반복적으로 작성하는 작업을 줄여줄 수 있다.
Content 편의 메서드
@Override
protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
content(response);
}
private void content(HttpServletResponse response) {
//Content-Type: text/plain;charset=utf-8
//Content-Length: 2
response.setHeader("Content-Type", "text/plain;charset=utf-8");
response.setContentType("text/plain");
response.setCharacterEncoding("utf-8");
//response.setContentLength(2); //(생략시 자동 생성)
}
쿠키 편의 메서드
@Override
protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
cookie(response);
}
private void cookie(HttpServletResponse response) {
//Set-Cookie: myCookie=good; Max-Age=600;
// response.setHeader("Set-Cookie", "myCookie=good; Max-Age=600");
Cookie cookie = new Cookie("myCookie", "good");
cookie.setMaxAge(600); //600초
response.addCookie(cookie);
}
Redirect 편의 메서드
@Override
protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
redirect(response);
}
private void redirect(HttpServletResponse response) throws IOException {
//Status Code 302
//Location: /basic/hello-form.html
//response.setStatus(HttpServletResponse.SC_FOUND); //302
//response.setHeader("Location", "/basic/hello-form.html");
response.sendRedirect("/basic/hello-form.html");
}
출처 : 인프런 김영한 지식 공유자님 강의 - 스프링 MVC 1편 백엔드 웹 개발 핵심 기술
728x90
'BE > Servlet' 카테고리의 다른 글
스프링 MVC 1 - 서블릿으로 회원 관리 웹 애플리케이션 만들기 (0) | 2022.08.11 |
---|---|
스프링 MVC 1 - 회원 관리 웹 애플리케이션 요구사항 (0) | 2022.08.11 |
스프링 MVC 1 - HTTP 요청 데이터 API 메시지 바디 TEXT, JSON (0) | 2022.08.10 |
스프링 MVC 1 - HTTP 요청 데이터 POST HTML Form (0) | 2022.08.10 |
스프링 MVC 1 - HTTP 요청 데이터 개요, GET 쿼리 파라미터 (0) | 2022.08.10 |
Comments