[Web] 여러 개의 값을 전송할 때의 요청 처리
2024. 8. 5. 23:03ㆍ자바 웹 개발/서블릿 기초
//input.html
<!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>
input 타입이 여러 개일 때는 체크박스를 사용하는 경우가 많다. 체크박스의 name 속성은 모두 subject이므로 서블릿으로 전송될 때에는 배열로 전송된다.
//inputSerlvet
@WebServlet("/input")
public class InputServlet 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");
String user_id = request.getParameter("user_id");
String user_pw = request.getParameter("user_pw");
System.out.println("아이디:" + user_id);
System.out.println("비밀번호:" + user_pw);
String[] subject = request.getParameterValues("subject"); //1
for(String str:subject){ //2
System.out.println("선택한 과목: " + str);
}
}
@Override
public void destroy() {
System.out.println("destory 메서드 호출");
}
}
String getParameter(String name) | name의 값을 알고 있을 때 그리고 name에 대한 전송된 값을 받아오는 데 사용한다. |
String[] getParameterValues(String name) | 같은 name에 대해 여러 개의 값을 얻을 때 사용한다. |
Enumeration getParametegerNames() | name 값을 모를 때 사용한다. |
LoginServlet에서 추가된 내용만 살펴보자.
1. String[] subject에 name이 "subject"인 전송된 값을 배열에 저장한다.
2. 이를 향상된 for문을 통해 출력한다.
'자바 웹 개발 > 서블릿 기초' 카테고리의 다른 글
[Web] HttpServletResponse를 이용하기 (0) | 2024.08.06 |
---|---|
[Web] getParameterNames() 메서드를 이용한 요청 처리 (0) | 2024.08.05 |
[Web] 서블릿의 기능 : 요청 - form 태그로 서블릿에 요청하기 (0) | 2024.08.05 |
[Web] 서블릿 API 계층 구조와 기능 (0) | 2024.08.05 |
[Web] 1. 웹 프로그래밍과 JSP (0) | 2024.08.05 |