[Web] getParameterNames() 메서드를 이용한 요청 처리
2024. 8. 5. 23:14ㆍ자바 웹 개발/서블릿 기초
아래는 기존의 input.html이다. 다만, action=input2로 바뀌었다.
<!DOCTYPE html>
<html lang="ko">
<head>
<meta charset="UTF-8">
<title>여러 가지 input 타입 표시 창</title>
</head>
<body>
<form name="frmInput" method="get" action="input2">
아이디 : <input type="text" name="user_id"><br>
비밀번호 : <input type="password" name="user_pw"><br>
<input type="checkbox" name="subject" value="java" checked>자바
<input type="checkbox" name="subject" value="C언어">C언어
<input type="checkbox" name="subject" value="JSP">JSP
<input type="checkbox" name="subject" value="안드로이드">안드로이드
<input type="submit" value="로그인">
<input type="reset" value="다시입력">
</form>
</body>
</html>
위에는 최대 4개의 정보만 처리되지만 수십, 수백개의 요청이 오면 각 매개변수를 확인해야할 필요가 생긴다. 이 때 getParametervalues를 이용할 수 있다.
String getParameter(String name) | name의 값을 알고 있을 때 그리고 name에 대한 전송된 값을 받아오는 데 사용한다. |
String[] getParameterValues(String name) | 같은 name에 대해 여러 개의 값을 얻을 때 사용한다. |
Enumeration getParametegerNames() | name 값을 모를 때 사용한다. |
@WebServlet("/input2")
public class InputServlet2 extends HttpServlet {
@Override
public void init() throws ServletException {
System.out.println("init 메서드 호출");
}
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
request.setCharacterEncoding("utf-8");
Enumeration<String> enu = request.getParameterNames(); //1
while(enu.hasMoreElements()){ //2
String name = enu.nextElement();
String[] values = request.getParameterValues(name);
for(String value : values){ //3
System.out.println("name=" + name + ",value=" + value);
}
}
}
@Override
public void destroy() {
System.out.println("destory 메서드 호출");
}
}
Enumeration은 객체를 하나씩 처리할 수 있도록 도와주는 인터페이스다.
1. 전송된 name 속성들만 Enumeration 타입으로 받아온다.
2. 이를 하나씩 가져온다.
3. 향상된 for문으로 하나씩 출력한다.
이를 통해 전달된 모든 객체의 name을 알 수 있다.
'자바 웹 개발 > 서블릿 기초' 카테고리의 다른 글
[servlet] web.xml에서 서블릿 매핑하기 (0) | 2024.08.08 |
---|---|
[Web] HttpServletResponse를 이용하기 (0) | 2024.08.06 |
[Web] 여러 개의 값을 전송할 때의 요청 처리 (0) | 2024.08.05 |
[Web] 서블릿의 기능 : 요청 - form 태그로 서블릿에 요청하기 (0) | 2024.08.05 |
[Web] 서블릿 API 계층 구조와 기능 (0) | 2024.08.05 |