JSP Session ( Enumeration 이용 )

2017. 4. 14. 13:46JSP

[ Session ]

9가지 기본 내장 객체 중 하나 이므로 별다른 선언없이 바로 사용할 수 있다.

서버에서만 존재하고 브라우저에는 세션아이디값만 넘겨주므로 보안면에서 쿠키보다 우수하다

또, 용량에 제한이 없다는 장점이 있다.


< Session Method >

- session.setAttribute( "name" , "value" );

=> Object로 저장

- session.getAttribute( "name" );

=> 해당 이름의 session 반환

- session.getId();

=> 세션의 고유 아이디 저장

- session.getAttributeNames();

=> 세션의 모든 name 불어온다. => Enumeration 대입

- session.removeAttribute("name");

=> 세션 삭제

- session.invalidate();

=> 세션 모두 초기화


[ loginForm.jsp ]

...

<body>

<form method="post" action="login.jsp">

아이디 : <input type="text" name="id"/>

비밀번호 : <input type="password" name="pwd"/>

<input type="submit" value="로그인"/>

</form>

</body>



* 원래 DB에서 ID , PWD 정보 불러와서 데이터 비교를해야하지만 약식으로진행




[ login.jsp ] 

...

<%

String id = request.getParameter("id");

String pwd = request.getParameter("pwd");


if ( id.equals("abc") && pwd.equals("1234") ){

session.setAttribute( "ID" , id );    // 변수id를 데이터로 가진 ID라는 이름의 세션 생성

response.sendRedirect("loginOK.jsp");    // 세션을 가지고 페이지 이동

}else{

response.sendRedirect("loginForm.jsp");    // 로그인 페이지로 다시 이동 ( 정보를 재입력해라 )

}


%>


[ loginOk.jsp ]

<%

Enumeration enumeration = session.getAttributeNames();        // 세션에있는모든데이터들이름을가져옴

while( enumeration.hasMoreElements() ){        // enumeratioin 객체의 모든 요소들

String sName = enumeration.nextElement().toString();

String sValue = (String)session.getAttribute(sName);


if ( sValue.equals("abc") ){

out.println( sValue +" 님 안녕하세요");

}

}

%>

...

<body>

<a href="logout.jsp">로그아웃 하러가기</a>

</body>

</html>



[ logout.jsp ]

<%

session.invalidate();

%>

...

<body>

로그아웃 되었습니다.

</body>



'JSP' 카테고리의 다른 글

JSP 파일업로드  (0) 2017.04.21
jstl ( Jsp Standard Tag Library )  (0) 2017.04.21
JSP EL  (0) 2017.04.20
JSP액션태그 useBean  (0) 2017.04.15
Jsp Cookie ( 쿠키생성, 쿠키변경, 쿠키삭제 , 쿠키인코딩 )  (1) 2017.04.08