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>

 

결과물: