본문 바로가기
Web/JSP

JSP(10) - 웹페이지 연결 기능

by SeleniumBindingProtein 2022. 1. 28.
728x90
반응형

1. HTTP 프로토콜
    1) 서버-클라이언트 통신 시 stateless 방식으로 통신함.
    2) 브라우저에서 새 웹 페이지를 열면 기존의 웹 페이지나 서블릿에 관한 어떤 연결도 알수 없음.
        - 이전 웹 페이지들이 수행한 작업을 다른 웹 페이지에서 알수 없음.
    3) 웹 페이지간의 연결 기능을 필요로함.
        - <hidden> 태그 
            - 문제점 : 웹 페이지가 많아지면 일일이 로그인 정보를 전송해야 함.
                      GET 방식으로 전송하므로 보안에 취약함.
        - 쿠키와 세션     

2. 쿠키를 이용한 웹 페이지 연동        


    1) 쿠키(Cookie)
        - 웹 페이지들 사이의 공유 정보를 클라이언트 PC에 저장해 놓고 사용하는 방법
    2) 쿠키의 특징
        - 정보가 클라이언트 PC에 저장됨
        - 저장 정보 용량에 제한이 있음 (파일 용량은 4kb)
        - 보안이 취약함
        - 클라이언트 브라우저에서 사용 유무를 설정할 수 있음
        - 웹 사이트(도메인)당 하나의 쿠기가 만들어짐        
    3) 쿠키의 종류
        속성                Persistence 쿠키                          Session 쿠키
        생성위치           파일로 생성                               브라우저 메모리에 생성
        종료시기         쿠키를 삭제하거나                        브라우저를 종료한 경우   
                            쿠키 설정 값이 종료된 경우
        최초접속시
        전송여부         최초 접속시 서버로 전송          최초 접속시 서버로 전송되지 않음
        용도              로그인 유무 또는 팝업창을        사이트 접속시 Session 인증 정보를
                                     제한할 때                              유지할때
    4) 쿠키 API
        - javax.servlet.http.Cookie
            - HttpServletResponse의 addCookie() 
                - 클라이언트 브라우저에 쿠키를 전송한 후 저장함.
            - HttpServletRequest의 getCookie()
                - 쿠키를 서버로 가져옴.    

    5) 쿠키 이용해 팝업창 제한하기          

3. 세션(Session)을 이용한 웹 페이지 연동


    1) 세션
        - 웹 페이지들 사이의 공유 정보를 서버의 메모리에 저장해 놓고 사용하는 방법
    2) 세션의 특징
        - 정보가 서버의 메모리에 저장 
        - 브라우저의 세션 연동은 세션 쿠키를 이용함.
        - 쿠키보다 보안에 유리 
        - 서버에 부하를 줄수 있음
        - 브라우저(사용자)당 한 개의 세션(세션 id)이 생성됨
        - 세션은 유효 시간을 가짐 (기본 유효 시간은 30분)
        - 로그인 상태 유지 기능이나 쇼핑몰의 장바구니 담기 기능 등에 주로 사용됨.
    3) 세션 얻는 방법
        - HttpSession 클래스 객체를 생성해서 사용함.
        - HttpServletRequest의 getSession() 메서드를 호출해서 얻음.
            - getSession() : 기존의 세션 객체가 존재하면 반환하고, 없으면 새로 생성
    4) 세션 강제로 삭제하기                     

728x90
반응형

'Web > JSP' 카테고리의 다른 글

JSP(13) - 서블릿 관련 Listener API  (0) 2022.01.29
JSP(12) - 필터 API  (0) 2022.01.29
JSP(9) - ServletContext & ServletConfig  (0) 2022.01.28
JSP(8) - 서블릿 API 사용하기2  (0) 2022.01.28
JSP(7) - 서블릿 API 사용하기  (0) 2022.01.28

댓글