JSP 로그인 정보

  • 브라우저가 처음에 페이지를 요청
    1. 브라우저 : 100번 세션ID를 발급
    2. 서버 : 발급해준 100 세션ID를 이용하여, 100번 사용자만을 위한 관리할 수 있는 환경조성(세션생성)
    3. 작업 : 로그인 -> 로그인 정보 확인 -> session.setAttrubute(“userId”, userId);
    4. 위의 코드가 실행이 되면, 서버측의 100번 사용자를 위한 공간에 정보를 저장한다
  • 세션종료(소멸)
    1. 세션 유지시간 - WAS 프로그램마다 다르고, 설정이 가능
    2. 세션이 유지되는 시간에 사이트를 재방문하면, 시간은 자동연장
    3. 세션이 유지되는 시간이 지나서, 이후에 방문하면 세션은 종료(소멸)
loginForm.jsp 파일

<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<%
	// 단위 : 초
	// session.setMaxInactiveInterval(10);
	// 시간확인방법
	out.println(session.getMaxInactiveInterval());
%>
<h3>로그인/로그아웃 페이지</h3>
<%	if(session.getAttribute("userId") == null ){	%>
	<form method="post" action="loginOk.jsp">
		<div id="auth">
			<dl>
			
				<dd>
					<label for="userId">아이디</label>
					<input type="text" name="userId" id="userId" placeholder="user01" autofocus required>
				</dd>
				
				<dd>
					<label for="userPw">비밀번호</label>
					<input type="password" name="userPw" id="userPw" placeholder="1234" autofocus required>
				</dd>
				
				<dd>
					<input type="submit" value="로그인">
				</dd>
				
			</dl>
		</div>
	</form>
<%}else{ %>
	<form method="post" action="logout.jsp">
		<div id="auth">
			<dl>
				<dd>
					<%=session.getAttribute("userId") %>님이 로그인중입니다.
				</dd>
				
				<dd>
					<input type="submit" value="로그아웃">
				</dd>
			</dl>
		</div>
	</form>
<%} %>
</body>
</html>
loginOk.jsp 파일

<%
	String userId = request.getParameter("userId"); //input의 name 명을 가져옴
	String userPw = request.getParameter("userPw");

	//db에서 로그인정보 확인작업 - 생략
	// user01/1234 임의로 아이디 비밀번호 부여
	if(userId.equals("user01") && userPw.equals("1234")){
		// 서버측의 메모리에 사용자(브라우저)에게 발급해준 세션ID로 관리되는 기억장소에 로그인에 성공한 상태를 저장 및 관리한다
		session.setAttribute("userId", userId);
	}
	
	response.sendRedirect("loginForm.jsp");

%>
logout.jsp 파일

<%
	// 세션소멸하는 기능
	session.invalidate();
	response.sendRedirect("loginForm.jsp");
%>

태그:

카테고리:

업데이트:

댓글남기기