response 내장 객체
사용자의 요청을 처리한 결과를 서버에서 웹 브라우저로 전달하는 정보 저장
1. 페이지 이동 관련 메서드
리다이렉션(redirection)
사용자가 새로운 페이지를 요청하는 등의 경우 페이지를 강제로 이동함
페이지 이동시 문자 인코딩을 설정해야 함
페이지 이동 관련 메서드 | 반환 유형 | 설명 |
sendRedirect(String url) | void | 설정한 URL 페이지로 강제 이동 |
1-1. forward와 redirect 방식의 비교
1)포워드(forward) 방식: 액션 태그
현재 JSP에서 이동할 URL로 요청 정보 그대로 전달→사용자가 요청한 정보가 이동한 URL에서도 유효
웹 브라우저 주소창에 처음 요청한 URL이 그대로 보임
<jsp:forward page="이동할 페이지"/>
2)리다이렉트(redirect) 방식: 내장 객체
새로운 요청을 생성해서 이동할 URL에 다시 요청 전송→처음 보낸 유청 정보가 이동한 URL에서는 무효
새로 페이지를 요청한 것과 같은 방식으로 페이지 이동
이동된 URL이 웹 브라우저 주소 창에 보임
<response.sendRedirect("이동할 페이지")/>
리다이렉트가 코드 중간에 위치하는 경우 버그가 발생할 수 있으므로 가장 마지막에 작성하는 것을 권장한다.
2. 응답 HTTP 관련 메서드
응답 HTTP 관련 메서드 | 반환 유형 | 설명 |
addCookie(Cookie cookie) | void | 쿠키 추가 |
addDateHeader(String name, long date) | void | 설정한 헤더 이름 name에 날짜/시간 추가 |
addHeader(String name, String value) | void | 설정한 헤더 이름 name에 value 추가 |
addIntHeader(String name, int value) | void | 설정한 헤더 이름 name에 정수 값 value 추가 |
setDateHeader(String name, long date) | void | 설정한 헤더 이름 name에 날짜/시간 설정 |
setHeader(String name, String value) | void | 설정한 헤더 이름 name에 문자열 값 value 설정 |
setIntHeader(String name, int value) | void | 설정한 헤더 이름 name에 정수 값 value 설정 |
containsHeader(String name) | boolean | 설정한 헤더 이름 name이 HTTP 헤더에 포함되었는지 여부 확인 |
getHeader(String name) | String | 설정한 헤더 이름 name값을 가져옴 |
페이지를 5초마다 새로고침하도록 하는 예시
<%
response.setIntHeader("Refresh",5);
%>
3. 응답 콘텐츠 관련 메서드
응답 콘텐츠 관련 메서드 | 반환 유형 | 설명 |
setContentType(String type) | void | 웹 브라우저에 응답할 MIME 유형 설정 |
getContentType() | String | 웹 브라우저에 응답할 MIME 유형 취득 |
setCharacterEncoding(String charset) | void | 웹 브라우저에 응답할 문자 인코딩 설정 |
getCharacterEncoding() | Striing | 웹 브라우저에 응답할 문자 인코딩 취득 |
sendError(int status_code, String message) | void | 웹 브라우저에 응답할 오류(코드 및 오류 메시지) 설정 |
setStatus(int statuscode) | void | 웹 브라우저에 응답할 HTTP 코드 설정 |
response 내장 객체로 오류 응답 코드와 오류 메시지를 보내는 예시
<%
response.sendError(404, "페이지 찾을 수 없음");
%>
'JSP > 5. 내장 객체' 카테고리의 다른 글
[JSP] 내장 객체의 개요, request 내장 객체 (0) | 2023.12.04 |
---|