회화 기술 쿠키&세 션
1.1 WEB 개발 에서 세 션 은 무엇 입 니까?
우리 가 브 라 우 저 를 열 면 브 라 우 저 에서 웹 사 이 트 를 방문 합 니 다.웹 사이트 에서 몇 개의 하이퍼링크 를 클릭 하 든 얼마나 많은 자원 을 방문 하 든 브 라 우 저 를 닫 을 때 까지 이 모든 과정 은 하나의 세 션 입 니 다.
1.2 세 션 에서 자주 해결 해 야 할 문제
사용자 와 서버 의 상호작용 세 션 과정 에서 모든 사용 자 는 자신의 데이터 가 존재 합 니 다.예 를 들 어 로그 인 한 후에 로그 인 상 태 를 기억 하고 사용자 가 방문 한 자원 정보,인터넷 쇼핑 에서 선택 한 상품 정보 등 입 니 다.
일부 세 션 데이터 에 대해 서 는 프로그램 이 이 데 이 터 를 저장 할 방법 을 생각해 야 할 때 가 있 습 니 다.
① 만약 에 사용자 가 한 사이트 에 로그 인 한 후에 아무리 갱신 하고 이동 하 더 라 도 사용자 의 기본 정 보 는 계속 존재 한다.만약 에 하고 싶 지 않 으 면
법 저장,매번 갱신 점프 할 때마다 데이터베이스 에 다시 가서 이 사용자 의 정 보 를 얻어 야 합 니 다.이렇게 하면 사용자 가 계속 유지 할 수 없습니다.
로그 인 상태.
② 만약 에 사용자 가 특정한 사이트 에서 쇼핑 을 할 때 몇 가지 다른 상품 을 골 랐 는데 이때 사용자 선택 을 저장 할 방법 이 없다 면
구 매 한 모든 상품 정보(카 트)사용 자 는 한 가지 물품 을 골 라 구 매 하면 한 번 지불해 야 한다.
1.3 세 션 데 이 터 를 저장 하 는 두 가지 기술 인 쿠키&session
다음은 주로 본인 의 이해 이 고 사용 하 는 예 가 모두 기본 적 이 며 더 많은 사용 방법 은 API 를 조회 할 수 있 습 니 다.
1.3.1、cookie
쿠키 란 무엇 입 니까?
쿠키 는 클 라 이언 트 의 기술 로 이러한 기술 을 이용 하여 일부 사용자 정 보 를 쿠키 형식의 파일 로 사용자 각자 의 브 라 우 저(서버 가 아 닌)에 저장 하여 이 정 보 를 편리 하 게 사용 할 수 있 습 니 다.
쿠키 형식의 파일 은 보통 txt 문서 이 고 문서 에 특정한 형식 으로 데 이 터 를 저장 합 니 다.
적당 한 정의:하나의 쿠키 는 웹 서버 가 사용자 컴퓨터 하드디스크 에 저장 한 작은 텍스트 정보 입 니 다.
텍스트 정 보 는'키-값'을 저장 하고 나중에 다시 가 져 올 수 있 습 니 다.
자바 에서 쿠키 사용:javax.servlet.http.Cookie 이 가방 을 가 져 오 려 면
//1.클 라 이언 트 에 쿠키 를 추가 하고,
public void addCookie( ){
//username 이라는 쿠키 를 새로 만 듭 니 다.해당 하 는 값 은 hzh 입 니 다.
Cookie c1 = new Cookie("username","hzh");
//response 는 HttpServletResponse 에서 브 라 우 저 에 쿠키 를 추가 합 니 다.수명 주기 가 설정 되 어 있 지 않 습 니 다.
response.addCookie(c1);
//password 라 는 쿠키 를 새로 만 들 었 습 니 다.해당 하 는 값 은 123 입 니 다.
Cookie c2 = new Cookie("password","123");
c2.setMaxAge(3600); //생명주기 1 시간,초 단위 설정
response.addCookie(c2);//브 라 우 저 에 쿠키 추가
}
쿠키 를 추가 할 때 수명 주 기 를 설정 하지 않 으 면 이 쿠키 는 클 라 이언 트 의 메모리 에 만 존재 하고 하 드 디스크 파일 에 기록 되 지 않 습 니 다(클 라 이언 트 가 닫 히 면 이 브 라 우 저 창 을 잃 어 버 렸 습 니 다)
라 이 프 사이클 이 설정 되 어 있 으 면 이 쿠키 를 하 드 디스크 파일 에 기록 하고 설정 한 라 이 프 사이클 이 끝 날 때 까지 유효 하지 않 습 니 다.
//2.쿠키 파일 읽 기
public void getCookies(){
Cookie[] cookies = request.getCookies(); //우선 브 라 우 저의 모든 쿠키 를 가 져 와 서 배열 로 돌아 가 야 합 니 다.
for(Cookie c :cookies ){ //username 이라는 쿠키 를 찾 습 니 다.
if(c.getName().equals("username")){
//쿠키 의 getName()과 getValue()를 통 해 각각 해당 하 는 쿠키 이름과 해당 하 는 값 을 가 져 옵 니 다.
System.out.println(c.getName()+"--->"+c.getValue());
}
}
}
/3.쿠키 파일 을 삭제 하고 쿠키 의 수명 주 기 를 0 으로 설정 하면 브 라 우 저 에서 삭제 합 니 다.
public void deleteCookie(){
//쿠키 를 삭제 하려 면 같은 이름 의 쿠키 를 다시 만 들 고 수명 주 기 를 0 으로 설정 하면 됩 니 다.
Cookie c1 = new Cookie("username",null);
c1.setMaxAge(0);
response.addCookie(c1);
}
1.3.2、session
세 션 이 뭐 예요?
session 은 서버 쪽 의 기술 로 웹 서버 메모리 에서 모든 사용자 와 서버 를 위 한 기술 입 니 다.
세 션 데이터 정 보 를 저장 하기 위해 메모리 공간 을 만 듭 니 다.
서버 메모리 에 저장 되 어 있 기 때문에 세 션 이 끝나 면 해당 하 는 session 도 끝 납 니 다.
java 에서 session 사용 하기:javax.servlet.http.HttpSession 이 패 키 지 를 가 져 오 려 면
서버 에 session 을 추가 합 니 다.
public void addSession(){
HttpSession session = request.getSession();
session.setAttribute("username","su"); //서버 에 username 이라는 session 을 추가 합 니 다.
}
//2.session 값 가 져 오기
public void getSession(){
HttpSession session = request.getSession();
//보통 object 를 꺼 내 서 타 입 을 강하 게 바 꿔 야 합 니 다.
String username =(String) session.getAttribute("username");
}
//3.세 션 삭제
public void deleteSession(){
HttpSession session = request.getSession();
session.removeAttribute("변수 이름"); //세 션 삭제
session.invalidate(); // session
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Is Eclipse IDE dying?In 2014 the Eclipse IDE is the leading development environment for Java with a market share of approximately 65%. but ac...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.