[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/>
취미
<input type="checkbox" name="hobby" value="read">독서
<input type="checkbox" name="hobby" value="swim">수영
<input type="checkbox" name="hobby" value="sleep">취침
<br />
직업
<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/>
취미
<input type="checkbox" name="hobby" value="read">독서
<input type="checkbox" name="hobby" value="swim">수영
<input type="checkbox" name="hobby" value="sleep">취침
<br />
직업
<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);
}
}
콘솔창에서 한글 깨짐 현상이 발생한다면 아래 포스팅을 참고 해 주세요
웹 개발을 하면서 폼 데이터 처리는 항상 나오는 부분이기 때문에 익혀두시면 좋습니다.
728x90
반응형
'Java&JSP&Spring > JSP&Servlet' 카테고리의 다른 글
[JAVA/Servlet]특정Servlet생성시 초기에 필요한 파라미터 설정하기(ServletConfig) (0) | 2022.01.23 |
---|---|
[JAVA/JSP/Servlet]Servlet에서 파라미터 받을 때 한글 깨짐 방지 하는법 (0) | 2022.01.23 |
[JAVA/Servlet]Servlet의 생명주기(Line Cycle) (0) | 2022.01.22 |
[JAVA/Servlet]Servlet의 작동 순서 (0) | 2022.01.22 |
[WAS/Tomcat]컨텍스트 패스(Context Path)란 무엇인가? (0) | 2022.01.22 |