Loading...

Spring/Blog-V1 / / 2022. 3. 9. 15:46

request 객체

반응형

request 객체가 가진 메서드에 대해 알아보자!

 

https://swdevelopment.tistory.com/173

 

JSP / 톰캣의 내장객체와 해당 메서드

JSP페이지는 웹컨테이너겸 컴파일러인 톰캣에의해 서블릿 클래스로 변환되어 사용자의 요청을 수행한다. 서블릿 클래스가 인스턴스로 생성되고 사용자의 요청에 맞는 응답 페이지를 생성하기

swdevelopment.tistory.com

 

 

 

request 객체

 

 

쿠키, URL/URI 요청 방식과 관련된 메서드

 

 

리턴 타입 메서드명 설명
Cookie[] getCookies( ) HTTP요청 메시지의 헤더에 포함된 쿠키를 javax.servlet.http.Cookie 배열로 리턴한다.
String getServerName( ) 서버의 도메인명을 문자열로 리턴한다.
int getServerPort( ) 서버의 포트 번호를 int형으로 리턴한다.
StringBuffer getRequestURL( ) 요청 URL을 StringBuffer로 리턴한다.
String getRequestURI( ) 요청 URI를 문자열로 리턴한다.
String getQueryString( ) 요청에 사용된 쿼리 문장을 문자열로 리턴한다.
String getRemoteHost( ) 클라이언트의 호스트 이름을 문자열로 리턴한다.
String getRemoteAddr( ) 클라이언트의 IP주소를 문자열로 리턴한다.
String getProtocol( ) 요청에 사용된 프로토콜 이름을 문자열로 리턴한다.
String getMethod( ) 요청에 사용된 요청 방식(GET, POST 등)을 문자열로 리턴한다.
String getContextPath( ) 해당 JSP 페이지의 컨텍스트 루트를 문자열로 리턴한다.
@GetMapping("/ex/2")
public void cookie메서드(HttpServletRequest request) {
    System.out.println(request.getCookies());
    System.out.println(request.getServerName());
    System.out.println(request.getServerPort());
    System.out.println(request.getRequestURL());
    System.out.println(request.getRequestURI());
    System.out.println(request.getQueryString());
    System.out.println(request.getRemoteHost());
    System.out.println(request.getRemoteAddr());
    System.out.println(request.getProtocol());
    System.out.println(request.getMethod());
    System.out.println(request.getContextPath());
}

 

 

 

세션 정보와 관련된 메서드

 

 

리턴 타입 메서드명 설명
HttpSession getSession( ) 요청한 클라이언트에 할당 HttpSession객체를 반환한다. 이전에 생성된 HttpSession 객체가 없으면 새로운 객체를 생성해 할당한다.
HttpSession getSession(Boolean create) create가 true일 경우 getSession( )메서드와 동일한 결과를 리턴하지만 create를 false로 지정하면 이전에 생성된 HttpSession 객체가 없을경우 null을 리턴한다.
String getRequestedSessionId( ) 요청한 클라이언트에 지정된 세션의 ID를 문자열로 리턴한다.
String isRequestedSessionIdValid( ) 요청에 포함된 클라이언트의 세션 ID가 유효하면 true를, 아니면 false를 리턴한다.
@GetMapping("/ex/3")
public void session메서드(HttpServletRequest request) {
    System.out.println(request.getSession());
    System.out.println(request.getSession(true));
    System.out.println(request.getSession(false));
    System.out.println(request.getRequestedSessionId());
    System.out.println(request.isRequestedSessionIdValid());
}


 

response 객체

 

 

리턴 타입 메서드명 설명
없음 setHeader(String headerName, String headerValue) 응답에 포함될 헤더 정보에 headerName의 이름으로 headerValue값을 설정해 추가한다.
없음 addCookie(Cookie cookie) javax.servlet.http.Cookie 타입의 쿠키 객체를 응답헤더에 추가한다.
없음 sendRedirect(String url) 지정된 URL로 요청을 재전송한다.
없음 sendContentType(String type) 응답 페이지의 contentType을 설정한다.

 


 

session 객체

 

 

리턴 타입 메서드명 설명
String getId( ) 해당 세션의 세션ID를 문자열로 리턴한다. 세션 ID는 session 객체 생성시에 웹 컨테이너에 의해 자동으로 할당된다.
long getCreationTime( ) 1970년 1월 1일 00시 00분 00초부터 해당 세션이 생성된 순간까지의 경과 시간을 밀리초로 계산하여 long형으로 리턴한다.
long getLastAccessedTime( ) epoch로부터 해당 세션에 마지막으로 접근된 시간까지의 경과 시간을 밀리초로 계산하여 long형으로 리턴한다.
int getMaxInactiveInteval( ) 클라이언트의 요청이 없을 시 서버가 해당 세션을 유지하도록 지정된 시간을 초 단위의 정수로 리턴한다.
없음 invalidate( ) 세션의 속성 값으로 저장된 모든 객체를 반납하여 해당 세션을 종료시킨다.
boolean isNew( ) 새로운 세션일 경우 true를 리턴하고 기존에 세션이 유지되고 있으면 false를 리턴한다.
없음 setMaxInactiveInterval(int seconds) 클라이언트의 요청이 없더라도 세션을 유지할 시간을 초 단위의 정수값으로 설정한다. 음수로 설정할 경우 세션은 무효화되지 않는다.
없음 forward(String url) 현재 페이지의 요청과 응답에 관한 제어권을 URL로 지정된 주소로 영구적으로 넘긴다. forward된 페이지의 요청 처리가 종료되면 응답도 종료된다.
없음 include(String url) 현재 페이지의 요청과 응답에 관한 제어권을 URL로 지정된 주소로 임시로 넘긴다. include된 페이지의 처리가 끝나면 제어권은 다시 원래의 페이지로 돌아온다. 따라서 include로 지정된 페이지의 내용을 원래 페이지에 삽입하는 효과를 가진다.
반응형