JSP
JSP 세션
테라시아
2024. 11. 30. 14:59
세션(Session)
내장 객체로서 브라우저마다 한 개씩 존재하고
고유한 세션 아이디(SessionID) 생성 후 정보 추출
장점
- JSP 등 언어에서만 접근 가능하므로 보안성이 좋음
- 저장 용량 한계가 거의 없음
단점
- 서버에 데이터를 저장하므로 서버에 부하 위험
☆ Code
★ session
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Session Login</title>
</head>
<body>
<%
String userid = "";
if(session.getAttribute("userid") != null){
System.out.println("[getSession] Login OK");
userid = (String)session.getAttribute("userid");
// 환영 인사
%>
<h1><%=userid%>님 반갑습니다.</h1>
<h1>회비는 29만원입니다.</h1>
<%
}
else {
%>
<form name="loginForm" method="post" action="11_session_ok.jsp">
<fieldset>
<legend>Login Info.</legend>
id : <input type="text" name="userid"><br>
pw : <input type="password" name="passwd"><br>
<input type="button" value="login" onclick="sendIt()">
</fieldset>
</form>
<%
}
%>
</body>
<script>
var frm = document.loginForm;
function sendIt(){
if(frm.userid.value == ''){
alert("넌 이름도 없냐?");
return false;
}
if(frm.passwd.value == ''){
alert("니 정보 다 샌다 괜찮냐");
return false;
}
frm.submit();
}
</script>
</html>
★ session_ok
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Session Login</title>
</head>
<body>
<%
String userid = request.getParameter("userid");
String passwd = request.getParameter("passwd");
// userid : Apple, passwd : 111 인 것만 인정
if(userid.equals("Apple") && passwd.equals("111")){
// session에 저장
session.setAttribute("userid", userid);
response.sendRedirect("11_session.jsp");
}
else {
%>
<script>
alert("너 누구야");
location.href = "11_session.jsp";
</script>
<%
}
%>
</body>
</html>