2017. 4. 14. 13:46ㆍJSP
[ 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 |