프로그래밍 언어/자바 웹

<hidden> 태그를 이용한 세션 트래킹 실습

· 코딩마이데이

1. 새 프로젝트 pro09를 만들고 sec01.ex01 패키지를 생성한 후 다음과 같이 LoginServlet 클래스 파일과 login,html을 준비합니다.

실습 파일 위치

 

2. login.html을 다음과 같이 작성합니다. 로그인창에서 ID와 비밀번호를 입력하면 미리 <hidden> 태그에 저장된 주소, 이메일, 휴대폰 번호를 서블릿으로 전송합니다.

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>로그인창</title>
</head>
<body>
  <form name="frmLogin" method="post" 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="다시입력">
       <input type="hidden" name="user_address" value="서울시 성북구" />
       <input type="hidden" name="user_email" value="test@gmail.com" />
       <input type="hidden" name="user_hp" value="010-111-2222" />
  </form>
</body>
</html>

 

3. LoginServlet 클래스를 다음과 같이 작성합니다. getParameter() 메서드를 이용해 전송된 회원 정보를 가져온 후 브라우저로 다치 출력합니다.

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;
import java.io.PrintWriter;

@WebServlet("/login")
public class LoginServlet extends HttpServlet {
	public void init() {
		System.out.println("init 메소드 호출");
	}

	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		request.setCharacterEncoding("utf-8");
		response.setContentType("text/html;charset=utf-8");
		PrintWriter out = response.getWriter();
		String user_id = request.getParameter("user_id");
		String user_pw = request.getParameter("user_pw");
		String user_address = request.getParameter("user_address");
		String user_email = request.getParameter("user_email");
		String user_hp = request.getParameter("user_hp");

		String data = "안녕하세요!<br> 로그인하셨습니다.<br><br>";
		data += "<html><body>";
		data += "아이디 : " + user_id;
		data += "<br>";
		data += "비밀번호 : " + user_pw;
		data += "<br>";
		data += "주소 : " + user_address;
		data += "<br>";
		data += "email : " + user_email;
		data += "<br>";
		data += "휴대 전화 : " + user_hp;
		data += "</html></body>";
		out.print(data);
	}

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

 

4. http://localhost:8090/pro09/login.html로 요청하고 ID와 비밀번호를 입력한 후 서블릿으로 전송합니다.

로그안 요청

5. <hidden> 태그로 전송된 데이터도 출력합니다.

주소, 이메일, 전환번호를 서블릿으로 전송