본문 바로가기

Java&JSP&Spring/JSP&Servlet

[JAVA/JSP/Servlet]Servlet에서 Form데이터 받는 방법

 

[JAVA/JSP/Servlet]Servlet에서 Form데이터 받는 방법

안녕하세요 미나라이 입니다.

이번 포스팅에서는 Servlet에서 Form에 작성한 데이터를 받아보는 처리예제를 남겨보려고 합니다.

데이터 입력

GET방식으로 전송

결과

Post방식으로 전송

결과

소스코드

GET방식으로 전송

Form테그에 action과 method를 정의합니다.

JspParamGet.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>MemberForm</title>
</head>
<body>
<form action="/ServletParameter/ServletParam" method="GET">
	회원 정보 등록<br />
	아이디 : <input type="text" name="id" /><br/>
	비밀번호 : <input type="password" name="password" /><br/>
	이름 : <input type="text" name="name" /><br/>
	나이 : <input type="text" name="age" /><br/>
	취미&nbsp; 
	<input type="checkbox" name="hobby" value="read">독서&nbsp; 
	<input type="checkbox" name="hobby" value="swim">수영&nbsp; 
	<input type="checkbox" name="hobby" value="sleep">취침&nbsp; 
	<br />
	직업&nbsp; 
	<select name="job">
		<option></option>
		<option value="teacher">선생님</option>
		<option value="doctor">의사</option>
		<option value="engenner">엔지니어</option>
	</select>
	<br/>
	<input type="submit" value="전송" />
</form>
</body>
</html>

POST방식으로 전송

Form테그에 action과 method를 정의합니다.

JspParamPost.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>MemberForm</title>
</head>
<body>
<form action="/ServletParameter/ServletParam" method="POST">
	회원 정보 등록<br />
	아이디 : <input type="text" name="id" /><br/>
	비밀번호 : <input type="password" name="password" /><br/>
	이름 : <input type="text" name="name" /><br/>
	나이 : <input type="text" name="age" /><br/>
	취미&nbsp; 
	<input type="checkbox" name="hobby" value="read">독서&nbsp; 
	<input type="checkbox" name="hobby" value="swim">수영&nbsp; 
	<input type="checkbox" name="hobby" value="sleep">취침&nbsp; 
	<br />
	직업&nbsp; 
	<select name="job">
		<option></option>
		<option value="teacher">선생님</option>
		<option value="doctor">의사</option>
		<option value="engenner">엔지니어</option>
	</select>
	<br/>
	<input type="submit" value="전송" />
</form>
</body>
</html>

서블릿

ServletParam.java

package com.test;

import java.io.IOException;
import java.util.Arrays;

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

/**
 * Servlet implementation class ServletParam
 */
@WebServlet("/ServletParam")
public class ServletParam extends HttpServlet {
	private static final long serialVersionUID = 1L;
       
    /**
     * @see HttpServlet#HttpServlet()
     */
    public ServletParam() {
        super();
        // TODO Auto-generated constructor stub
    }

	/**
	 * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
	 */
	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		String id = request.getParameter("id");
		String name = request.getParameter("name");
		String password = request.getParameter("password");
		int age = Integer.parseInt(request.getParameter("age"));
		String[] hobby = request.getParameterValues("hobby");
		String job = request.getParameter("job");
		
		System.out.println("Method = Get");
		System.out.println("ID : " + id);
		System.out.println("이름: " + name);
		System.out.println("비밀번호 : " + password);
		System.out.println("나이 : " + age);
		System.out.println("취미 : " + Arrays.toString(hobby));
		System.out.println("직업 : " + job);
	}

	/**
	 * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
	 */
	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		// POST로 들어올시에 선언을 안해주면 한글이 깨짐
		request.setCharacterEncoding("UTF-8");
		
		String id = request.getParameter("id");
		String name = request.getParameter("name");
		String password = request.getParameter("password");
		int age = Integer.parseInt(request.getParameter("age"));
		String[] hobby = request.getParameterValues("hobby");
		String job = request.getParameter("job");
		
		System.out.println("Method = Post");
		System.out.println("ID : " + id);
		System.out.println("이름: " + name);
		System.out.println("비밀번호 : " + password);
		System.out.println("나이 : " + age);
		System.out.println("취미 : " + Arrays.toString(hobby));
		System.out.println("직업 : " + job);
	}
}

 

콘솔창에서 한글 깨짐 현상이 발생한다면 아래 포스팅을 참고 해 주세요

 

[JAVA/JSP/Servlet]Servlet에서 파라미터 받을 때 한글 깨짐 방지 하는법

[JAVA/JSP/Servlet]Servlet에서 파라미터 받을 때 한글 깨짐 방지 하는법 안녕하세요 미나라이입니다. 이번에는 Servlet에서 받은 파라미터중에 한글이 깨졌을 경우 대처법을 간단하게 정리 했습니

nameybs.tistory.com

 

웹 개발을 하면서 폼 데이터 처리는 항상 나오는 부분이기 때문에 익혀두시면 좋습니다.

 

 

 

728x90
반응형