yooniiverse
개발 블로그
yooniiverse
전체 방문자
오늘
어제
  • 분류 전체보기
    • 운영체제
    • 네트워크
    • ~2023.02
      • 외부교육
      • 대외활동
      • 스터디
      • 동아리
      • TIL
      • IT지식
      • 기타
      • 트러블 슈팅
      • 프로그래밍
      • Python
      • Java
      • JS
      • DB(SQL)
      • JSP
      • Spring
      • 기술면접
      • 자바
      • 코딩테스트
      • 자료구조
      • 알고리즘
      • 백준 문제풀이
      • 인공지능
      • 머신러닝
      • 프로젝트
      • 안드로이드 앱개발
      • 웹개발
      • 웹 서비스
      • 웹퍼블리싱
      • Node.js 백엔드 개발
      • CS
      • 1일 1CS지식
      • 운영체제
      • 네트워크
      • 데이터베이스
      • 정보처리기사
      • 도서 리뷰
      • 개발 관련 도서
      • 기타 도서

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
yooniiverse

개발 블로그

~2023.02/JSP

[JSP]세션과 쿠키

2022. 6. 13. 21:46

JSP 세션(Session)

  • JSP 웹 문서의 쿠키와 다르게, 웹 브라우저에 사용자의 상태를 유지하고 정보를 보관하는 것이 아니라 웹 브라우저에 사용자의 상태를 유지하고 정보를 보관하기 위해  웹 서버 쪽의 웹 컨테이너에 사용자의 정보를 저장할 때 사용한다.
  • 세션은 웹 브라우저에 사용자의 상태를 유지하고 정보를 보관하기 위해 javax.servlet.http 패키지의 HttpSession 인터페이스를 구현해서 사용한다.
  • 세션은 하나의 웹 브라우저에 하나의 세션이 생성되어 웹 컨테이너에 저장된다.
  • 웹 서버는 각각의 웹 브라우저로부터 발생한 요청에 대해 식별자를 부여한다.
  • 식별자를 부여한 다음에 부여한 식별자를 웹 브라우저에 발생한 요청들과 비교한 후 동일한 식별자를 구별하게 된다.
  • 이렇게 부여된 식별자에 특정한 값을 넣어 보관할 수 있으며, 식별자에 보관된 이 정보를 사용해서 세션을 유지하게 된다.

 

JSP 세션 메서드

  • JSP 세션은 setAttribute() 와 getAttribute() 등의 메서드를 사용해 속성 값을 설정하거나 세션만의 고유정보를 제공하게 된다.
  • 세션은 각각의 세션을 구분하기 위해 고유의 세션 ID를 할당한다.
  • 세션 ID는 쿠키를 통해서 클라이언트인 웹 브라우저에 전달된다. 세션은 가장 최근에 사용 시간을 저장하게 된다.

 

JSP 세션 사용 방법

session 객체 설정 사용예제

JSP 페이지에 로그인하면 로그인 ID를 세션에 저장하게 된다.

<%@ page language="java" contentType="text/html; charset=utf-8"%>
<%request.setCharacterEncoding("utf-8");%>

<%
  // uID 파라미터를 request에서 가져옴
  String uID = request.getParameter("uID");
  
  // uPasswd 파라미터를 request에서 가져옴
  String uPasswd = request.getParameter("uPasswd");
  
  // 로그인 정상처리유무 확인
  if (check) {
    // 로그인 성공(세션에 "uID"라는 이름으로 uID 등록)
    session.setAttribute("uID", uID);
%>

<script type="text/javascript">
  alert("정상적으로 로그인이 되었습니다.");
</script?

<%
  // indexLogin10 JSP 페이지로 이동
  response.sendRedirect("indexLogin10.jsp");
  } else { // 로그인 실패
%>

<script type="text/javascript">
  alert("로그인이 되지 않았습니다. 다시 로그인하세요!");
  
  // 이전 페이지로 이동
  history.go(-1);
</script>

<%
  }
%>

session 객체 가져오기 사용예제

JSP 세션에서 ID를 가져와서 로그인 상태를 인증하고, 로그인 값이 없을 경우에는 로그인 페이지로 이동하게 한다.

<%@page language="java" contentType="text/html; charset=utf-8"%>
<%request.setCharacterEncoding("utf-8");%>

<%
  String uID="";
  
  try {
    // uID 파라미터를 request에서 가져옴
    uID = (String)session.getAttribute("uID");
    
    // uID가 없거나 null인 경우
    if (uID == null | uID.equals("") {
      // 로그인 페이지로 이동
      response.sendRedirect("Login10.jsp");
    }
  }
%>

session 객체 제거하기 사용예제

로그아웃 시 현재의 세션 정보를 제거하는 것을 말한다.

<%@page language="java" contentType="text/html; charset=utf-8"%>
<%request.setCharacterEncoding("utf-8");%>

// 세션 정보 제거
<%session.invalidate();%>

<script type="text/javascript">
  alert("로그아웃 되었습니다.");
  // 메인화면 페이지로 이동
  location.href="indexLogin10.jsp";
</script>

'~2023.02 > JSP' 카테고리의 다른 글

[JSP]JSP의 두 가지 문법 형태  (0) 2022.06.13
[JSP]JSP&Servlet 이해  (0) 2022.06.13
JSP 처리 과정  (0) 2022.06.04
JSP 페이지의 구성요소  (0) 2022.06.04
    '~2023.02/JSP' 카테고리의 다른 글
    • [JSP]JSP의 두 가지 문법 형태
    • [JSP]JSP&Servlet 이해
    • JSP 처리 과정
    • JSP 페이지의 구성요소
    yooniiverse
    yooniiverse

    티스토리툴바