본문 바로가기

JSP

JSP의 request와 response

○ request 내장 객체

사용자 요청과 관련된 기능을 제공하는 내장 객체로 클라이언트에서 서버로 전달되는 정보를 처리하기 위해서 사용한다


웹 브라우저를 통해 서버에 어떤 정보를 요청하며, 클라이언트에서 넘어오는 데이터를 서버 측에서 받아오는 객체이다
javax.servlet.http.HttpServletRequest 클래스에 대한 참조 변수

웹 브라우저에서 jsp 페이지로 전달되는 정보의 모임이며 http 헤더와 http 바디로 구성되어있다
웹 컨테이너는 요청된 http 메시지를 통해 HttpServletRequest 객체를 얻어내서, 이로부터 사용자의 요구사항을 얻어낸다
보통 html 폼을 통해 입력된 값을 jsp에서 가져올 때 사용한다


● request의 메서드
  • getParameter(name) : 파라미터 변수 name에 저장된 변수를 얻어내는 메소드로 이때 변수의 값은 String으로 리턴된다
    name에 해당하는 파라미터 값을 구한다. 문자열 name과 이름이 같은 매개변수의 값을 가져온다


  • getParameterValues(name) : 파라미터 변수 name에 저장된 모든 변수 값을 얻어내는 메소드로
    이때 변수의 값은 String 배열로 리턴된다
    name에 해당하는 파라미터 값들을 구한다. 문자열 name과 이름이 같은 매개변수의 값을 배열 형태로 가져온다
    checkbox, multiple, list에서 주로 사용된다


  • getParameterNames() : 요청에 의해 넘어오는 모든 파라미터 변수를 java.util.Enumeration 타입으로 리턴한다
    모든 파라미터 이름을 구한다. 현재 요청에 포함된 매개변수의 이름을 열거 형태로 넘겨준다


  • getContentType() : 클라이언트가 요청한 정보를 전송할 때 사용한 컨텐트 타입을 리턴한다


  • getHeader(name) : 웹 서버로 요청 시, HTTP 요청 헤더의 헤더 이름인 name에 해당하는 속성값을 리턴한다
    지정된 이름이 없을 경우 null을 리턴한다


  • getCookies() : 모든 쿠키 값을 javax.servlet.http.Cookie의 형태로 가져온다
    Http 요청 메시지의 헤더에 포함된 쿠키를 Cookie 객체의 배열로 리턴한다


  • getSession() : 현재 세션 객체를 가져온다


  • setCharacterEncoding() : 현재 jsp로 전달되는 내용을 지정한 캐릭터셋으로 변환해준다
    html 폼에서 한글 입력을 정상적으롤 처리해주려면 반드시 필요하다


  • setAttribute(name, value) : 이름이 name인 속성의 값을 value로 지정한다


  • getAttribute(name) : 이름이 name인 속성의 값을 구한다. 존재하지 않을 경우 null을 반환한다


  • removeAttribute(name) : 이름이 name인 속성을 삭제한다


  • getAttributeNames() : 속성의 이름 목록을 구한다




실행 코드(html 코드)

 

실행 코드(jsp 코드)



실행 결과(보내기 전)

 

실행 결과(보낸 후)




○ response 내장 객체

사용자 요청(request)을 처리하고 응답을 다른 페이지로 전달하는 등의 기능을 제공한다


request와 반대되는 개념으로 사용자 응답과 관련된 기능을 제공한다
웹 브라우저의 요청에 응답하고 응답의 정보를 가지고 있는 객체이자 서버 측에서 클라이언트 측으로 데이터를 전달하기 위한 객체



● response의 메서드
  • setContentType(type) : 문자열 형태의 type에 지정된 MIME으로 content type을 설정한다


  • setHeader(name, value) : 문자열 name의 이름으로 문자열 value의 값을 헤더로 세팅한다


  • addCookie(cookie) : 쿠키 데이터를 지정한다


  • flushBuffer() : 버퍼의 내용을 클라이언트에게 전송한다


  • setBufferSize(size) : 출력 버퍼의 크기를 지정한다


  • sendRedirect(url) : 클라이언트 요청을 다른 페이지로 보낸다
    브라우저에 표시되는 주소가 바뀌는 방식이다
    이동할 페이지로 요청과 응답 객체를 새로 생성하여 전송하므로 요청 정보와 응답 정보가 유지되지 않는 특성이 있다

 

response.sendRedirect(URL);

 

response 기본 객체에서 많이 사용되는 기능 중의 하나는 리다이렉트 기능이다
리다이렉트 기능이란 웹 서버가 웹 브라우저에게 다른 페이지로 이동하라고 지시하는 것을 의미한다
예를 들어 사용자가 로그인에 성공한 후 메인 페이지로 자동으로 이동하는 사이트가 많은데
이처럼 특정 페이지를 실행한 후, 지정한 페이지로 이동하길 원할 때 리다이렉트 기능을 사용하면 된다

리다이렉트를 지시한 JSP 페이지가 있을 경우 웹 브라우저는 실질적으로 요청을 두번하게 된다

웹 브라우저 -> a.jsp //요청을 보낸다
웹 브라우저 <- a.jsp //웹 브라우저에게 b.jsp로 리다이렉트하라고 지정한다
웹 브라우저 -> b.jsp //b.jsp를 요청한다




실행 코드(html 코드)

 

실행 코드(jsp 코드)



실행 결과(보내기 전)

 

실행 결과(보낸 후)

'JSP' 카테고리의 다른 글

forward 액션 태그와 include 액션 태그  (0) 2020.06.30
JSP의 Action Tag  (0) 2020.06.29
JSP의 내장 객체  (0) 2020.06.28
JSP의 Script Tag  (0) 2020.06.24
JSP와 Servlet이란?  (0) 2020.06.23