session, cookie
client에 정보를 저장해서 서버와 통신하면서
페이지 이동시 지속적으로 사용 가능하도록 하는 객체
session: 클라이언트 입력 정보-> 서버에 저장 -> 브라우저에 저장하는 형태
cookie: 서버에서 생성->클라이언트에 저장되어 사용
실사용:
session : 로그인, 메일발송 정보, 결제정보
cookie: 팝업창, 접속자 PC정보
session 단점: 여러서버에서 공유할 수 없음 (JSP) (통합아이디 이런거는 session을 못 만듦)
cookie 단점: 정보노출 단계가 낮음(Javascript, JSP)
세션 사용 법
String user ="hong";
String email ="hong@nate.com";
int level =4;
session.setAttribute("mid", user);
session.setAttribute("mail", email);
session.setAttribute("lv", level);
session.setMaxInactiveInterval(20*60); //20분
long last=session.getLastAccessedTime(); //세션 유지 시간
long create =session.getCreationTime(); //세션 생성 시간
long user_time=(last-create) / 60000; //세션 경과 시간
//MaxInactiveInterval: 기본이 1800초
//session.setMaxInactiveInterval(-1); 무한
//session.setMaxInactiveInterval(0); 소멸 로그아웃?
session.setMaxInactiveInterval(60*60); //최대 시간 조정하는 부분
int time=session.getMaxInactiveInterval() / 60;
//30분동안 session 유지
int time = session.getMaxInactiveInterval();
실질적으로 로그인에 사용하진 않음 로그인 시간 몇분 설정 되어있는지 확인 할 때 사용
쿠키 사용 법
String user="홍길동";
String email="hong@nate.com";
Cookie ck = new Cookie("person",user); //쿠키값 생성
response.addCookie(ck); //셍성한 쿠키값 서버 전송
Cookie ck2 = new Cookie("email",email);
response.addCookie(ck2);
Cookie[]ck=request.getCookies();
out.print(ck[0].getName()+"<br>"); //[0]서버정보
out.print(ck[1].getName()+"<br>"); //쿠키이름
out.print(ck[2].getName()+"<br>"); //쿠키이름
out.print(ck[1].getValue()+"<br>"); //쿠키 저장된 값
out.print(ck[2].getValue()+"<br>"); //쿠키 저장된 값
Cookie[] ck =request.getCookies(); //서버에서 쿠키값을 가져옴
ck[1].setMaxAge(0); //서버에 있는 쿠키 및 클라이언트 쿠키 모두 삭제
ck[2].setMaxAge(0); //
response.addCookie(ck[1]); //삭제된 쿠키 값을 서버에 재전송
response.addCookie(ck[2]); //
728x90
'JAVA > JSP' 카테고리의 다른 글
DB, delete하기 jsp,java mvc버전 (0) | 2022.08.30 |
---|---|
DB, insert하기 jsp,java mvc버전 (0) | 2022.08.30 |
Forward / Include 차이점 (0) | 2022.08.12 |
현재 시각 mysql 에 입력하기 / 값 전달 (0) | 2022.08.11 |
[JSP]자바 서버 페이지 (0) | 2022.08.08 |
댓글