Jsp Cookie


1. Jsp 쿠키 생성 및 활용


  • 로그인 폼 생성 및 입력받은 데이터 송신
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>

<!DOCTYPE html>
<html>
<head>
<title> 로그인창 </title>
</head>
<body>

<h3>로그인 확인하기 </h3>
<form action="02_LoginService.jsp" method="post"> // 02_LoginService.jsp에 연결 //post 방식으로 전송
사용자: <input name='user' type='text'><br/>
비밀번호: <input name='pass' type='password'><br/>
<input type='submit' value='login'>
</form>

</body>
</html>


  • 로그인 확인
  • 받아온 데이터와 DB의 값 비교
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>

<!DOCTYPE html>
<html>
<head>
<title> 로그인확인 </title>
</head>
<body>
<%
	// 이전화면 폼에서 넘겨받는 값
	String user = request.getParameter("user");
	String pass = request.getParameter("pass");

	// 실제로는 DB에서 가져와야하는 값
	String saveUser = "bill7845";
	String savePass = "3927";

	// user, password가 같을 때 로그인 성공, 그렇지 않으면 로그인 실패
	if( ( user.equals(saveUser) ) && ( pass.equals(savePass) ) ){

		//#############
		// 1. 로그인 성공 시 쿠키생성
		Cookie c = new Cookie("user","bill7845");
		// 2. 쿠키속성 지정 ( 선택 )
		c.setMaxAge(1*60*60);
		// 3. 응답으로 쿠키전송
		response.addCookie(c);    // 쿠키 전송 메서드 addCookie()
%>

	<h2> <%= user %>, 성공적으로 로그인하셨슴다...</h2>
	<p> <a href="02_MainPage.jsp"> 들어가기 </a>

<%
	} else {

%>

	<h2> 로그인에 실패했슴다...</h2>
	<p> <a href="02_LoginForm.jsp"> 되돌아가기 </a>

<%
	}			
%>

</body>
</html>


  • 발생된 쿠키를 얻어오기 (* 배열로 얻어와야함)
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>

<!DOCTYPE html>
<html>
<head>
<title> 우리 페이지 </title>
</head>
<body>

<%
	String user = null;
	//##########
	// 1. 요청을 통해 전송된 쿠키들을 얻어오기
	Cookie c[] = request.getCookies();
	// 2. 내가 지정한 이름의 쿠키를 찾기
	for(int i=0; c!=null && i <c.length; i++){  // shortcurcuit로직 활용!!
		if((c[i].getName()).equals("user") ){  // 쿠키 발생시 key:user value:bill7845로 지정해둠
      // 3. 해당하는 그 쿠키의 값을 얻어와 변수에 저장
			out.write(c[i].getValue() +"님 접속 중");
			user = c[i].getValue();
		}
	}

	if(user == null){
		response.sendRedirect("02_LoginForm.jsp");
	}

%>

	<h2>  페이지는 로그인을 하셔야만   있는 페이지 입니다 </h2><br/><br/><br/>
	<%= user %>, 로그인 중입니다.


</body>
</html>