| 응답코드 | 의미 |
|---|---|
| 100번대 | 정보, 서버가 요청을 받았고, 서버에 연결된 클라이언트는 작업을 계속 진행하라는 의미 |
| 200번대 | 성공, 요청을 성공적으로 받았으며 인식했고 수용했다는 의미 |
| 300번대 | 리다이렉션, 요청 완료를 위해 추가 작업 조치가 필요 |
| 400번대 | 클라이언트 오류, 요청의 문법이 잘못되었거나 요청을 처리할 수 없음 |
| 500번대 | 서버 오류, 서버가 명백히 유효한 요청에 대한 충족을 실패 |
response.setStatus(HttpServletResponse.SC_OK); //HTTP 응답코드
HttpServletResponse.SC_OK대신에200으로 해도 같은 의미
하지만HttpServletResponse.SC_OK이 보기에 의미전달이 조금 더 직관적
response.setHeader("헤더이름","넣을 값");
response.setHeader("Content-type","text/plain");
response.setHeader("Pragma","no-cache");
response.setHeader("Content-type","text/plain");
response.setContentType("text/plain");
| 메서드 이름 | 설명 |
|---|---|
| setContentType | content 타입 지정, text/plain, application/json 등이 있음 |
| setCharacterEncoding | charset설정 |
| setContentLength | content 길이, 설정하지 않으면 WAS가 자동으로 생성 |
response.setHeader("Set-Cookie","myCookie=good;Max-Age=600");
Cookie cookie = new Cookie("myCookie", "good");
cookie.setMaxAge(600);//600초
response.addCookie(cookie);
| 메서드 이름 | 설명 |
|---|---|
| addCookie | 쿠키 추가 |
| setMaxAge | 쿠키 시간 설정 |
response.setStatus(HttpServletResponse.SC_FOUND);// HTTP 상태코드 302
response.setHeader("Location", "/basic/hello-form.html");
response.sendRedirect("/basic/hello-form.html");
| 메서드 이름 | 설명 |
|---|---|
| sendRedirect | redirect할 url 설정 |
PrintWriter writer = response.getWriter(); // writer 생성 후
writer.println("ok"); //원하는 텍스트
response.setStatus(HttpServletResponse.SC_OK);
response.setContentType("text/html");
response.setCharacterEncoding("utf-8");
PrintWriter writer = response.getWriter();
writer.println("<html>");
writer.println("<body>");
writer.println("<div>이건 html 파일 입니다. </div>");
writer.println("</body>");
writer.println("</html>");
Content-Type은 text/html로 정의하고 PrintWriter로 html 작성
response.setContentType("application/json");
HelloData helloData = new HelloData();
helloData.setAge(25);
helloData.setUsername("SuJeong Gong");
//json스트링으로 변환
private ObjectMapper objectMapper = new ObjectMapper();
String json = objectMapper.writeValueAsString(helloData);
response.getWriter().write(json);
Content-Type은 application/json로 정의하고 ObjectMapper을 통해서 json string으로 변환
application/json은 utf-8 형식을 사용하라고 정의 되어있기 때문에 charset을 설정하지 않아도 됨
근데response.getWriter()를 사용하면 charset을 지정하는 파라미터를 자동으로 추가함
->response.getOutputStream()을 사용해서 출력하면 해당 문제는 사라짐
출처
1. 스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
2. HTTP 상태 코드 정리