Java Servlet Request Parameter 완전 정복
웹 애플리케이션에서 클라이언트로부터 전달되는 Request Parameter를 확인하는 것은 필수입니다. 이 글에서는 Java Servlet과 JSP에서 GET/POST 요청 파라미터를 전체 출력하고 디버깅하는 방법을 다양한 예제와 함께 소개합니다.
1. 기본 예제: getParameterNames() 사용
Enumeration<String> params = request.getParameterNames();
System.out.println("----------------------------");
while (params.hasMoreElements()){
String name = params.nextElement();
System.out.println(name + " : " + request.getParameter(name));
}
System.out.println("----------------------------");
위 코드는 요청에 포함된 모든 파라미터 이름과 값을 출력하는 기본 방법입니다.
2. HTML Form과 연동 예제
<form action="CheckParamsServlet" method="post">
이름: <input type="text" name="username"><br>
이메일: <input type="email" name="email"><br>
나이: <input type="number" name="age"><br>
성별:
<select name="gender">
<option value="male">남성</option>
<option value="female">여성</option>
</select><br>
<input type="submit" value="전송">
</form>
3. Servlet에서 GET/POST 파라미터 전체 출력
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
Enumeration<String> params = request.getParameterNames();
response.setContentType("text/html;charset=UTF-8");
PrintWriter out = response.getWriter();
out.println("<h2>Request Parameter 목록</h2>");
out.println("<table><tr><th>Parameter Name</th><th>Value</th></tr>");
while(params.hasMoreElements()) {
String name = params.nextElement();
String value = request.getParameter(name);
out.println("<tr><td>" + name + "</td><td>" + value + "</td></tr>");
}
out.println("</table>");
}
4. 동적 GET/POST 파라미터 처리 예제
모든 GET 파라미터를 동적으로 확인하려면:
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
Enumeration<String> params = request.getParameterNames();
while(params.hasMoreElements()) {
String paramName = params.nextElement();
String[] values = request.getParameterValues(paramName);
System.out.println(paramName + " : " + Arrays.toString(values));
}
}
위 코드는 여러 값이 전송된 파라미터까지 배열 형태로 처리합니다.
5. 디버깅용 출력 예제
Enumeration<String> params = request.getParameterNames();
System.out.println("===== DEBUG START =====");
while (params.hasMoreElements()) {
String name = params.nextElement();
System.out.println(name + " : " + request.getParameter(name));
}
System.out.println("===== DEBUG END =====");
콘솔 출력을 통해 실시간 디버깅이 가능합니다.
6. 테이블로 보기 예제
Servlet에서 파라미터를 HTML 테이블로 출력하면 가독성이 높아집니다.
out.println("<table><tr><th>파라미터</th><th>값</th></tr>");
for(String name : request.getParameterMap().keySet()) {
String value = request.getParameter(name);
out.println("<tr><td>" + name + "</td><td>" + value + "</td></tr>");
}
out.println("</table>");
결론
이번 글에서는 Servlet에서 Request Parameter 전체 확인 방법과 다양한 실전 예제를 소개했습니다. getParameterNames()와 getParameterMap()를 활용하면 GET/POST 요청 모두를 효과적으로 디버깅하고 처리할 수 있습니다. 웹 개발 실무에서 필수적인 스킬입니다.
댓글
댓글 쓰기