프로그래밍 언어/자바 웹

HttpServletRequest로 요청 처리 실습

· 코딩마이데이

<form> 태그로 전송된 데이터를 받아 오는 메서드

메서드 기능
String getParameter(String name) name의 값을 알고 있을 때 그리고 전송된 값을 받아오는 데 사용합니다.
String[] getParameterValues
(String name)
같은 name에 대해 여러 개의 값을 얻을 때 사용합니다.
Enumeration getParamaterNames() name 값을 모를 때 사용합니다.

 

1. pro06이라는 새 프로젝트를 생성합니다. 그리고 톰캣의 servlet-api.jar를 클래스 패스에 지정합니다.

pro06 프로젝트 생성

 

2. WebContent 폴더 하위에 다음과 같이 사용자 정보를 입력받을 login.html을 생성합니다.

실습 파일 위치

 

3. 다음과 같이 login.html 파일을 작성합니다. 로그인창에서 ID와 비밀번호를 입력 받은 후 서블릿으로 전송하는 내용입니다.

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>로그인 창</title>
</head>
<body>
  <form name="frmLogin" method="get" action="login"  encType="UTF-8">
  	아이디  :<input type="text" name="user_id"><br>
	비밀번호:<input type="password" name="user_pw" ><br>
    <input type="submit" value="로그인">  <input type="reset" value="다시입력">
  </form>
</body>
</html>

 

4. sec01.ex01 패키지를 만들고 요청을 받을 서블릿인 LoginServlet 클래스를 생성합니다.

실습 파일 위치

 

 

5. 다음과 같이 LoginServlet.java 코드를 작성합니다. HttpServletRequest 클래스의 getParameter() 메서드로 전송된 ID와 비밀번호를 받아 옵니다.

package sec01.ex01;

import jakarta.servlet.ServletException;
import jakarta.servlet.annotation.WebServlet;
import jakarta.servlet.http.HttpServlet;
import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletResponse;
import java.io.IOException;

@WebServlet("/login")
public class LoginServlet 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");
		String user_id = request.getParameter("user_id");
		String user_pw = request.getParameter("user_pw");
		System.out.println("아이디:" + user_id);
		System.out.println("비밀번호:" + user_pw);
	}

	public void destroy()
	{
		System.out.println("destroy 메소드 호출");
	}
}

 

6. pro06 프로젝트를 톰캣에 등록하여 실행한 후 브라우저에서 http://localhost:8090/pro06/login.html을 요청합니다.

브라우저에서 로그인 화면 요청

 

7. 텍스트 박스에 ID와 비밀번호를 입력한 후 로그인을 클릭하면 서블릿이 ID와 비밀번호를 이클립스 콘솔에 출력합니다.

 

ID와 비밀번호를 입력한 후 서블릿으로 전송하면 콘솔에 출력

 

단, 서블릿이 처리한 후의 응답 기능은 아직 구현하지 않으므로 웹 브라우저에는 아무것도 출력되지 않습니다.

서블릿으로부터 응답이 없는 브라우저