IT/Jsp

jsp - session 저장, 삭제, 초기화

노마드오브 2018. 9. 13. 22:50

파일명 : sessionTest.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"

    pageEncoding="UTF-8"%>

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

<html>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">

<title>Insert title here</title>

</head>

<body>

<%

/*

세션: 클라이언트의 정보를 서버 메모리에 저장

        중요한 정보(로그인 인증)

세션값 생성  session.setAttribute("이름", "값");

             가져오기  session.getAttribute("이름");

             한개삭제  session.removeAttribute("이름");

             초기화    session.invalidate();

             

             

        쿠키: 클라이언트(브라우저)의 텍스트파일로 저장.

              서버에 부하를 주지 않고 값을 저장(광고, 아이디기억)

*/


// 세션값 가져오기

String name = (String) session.getAttribute("name");

%>

<h1>sessionTest.jsp 페이지</h1>

<h2>세션값: <%=name %></h2>

<input type="button" value="세션값저장" onclick="location.href='sessionSet.jsp'">

<input type="button" value="세션값삭제" onclick="location.href='sessionDel.jsp'">

<input type="button" value="세션값초기화" onclick="location.href='sessionInval.jsp'">

</body>

</html>



파일명 : sessionSet.jsp

<%@page import="java.util.Date"%>

<%@ page language="java" contentType="text/html; charset=UTF-8"

    pageEncoding="UTF-8"%>

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

<html>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">

<title>Insert title here</title>

</head>

<body>

<%

// 세션값 생성

session.setAttribute("name", "Session 값");

session.setAttribute("myDate", new Date());

session.setAttribute("number", 7); // new Integer(7)

// 이동

%>

<script>

alert('세션값 생성');

location.href = 'sessionTest.jsp';

</script>

</body>

</html>



파일명 : sessionDel.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"

    pageEncoding="UTF-8"%>

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

<html>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">

<title>Insert title here</title>

</head>

<body>

<%

// 세션값 한개 삭제

session.removeAttribute("name");

%>

<script>

alert('세션값 삭제됨');

location.href = 'sessionTest.jsp';

</script>

</body>

</html>



파일명 : sessionInval.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"

    pageEncoding="UTF-8"%>

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

<html>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">

<title>Insert title here</title>

</head>

<body>

<%

// 세션 초기화

session.invalidate();

%>

<script>

alert('세션 초기화됨');

location.href = 'sessionTest.jsp';

</script>

</body>

</html>



파일명 : sessionLogin.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"

    pageEncoding="UTF-8"%>

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

<html>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">

<title>Insert title here</title>

</head>

<body>

<h1>로그인 페이지</h1>

<hr>

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

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

  패스워드: <input type="password" name="passwd"><br>

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

</form>

</body>

</html>



파일명 : sessionLoginPro.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"

    pageEncoding="UTF-8"%>

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

<html>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">

<title>Insert title here</title>

</head>

<body>

<h1>sessionLoginPro.jsp 페이지</h1>

<hr>

<%

// 파라미터값 가져오기   "id"  "passwd"

// 사용자가 로그인 시 입력한 값

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

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

// DB의 아이디, 패스워드

String dbId = "admin";

String dbPass = "1234";

// 문자열 비교   문자열.equals("문자열")

// 폼의 아이디와 DB의 아이디가 같으면

//    폼의 패스워드와 DB의 패스워드가 같으면

//          세션값 생성   ("id",id값) 후 sessionMain.jsp 이동

//    폼의 패스워드와 DB의 패스워드가 다르면 "패스워드 틀림"

// 틀리면 "아이디 없음"

if (id.equals(dbId)) { // 아이디 있음

if (passwd.equals(dbPass)) { // 로그인작업

// 세션생성

session.setAttribute("id", id);

out.println("로그인 인증됨<br>");

response.sendRedirect("sessionMain.jsp");

%>

<script>

// alert('로그인 인증되었습니다.');

// location.href = 'sessionMain.jsp';

</script>

<%

} else { // 패스워드 틀림

out.println("패스워드 틀림<br>");

}

} else { // 아이디 없음

out.println("아이디 없음<br>");

}

%>

</body>

</html>



파일명 : sessionLogout.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"

    pageEncoding="UTF-8"%>

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

<html>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">

<title>Insert title here</title>

</head>

<body>

<h1>sessionLogout.jsp 로그아웃 페이지</h1>

<%

// 세션 초기화

session.invalidate();

// 이동   sessionLogin.jsp

// response.sendRedirect("sessionLogin.jsp");

%>

<script>

alert('로그아웃 되었습니다.');

location.href = 'sessionLogin.jsp';

</script>


</body>

</html>



파일명 : sessionMain.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"

    pageEncoding="UTF-8"%>

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

<html>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">

<title>Insert title here</title>

</head>

<body>

<%

// 세션값 가져오기

String id = (String) session.getAttribute("id");

// 세션값이 없으면 (null이면)  sessionLogin.jsp 이동

if (id == null) {

response.sendRedirect("sessionLogin.jsp");

}

%>

<h1>sessionMain.jsp 메인 페이지</h1>

<hr>

<%=id %>님이 로그인하셨습니다.<br>

<input type="button" value="로그아웃" onclick="location.href='sessionLogout.jsp'">

</body>

</html>




'IT > Jsp' 카테고리의 다른 글

jsp - DB연결, insert, select, update, delete  (0) 2018.09.14
jsp - 오라클 JDBC 연동테스트  (0) 2018.09.14
jsp - cookie 저장, 삭제  (0) 2018.09.13
jsp - scope (page, request, session, application)  (0) 2018.09.12
jsp - request, response  (0) 2018.09.11