Java 및 JSP
[JSP] Request 파라미터 값 전달
jane.dev
2021. 8. 2. 09:21
반응형
<input>태그를 이용하여 파라미터 값을 주고 받기
R02.jsp 파일의 페이지에서 받은 데이터를 R03.jsp 파일의 페이지에서 전달 받기
--R02.jsp(전달)--
<form action = "R03.jsp" method = "post">
이름:
<input type = "text" name = "name" placeholder = "이름" required><br>
성별:
<input type = "radio" name = "gender" value = "여성">여성
<input type = "radio" name = "gender" value = "남성">남성<br>
지역:
<select name = "region">
<option>서울</option>
<option>경기</option>
<option>강원</option>
<option>충청</option>
<option>경상</option>
<option>전라</option>
<option>제주</option>
</select><br>
취미:
<input type = "checkbox" name = "hobby" value = "운동">운동
<input type = "checkbox" name = "hobby" value = "게임">게임
<input type = "text" name = "hobby" placeholder = "자유롭게 작성"><br>
<input type = "submit" value = "제출">
<input type = "reset" value = "초기화">
</form>
action
: form 데이터가 서버로 제출될 때, 해당 데이터가 도착할 URL
method
: form 데이터가 서버로 제출될 때, 사용되는 HTTP 메서드
* get
: 서버에 데이터를 요청하는 용도로, 전송되는 데이터가 URL에 포함되며 브라우저 히스토리에 남아 보안에 취약
전송할 수 있는 데이터의 크기가 정해져 있음
* post
: 서버에 데이터를 전송하는 용도로, 전송되는 데이터가 URL에 포함되지 않고 전송 객체의 메시지 바디를 통해 전달
전송할 수 있는 데이터 크기가 정해져있지 않아 대량 데이터 전송 가능
결과물:
--R03.jsp(수신)--
<%
request.setCharacterEncoding("UTF-8"); // post 방식으로 데이터 전송시 한글이 깨지는 것을 방지
String name = request.getParameter("name");
String gender = request.getParameter("gender");
String region = request.getParameter("region");
String [] hobby = request.getParameterValues("hobby");
%>
하나의 결과 값이 나오는
name_type = text
gender_type = radio
region_select_option
은 문자열로,
두 가지 이상의 결과 값이 나올 수 있는
hobby_type = checkbox
는 배열로 데이터를 받음
이름: <%= name %><br>
성별: <%= gender %><br>
지역: <%= region %><br>
취미: <%
for(String hob : hobby){
out.println(hob);
}
%><br>
결과물: