● Session
Session은 클라이언트와 서버 간에 유지되어야 하는 상태 정보를 저장하는 객체
웹 애플리케이션은 Session 객체를 사용하여 특정 클라이언트의 세션 정보를 저장하고, 해당 세션을 통해 클라이언트와 지속적인 상태 정보를 유지할 수 있다.
세션은 일정 시간 동안 유지되며, 브라우저를 닫거나 세션이 만료되면 삭제된다.
Session을 실행하기위해 GetSession과 SetSession jsp 파일을 만들어 준다.
-SetSession.jsp 파일
- GetSession.jsp 파일
두 파일을 작성했으면 SetSession쿠키를 실행해본다.
실행은 새로운 페이지를 열어 localhost:8080/01_JSP/C06Session/SetSession.jsp를 입력해서 들어간다.
처음 해당 파일로 들어가면 Requset Headers에 쿠키가 없는 것을 볼 수 있다.
그리고 Response Headers에 Set-Cookie를 확인 할 수 있다.
새로고침을 한번 하면 response에 있던 쿠키가 request로 넘어 간것을 확인할 수 있다.
- 로그인 구현하기
- login 파일
- main 파일
- loginProc 파일
파일들을 다 작성하고 실행은 login.jsp 파일에서 하면 된다.
아이디에 USER1, 비밀번호를 1234를 치고 로그인을 하면 이렇게 로그인이 된다.
만약 아이디와 비밀번호를 치지 않았다면 유효성검사에 걸리게 되어 alert창이 뜨게 된다.
이번에는 로그아웃을 구현해본다.
login.jsp 파일에서 로그인을 하고 로그아웃을 해본다.
여기서 로그아웃 버튼을 클릭하면 로그아웃이 된다.
● cookie 설정
● 쿠키
- 문자열 데이터로만 저장가능 하다.
- 4kbyte 이하의 공간을 차지하고 여러개의 쿠키 설정가능하다. (최대 300개)
- 도메인당 20개까지 저장 가능하고 저장한도를 초과하면 최근에 사용되지 않는 쿠키부터 자동 삭제된다.
- 인증작업시 쿠키 사용한다.
쿠키 유지 기간 | -1(기본값) : 파일생성은 되지 않으나 브라우저가 종료될때까지 쿠키정보 저장되고 브라우저 종료시 삭제된다.
한번더 새로고침하면 request header에 mycookie가 들어온 것을 확인 할 수 있다.
쿠키를 확인 하는 페이지인 confirmCookie.jsp 파일을 만들고 연결시켜준다.
그리고 confirmCookie.jsp 파일을 만들어 쿠키를 확인 할 수 있는 페이지를 만든다.
CookCookie.jsp 파일을 실행시켜 쿠키확인 페이지를 누르면 쿠키를 확인 할 수 있는 페이지가 나오게 된다.
이번에는 쿠키를 삭제하는 페이지를 만든다.
여기서 해당 쿠키를 누르게 되면 쿠키가 삭제 되었다는 페이지가 나오게 된다.
myCookie1 을 삭제시켰기 때문에 myCookie1을 제외한 나머지 쿠키들만 보이게 된다.
- 로그인에서 쿠키 사용
이전 Session에서 작성한 로그인 파일들을 가져와서 사용해준다.
login.jsp 파일에 체크박스를 하나 만들어준다.
loginProc.jsp 파일에 idchk를 받는 파라미터를 작성해준다.
작성한 후 login.jsp 파일을 실행해 아이디와 비밀번호를 적호 ID저장에 체크를 하면 idchk : on이, 체크를 하지 않았다면 idchk : null이 출력이 된다.
loginProc.jsp 파일에 Idchk 확인하는 코드를 작성해준다.
login.jsp 파일에서 실행하면 된다.
ID저장에 체크를 하지 않으면 username의 쿠키가 생성되지 않지만
ID저장에 체크를 하면 idchk와 username의 쿠키가 생성되는 것을 확인 할 수 있다.
이번에는 ID저장을 체크했을 시 username을 쿠키로 저장하여 다시 페이지에 접속했을 때 자동으로 ID가 입력되어 있도록 하는 작업을 할 것이다.
login.jsp 파일에 username을 바꿔주고
Cookie를 받는 배열을 만들어 준다.
로그인을 한번 체크하면 나중에 다시 login페이지로 들어왔을 때 아이디 값에 USER1이 자동으로 저장되어 있는 것을 확인 할 수 있다.
● ServletContext
ServletContext는 웹 애플리케이션의 컨텍스트 정보를 나타내는 객체
서버의 모든 JSP 페이지 및 Servlet에 대한 공통 정보를 저장하고, 이를 공유하는 데 사용된다. 예를 들어, 웹 애플리케이션의 초기화 매개변수, 리소스의 절대 경로, 서버 정보 등을 ServletContext에 저장하여 애플리케이션 전체에서 접근 가능하게 할 수 있다.
'IT수업 > JSP_SERVLET' 카테고리의 다른 글
IT 수업 17주차 (97) JSTL (0) | 2024.04.17 |
---|---|
IT 수업 17주차 (96) 백엔드를 view에서 표현하기 위한 다양한 방법들 (0) | 2024.04.17 |
IT 수업 17주차 (94) 내장객체 (0) | 2024.04.16 |
IT 수업 17주차 (93) Forward, Redirect (0) | 2024.04.15 |
IT 수업 17주차 (92) get, post, import (0) | 2024.04.15 |