티스토리 뷰

개발

[JAVA] JSP 내장객체 - request/response

woody._.k 2019. 5. 22. 00:00

JSP 내장객체란 'JSP 내에서 선언하지 않고 사용하는 객체' 입니다.

보통 스크립트릿에서 사용하며, 내장객체를 통하면 사용자 요청을 컨트롤하거나 페이지 간의 데이터를 공유할 수 있습니다.

 

1. request

  • 사용자 요청과 관련된 기능을 제공하는 내장객체이다.
  • javax.servlet.httpServletRequest 객체에 대한 참조변수
  • HTML 폼을 통해 입력된 값을 JSP에서 가져올 때 사용

 

request 주요 메서드

메서드 설명
getParameterNames() 현재 요청에 포함된 매개변수의 이름을 열거(Enumeration) 형태로 넘겨준다.
getParameter(name) 문자열 name과 이름이 같은 매개변수의 값을 가져온다.
getParameterValues(name) 문자열 name과 이름이 같은 매개변수의 값을 배열 형태로 가져온다.                  checkbox, multiple list 등에 주로 사용한다.
getCookies() 모든 쿠키 값을 javax.servlet.http.Cookie의 배열 형태로 가져온다.
getMethod() 현재 요청이 Get인지, Post인지 파악해서 가져온다.
getSession() 현재 세션 객체를 가져온다.
getRemoteAddr() 클라이언트의 IP 주소를 알려준다.
getProtocol() 현재 서버의 프로토콜을 문자열 형태로 알려준다.
setCharacterEncoding() 현재 JSP로 전달되는 내용을 지정한 캐리터셋을로 변환해 준다.                          HTML 폼에서 한글을 입력할 때 정상적으로 처리하려면 반드시 필요하다.
getAttribute(name)  
setAttribute(null, null)  

 

 

Example :


index.html은 jsp의 request 내장객체를 테스트하기 위해 폼을 구현한 코드입니다.

 

위의 index.html을 실행하면 다음과 같은 화면을 얻을 수 있습니다.

 

아래의 TestForm.jsp는 index.html의 요청데이터를 request객체를 이용해 처리합니다.

 

 

index.html의 폼에 다음과 같이 입력하고 제출버튼을 누르면,

 

TestForm.jsp에서 request객체를 이용해 다음과 같은 화면을 얻을 수 있습니다.

 

 


 

2. response

  • 사용자 응답과 관련된 기능을 제공하는 내장객체이다.
  • javax.servlet.http.HttpServletResponse 객체에 대한 참조변수.

 

response 주요메서드

메서드 설명
setContentType(tyep) 문자열 형태의 type에 지정된 MIME Type으로 contentType을 설정한다.
setHeader(name, value) 문자열 name의 이름으로 문자열 value의 값을 헤더로 세팅한다.
setDateHeader(name, date) 문자열 name의 이름으로 date에 설정된 밀리세컨드 시간 값을 헤더에 설정한다.
sendErro(status, msg) 오류 코드를 세팅하고 메시지를 보낸다.
sendRedirect(url) 클라이언트 요청을 다른 페이지로 보낸다.

 

 

Example :


response 객체의 sendRedirect 메서드에 대한 실습을 진행해 보겠습니다.

FirstPage.jsp와 SecondPage.jsp를 만들었습니다.

 

FirstPage.jsp에서는 response 객체의 sendRedirect 메스드를 사용하여 클라이언트의 요청을 SecondPage.jsp로 보냅니다.

 

http://localhost:8090/testPjt/FirstPage.jsp 페이지를 요청하면 다음과 같이 SecondPage.jsp 페이지로 보내는 걸 확인할 수 있습니다.

 

 

 

참고

  • 황희정, "프로젝트로 배우는 자바 웹 프로그래밍", 한빛아카데미
  • 실전 JSP (ver.2018) - 신입 프로그래머를 위한 강좌
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함