JSP/5. 내장 객체

[JSP] 내장 객체 - response 내장 객체

망고고래 2023. 12. 10. 15:53

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