-
Sessionjsp(Model1) 2020. 5. 17. 23:13
세션은 클라이언트에 대한 정보를 서버측에 저장하는 개념이다. 사용자로부터 넘어온 정보를 서버측에 저장한다.
쿠키는 웹브라우저 자체내의 쿠키저장소에 저장된다. 세션은 서버 자체내에 저장된다.
서버측의 메모리에 저장되기 때문에 서버가 재실행 되면 사라진다. 웹 브라우저당 하나의 세션이 만들어진다. 웹브라우저당 한개의 세션이 자동으로 웹 컨테이너(톰캣 서버등 서버)에 저장된다.
세션 메서드
메서드 이름 리턴타입 설명 getAttribute(String name) java.lang.Object 세션 속성명이 name인 속성의 값을 Object타입으로 리턴한다. 해당 되는 속성명이 없을 경우에는 null 값을 리턴한다. getAttributeNames() java.util.Enumeration 세션 속성의 이름들을 Enumeration 객체 타입으로 리턴한다. getCreationTime() long 1970년 1월 1일 0시 0초를 기준으로 하여 현재 세션이 생성된 시간까지 경과한 시간을 계산하여 1/1000초 값으로 리턴한다. getId() java.lang.String 세션에 할당된 고유 식별자를 String 타입으로 리턴한다. getMaxInactiveInterval() int 현재 생성된 세션을 유지하기 위해 설정된 세션 유지시간을 int형으로 리턴한다. invalidate() void 현재 생성된 세션을 무효화시킨다. removeAttribute(String name) void 세션 속성명이 name인 속성을 제거한다. setAttribute(String name, Object value) void 세션 속성명이 name인 속성에 속성값으로 value를 할당한다. setMaxInactiveInterval(int interval) void 세션을 유지하기 위한 세션 유지시간을 초 단위로 설정한다. 세션 로그인 폼 jsp
<%@ page language="java" contentType="text/html; charset=EUC-KR" pageEncoding="EUC-KR"%> <!DOCTYPE html> <html> <head> <meta charset="EUC-KR"> <title>Insert title here</title> </head> <body> <h2>세션로그인</h2> <form action = "SessionLoginProc.jsp" method="post"> <table width="400" border="1"> <tr height="50"> <td width="150">ID</td> <td width="250"><input type="text" name="id"></td> <!-- 쿠키로 저장된 id값이 널이면 그냥 비어있게 나오게 되고 id값이 있으면 저장된 id값이 나오게 된다. --> </tr> <tr height="50"> <td width="150">PassWord</td> <td width="250"><input type="password" name="pass"></td> </tr> <tr height="50"> <td colspan="2" align="center"><input type="submit" value="로그인"></td> </tr> </table> </form> </body> </html>
세션 로그인 처리 jsp
<%@ page language="java" contentType="text/html; charset=EUC-KR" pageEncoding="EUC-KR"%> <!DOCTYPE html> <html> <head> <meta charset="EUC-KR"> <title>Insert title here</title> </head> <body> <h2>세션 로그인 처리1</h2> <% request.setCharacterEncoding("euc-kr"); //사용자로부터 데이터를 읽어드림 String id = request.getParameter("id"); String pass = request.getParameter("pass"); //세션은 내장객체이기 때문에 객체생성을 안하고 그냥 써도 된다. //세션을 이용해서 아이디와 패스워드 저장 session.setAttribute("id", id); session.setAttribute("pass", pass); //세션의 유지시간 설정 session.setMaxInactiveInterval(60); %> <h2>당신의 아이디는 <%=id %></h2> <a href="SessionLoginProc2.jsp">다음 페이지로 이동</a> </body> </html>
세션 로그인 처리2 jsp (파라미터로 값을 넘겨주지 않아도 세션에 값이 저장되어 있기 때문에 정보를 읽어드릴 수 있다.)
<%@ page language="java" contentType="text/html; charset=EUC-KR" pageEncoding="EUC-KR"%> <!DOCTYPE html> <html> <head> <meta charset="EUC-KR"> <title>Insert title here</title> </head> <body> <h2>세션 로그인 처리2</h2> <% request.setCharacterEncoding("euc-kr"); //세션을 이용하여 데이터를 불러옴 String id = (String)session.getAttribute("id");//세션에는 오브젝트타입으로 저장되어 있기 때문에 스트링으로 캐스팅해줘야한다. String pass = (String)session.getAttribute("pass"); %> <h2>당신의 아이디는 <%=id %></h2> </body> </html>
참조 : 인프런 - JSP 웹 쇼핑몰 프로그래밍 기본 과정(JSP WEB Programming) - Cookie & Session
'jsp(Model1)' 카테고리의 다른 글
자바스크립트에서 JSP변수 사용하기 (0) 2020.07.30 Cookie (0) 2020.05.17 JSP와 데이터베이스연동2(DAO패턴 적용) (0) 2020.05.17 JSP와 데이터베이스 연동1 (0) 2020.05.16 JSP 액션태그 (0) 2020.05.15