[JSP] 자바서버페이지의 response 기본 객체
안녕하세요,
오늘도 어김없이 코딩 공부하러 온 jju_developer입니다.
오늘은 자바 서버 페이지에서의 핵심 response 객체에 대해 설명드리겠습니다. ^.^
우선 response 객체를 보기 앞서서 우리의 앱이 어떻게 요청을 주고받는지를 보면
1. 원하는 웹 사이트의 주소는 jju240.tistory.com 입니다.
2. 여기서 무엇인가를 누르게 된다면 해당 주소로 변경이 되겠죠?
이러한 처리를 해주기 위해 우리가 어떤 코드를 작성해야 하는지를 생각해 보시면
오늘의 response를 배우실 때 더욱 재미있게 배우실 수 있습니다~!!
제가 원하는 부분을 클릭했을 때 그 해당 부분으로 이동하고 그 페이지에 있는 내용이 출력되는
바로 이 기초적이고 중요한 부분에 대해 알아보도록 하겠습니다~~!
💕웹 어플리케이션의 네 가지 영역(scope)💕
|
JSP (JavaServer Pages) response 기본 객체
response 객체는 JSP 페이지의 실행결과를 웹 브라우저로 되돌려 줄 때 사용되는 객체입니다.
서버에서 클라이언트에 대한 응답을 response 객체를 통하여 처리하는 것 이죠~!
① response 기본 객체의 응답 형식 지정 메서드
-콘텐츠 타입이나 문자셋에 대한 정보를 지정할 때 사용하는 메서드입니다.
메 소 드 | 설 명 |
setContentType(String) |
MIME 타입을 지정, 부가적으로 글자의 인코딩 지정 |
getCharacterEncoding() |
응답하는 내용의 글자 인코딩 형태를 구함 |
② 응답 헤더 관련 response 객체 메서드
-헤더정보나 쿠키 등에 대한 정보를 지정하는 메서드입니다.
메 소 드 | 설 명 |
addCookie(Cookie) | 응답에 지정한 쿠키를 저장 |
containsHeader(header) |
이름이 header인 헤더를 포함 여부 검사 |
setHeader(name, value) |
이름이 name인 헤더의 값을 value로 지정 |
setDateHeader(name, date) |
이름이 name인 헤더의 값을 long형 값 date로 지정 |
addHeader(name, value) |
이름이 name 값이 String형 value인 헤더 추가 |
addIntHeader(name, value) |
이름이 name 값이 int형 value인 헤더 추가 |
addDateHeader(name, date) | 이름이 name 값이 long형 date인 헤더 추가 |
③ URL 재작성 관련 response 객체 메서드
- 다음 메서드를 사용하면 지정한 페이지로 이동할 수 있습니다.
메 소 드 | 설 명 |
encodeRedirectURL(url) |
세션정보를 포함하기 위해 sendRedirect() 메소드에서 사용할 URL을 인코딩 |
encodeURL(name) |
세션정보를 포함하고 있는 링크에서 사용할 URL을 인코딩 |
sendRedirect(url) | 웹 서버가 웹 브라우저에게 지정한 URL로 자동 이동되도록 한다. |
④ response 객체의 리다이렉트 기능
- response 객체에서 많이 사용되는 기능 중의 하나가 리다이렉트 기능입니다.
- 웹 서버가 웹 브라우저에게 지정한 페이지로 이동하도록 지시합니다.
- 리다이렉트 기능은 주로 로그인 과정에서 사용됩니다.
sendRedirect(URL) : 지정한 URL로 이동함, 특정상황에 조건에 따라 원하는 페이지로 이동하게 함
(예를 들면 로그인 시 비회원이면 회원가입페이지로 이동하게 경로를 지정할 수 있습니다.)
자, 이렇게 response라는 객체에 어떠한 매서드들이 있는지를 살펴보았습니다.
다음 시간에 배울 쿠키들과도 접목을 시키면,
쿠키를 통해 저장한 아이디와 비밀번호를 통해
만약 이 사용자가 로그인을 하고 아이디와 비밀번호가 일치하다면 다음 페이지로 이동하는 redirect 방법까지
알아보도록 하겠습니다. 아이디와 비밀번호가 일치하지 않으면 어떻게 해야 할까요?
다시 로그인 페이지로 돌아가야겠죠?
개념만 봐서는 이해가 안 되실 수 있으니,
꼭 예제를 통해서 직접 코딩해보시면 더 이해 가실 겁니다!
response 예제는 주말에 따로 작업하여 올려놓도록 하겠습니다~
감사합니다.