getParameterNames()를 이용한 요청 처리

Chris·2019년 8월 20일
0

tomcat 서버를 띄우고 http://localhost:8080/pro07/input.html로 접속한 후, 입력하여 나타난 결과값을 출력한다.
http://localhost:8080/pro07/input?user_id=ggg&user_pw=1234&subject=JSP로 확인할 수 있다.

WebContent/input.html 작성

<form name="frmInput" method="get" action="input">
   <div>아이디 : <input type="text" name="user_id"></div>
   <div>비밀번호 : <input type="password" name="user_pw"></div>
   <div>
	   <input type="checkbox" name="subject" id="chkJava" value="java" checked><label for="chkJava">자바</label>
	   <input type="checkbox" name="subject" id="chkC" value="C언어"><label for="chkC">C언어</label>
	   <input type="checkbox" name="subject" id="chkJsp" value="JSP"><label for="chkJsp">JSP</label>
	   <input type="checkbox" name="subject" id="chkAndroid" value="안드로이드"><label for="chkAndroid">안드로이드</label> 
   </div>
   <input type="submit" value="전송">   
   <input type="reset" value="초기화">
</form>

html으로 전송되어온 name 속성들만 Enumeration 타입으로 받아온 후, 각 name을 하나씩 가져와 전송된 값을 출력한다.

InputServlet.java 작성

package sec01.ex03;

import java.io.IOException;
import java.util.Enumeration;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

@WebServlet("/input")	
public class InputServlet extends HttpServlet{
	public void init() throws ServletException {
		System.out.println("init 메서드 호출");
	}

	protected void doGet(
		HttpServletRequest request, 
		HttpServletResponse response
    ) throws ServletException, IOException {
		request.setCharacterEncoding("utf-8");
		Enumeration e = request.getParameterNames();
		while ( e.hasMoreElements() ){
			String name = (String) e.nextElement();
			String[] values = request.getParameterValues(name);		
			for (String value : values) {
				System.out.println("name=" + name + ",value=" + value);
			}   
		}
	}
	public void destroy() {
		System.out.println("destroy 메서드 호출");
	}
}

Tomcat의 server.xml에 추가

<Context docBase="pro07" path="/pro07" reloadable="true" source="org.eclipse.jst.jee.server:pro07"/>

위 작성글은 [자바 웹을 다루는 기술]에서 간단히 정리한 것입니다.

profile
올드보이 코더

0개의 댓글