■ JSP에서 가장 많이 사용하는 기능 중의 하나는 웹 브라우저 폼에 입력한 값을 처리하는 것이다.
■ 웹 브라우저는 폼에 입력한 정보를 파라미터로 전송한다.
■ request 기본 객체는 웹 브라우저가 전송한 파라미터를 읽어올 수 있는 메서드를 제공한다.
※ request 기본객체
메서드 |
리턴타입 |
설 명 |
getParmeter(String name) |
String |
이름이 nam인 파라미터의 값을 구한다. 존재하지 않을 경우 null을 리턴한다. |
getParmeterValues(String name) |
String[] |
이름이 name인 모든 파라미터의 값을 배열로 구한다. |
getParmeterNames() |
java.util.Enumeration | 웹 브라우저가 전송한 파라미터의 이름을 구한다. |
getParameterMap() | java.util.Map | 웹 브라우저가 전송한 파라미터의 맵을 구한다. |
라인 |
makeTestForm.jsp |
01 21 |
<%@ page language="java" contentType="text/html; charset=EUC-KR" pageEncoding="EUC-KR"%> |
-. 라인 09 : 입력한 데이터를 전달할 JSP 페이지를 viewParameter.jsp로 지정한다.(POST or GET중 선택)
-. 라인 10 : 이름이 name인 요청 파라미터 입력 박스 생성
-. 라인 11 : 이름이 address인 요청 파라미터 입력 박스 생성
-. 라인 13 ~ 15 : 이름이 pet인 요청 파라미터의 체크박스 생성
출력결과 |
|
라인 |
viewParmeter.jsp |
01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 |
<%@ page language="java" contentType="text/html; charset=EUC-KR" pageEncoding="EUC-KR"%> // 같은 이름의 모든 파라미터 값을 사용할 경우 getParameter() 메서드가 아닌 getParameterValues() 메서드를 사용 if (values != null) { |
-. 라인 05 : 요청 파라미터의 캐릭터 인코딩을 UTF-8로 지정한다. 이는 한글을 올바르게 처리하기 위함이다.
-. 라인 14 ~ 15 : request.getParameter() 메서드를 사용하여 name 파라미터와 address 파라미터의 값을 출력한다.
-. 라인 20 : request.getParameterValues() 메서드는 String 배열(String[])을 리턴한다.
배열의 첫 번째 원소를 사용할 때에는 배열 변수[0]의 형태를 사용한다.
배열 변수 이름을 values로 하였으므로, values[0], values[2]와 같은 형식으로 파라미터 값에 접근한다.
-. 라인 33 ~ 41 : 파라미터의 이름을 출력한다.
이 코드가 request.getParmeterNames()메서드를 사용하는 기본 형태이므로 익혀두어야 한다.
-. 라인 46 : request.getParameterMap()은 자바의 Map을 사용하여 파라미터 이름과 파라미터 값을 리턴한다.
이 Map에는 <파라미터 이름, 파라미터 값 배열>이 쌍을 이루고 있다.
출력결과 |
※ GET 방식 전송과 POST 방식 전송
■ POST방식
-. POST방식은 파라미터 데이터를 데이터 영역을 이용해서 파라미터를 전송한다.
POST전송방식의 URL |
http://localhost:8080/Gamay/Chapter03/viewParameter.jsp |
※ POST방식은 데이터 영역을 이용해서 데이터를 전송하기 때문에 웹 브라우저나 웹 서버 등에 상관없이
전송할 수 있는 파라미터의 길이에 제한이 없다.
■ GET방식
-. GET 방식은 요청 URL에 파라미터를 붙여서 전송한다.
-. GET방식은 URL의 뒤 부분에 물음표('?')와 함께 파라미터를 붙여서 전송한다.
-. GET 방식으로 데이터를 전송하는 경우, 웹 브라우저에서 웹 서버로 전달된다.
GET 전송방식의 URL |
http://localhost:8080/Gamay/Chapter03/viewParameter.jsp?name=%C7%CF%BE%DF%C5%D7&address=yinglong200%40me.com&pet=dog&pet=cat |
'JSP > JSP Programming' 카테고리의 다른 글
[JSP] 자바의 Web 기술 (0) | 2012.05.22 |
---|---|
[JSP] 웹 어플리케이션의 동작 원리 (0) | 2012.05.22 |
[JSP] response 기본 객체 (0) | 2012.04.18 |
[JSP] request 기본 객체 (0) | 2012.04.18 |
[JSP] <FORM> 엘리먼트 (0) | 2012.04.16 |