[JSP] HttpServletRequest 객체 (getParameter)

request


HttpServletRequest에는 사용자의 요청에 대한 모든 정보가 담겨 있다.
그 중에서 form을 통해 실려온 데이터는 요청 객체의 parameter에 담겨 있다.

HttpServletRequest 내의 메소드로 사용자의 요청에 대한 값들을 확인하거나 설정할 수 있다.


예제 

JSP에서 이름, 거주지, 취미를 입력 받아 값 출력하기

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
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="EUC-KR">
<title>Insert title here</title>
</head>
<body>
    <form action="../hi" id="registForm" method="get">
        이름<br>        
        <input name="이름" form="registForm" type="text" size="15"><br><br>
 
        거주지<br>
        <input form="registForm" type="radio" value="수도권" name="주소" id="" checked>
        <label>수도권</label> <br>
        <input form="registForm" type="radio" value="지방" name="주소" id="">
        <label>지방</label><br><br><br>
 
        취미<br>
        <input form="registForm" value="게임" type="checkbox" name="취미" id="">
        게임 <br>
        <input form="registForm" value="영화" type="checkbox" name="취미" id="">
        영화 <br>
 
        <input style="padding: 15px;" type="submit" form="registForm" value="Submit Form">
    </form>
</body>
</html>
cs
위 name태그의 값들을 서블릿에 전달

 

 getParameter()


jsp태그 내의 name 속성에 담긴 value를 받아올 수 있다.
name 속성이 겹치지 안을 경우에 사용한다.

protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		System.out.println(request.getParameter("이름"));
		System.out.println(request.getParameter("주소"));
}

각각 input태그에 작성한 이름, 라디오버튼에 체크한 거주지의 값을 출력한다.

 

getParameterValues()


jsp태그 내의 중복되는 name속성값을 배열형태로 받아온다.

protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		String[] hobby = request.getParameterValues("취미");
		System.out.println(Arrays.toString(hobby));
}

name속성이 취미에 해당하는 모든 값들을 받아온다. 

 

Enumeraction<>


넘겨받은 form안의 모든 name값을 배열형태로 받아온다. 다음 값이 없을 때 까지 반복하며 모두 출력, 사용할 수 있다.

protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		Enumeration<String> paramNames = request.getParameterNames();

		while (paramNames.hasMoreElements()) {
			String name = paramNames.nextElement();

			System.out.println("Enumeraction(모든 name) : " +  Arrays.toString(request.getParameterValues(name)));
		}
}

 

 

댓글

Designed by JB FACTORY