아래는 다음을 참고하였음을 미리 밝힙니다.
->  http://www.jspstudy.co.kr/pages/lectures/lectureMain.jsp?lecture=/pages/lectures/old_lec/jspbaseLec/Lecture4.jsp 



 * 기타 메서드들

- String getMethod() : 요청의 HTTP 메소드를 반환.(예 : GET, POST, ..)
- String getRequestURI() : 요청 URL을 반환함. 질의 문자열은 제외(예를 들어 요청 URL이 http://www.interjigi.com/Header.jsp?a=3&b=ttt&c=ppp 라면
         http://www.interjigi.com/Header.jsp 만 반환)
- String getQueryString() : 요청 URL 다음의 질의 문자열을 반환.
- HttpSession getSession(boolean create) : 요청의 세션을 HttpSession type으로 반환. 세션이 없을때 boolean create를 true로 하면 새로이 생성하여 반환.
- RequestDispatcher getRequestDispatcher(String path) : String path로 지정된 local URL에 대한 요청 전달(dispatcher)자를 생성.
- String getRemoteHost() : 요청을 보낸 Host의 완전 형태 이름을 반환.
- String getRemoteUser() : 요청을 보낸 사용자의 이름(있으면) 반환.


좋은 글이면 추천 눌러 주세요! 힘이 됩니다 ^^








-> response 내부 객체 

1) 응답 컨텐트 설정에 필요한 메소드.
- setContentType(String type) : 응답 컨텐트의 MIME 타입과 문자 encoding 을 설정.
- String getCharacterEncoding() : 응답 컨텐트의 문자 인코딩 방식을 String type으로 반환.
2) 응답 헤더 헤더 세팅을 위한 메소드.
- addCookie(Cookie cookie) : Cookie cookie를 응답에 추가.
cf) Cookie cookie = new Cookie(String cookieName, String cookieValue) : cookieName을 이름으로 가지고 cookieValue를 value로 가지는 cookie 생성.
- boolean containsHeader(String name) : String name을 이름으로 가지는 응답 헤더가 있는지 boolean 형으로 반환.
- setHeader(String name, String value) : String name을 이름으로 가지는 헤더에 String value를 저장함.
- setIntHeader(String name, int value) : String name을 이름으로 가지는 헤더에 int value를 저장함.
- setDateHeader(String name, long date) : String name을 이름으로 가지는 헤더에 long 형의 date를 저장함.
- addHeader(String name, String value) : String name을 이름으로 가지는 헤더에 String value를 추가하여 저장.
- addIntHeader(String name, int value) : String name을 이름으로 가지는 헤더에 int value를 추가하여 저장.
- addDateHeader(String name, long date) : String name을 이름으로 가지는 헤더에 long 형의 date를 추가하여 저장함.
3)응답 상태 코드 설정 메소드
- setStatus(int sc) : 응답의 상태 코드 중 에러가 아닌 경우 설정. int sc 값은 stats code를 나타내는 상수이다.
- sendError(int sc, String msg) : 응답의 상태 코드(int sc)와 에러 메세지(String msg)를 설정.
- sendRedirect(String url) : 다른 url을 요청하도록 브라우저에 응답을 보냄. 상대경로를 url 로 사용하여도 컨테이너는 브라우저에 응답을 보내기 전에 절대 경로로 변환시켜 보냄.
- String encodeRedirectURL(String url)
: sendRedirect(String url) 에 사용되는 url 에 세션정보를 포함시켜 인코딩하여 반환. url에 session 정보를 넣을 필요가 있으면 session 정보를 넣어서 인코딩함. url 이 Redirect 될 때 세션 정보 등이 포함될 필요가 없으면 아무 변화없이 절대 경로만 String 으로 반환.


sendRedirectTest.jsp






sendRedirectTest.jsp 실행시





sendRedirectTest.jsp 에서 response.sendRedirect(url); 을 주석처리 하고 실행시




위와 같이 sendRedirectTest.jsp를 컨테이너의 application directory에 저장하고 브라우저에서 sendRedirectTest.jsp 를 요청하면 브라우저에는 requestTest.htm이 보여진다. 그러나 사실은 일단 sendRedirectTest.jsp 가 로딩되고 다시 requestTest.htm 으로 url을 재요청하는 것이 순식간에 발생하기 때문에 우리 눈에는 그렇게 보이지 않은 것 일 뿐이다.



-> out 내부 객체


- boolean isAutoFlush() : 출력 버퍼가 완전히 찼을 때 자동으로 flush 되면 true를 반환,예외가 발생하면 false를 반환합니다. 

* page 지시자에서 autoFlush 속성을 어떻게 지정했는가에 따라서 틀려지겠지요.

<%@ page autoFlush="true" %> 로 설정했으면 true를 반환. <%@ page autoFlush="false" %> 로 설정했으면 false를 반환. - int getBufferSize() : 출력 버퍼의 size를 int byte 로 반환.예) 12 byte 면 int 12를 반환.

- int getRemaining() : 출력 버퍼에서 사용되고 남은 부분의 size를 int byte로 반환.

- clearBuffer() : 출력 버퍼에 담긴 내용을 모두 버리고 비움.

- clear() : 출력 버퍼를 비우고 그전에 버퍼가 출력되었으면 IOException 발생시킴.

- flush() : 출력 버퍼와 출력 스트림을 flush 시킴.

- close() : 출력 스트림을 닫으며 동시에 flush 시킴.


 

posted by 쪼재