웹 개발 기초/자바 웹을 다루는 기술 101

서블릿에서 세션 API 이용하기

// SessionTest.java package sec03.ex01; import java.io.IOException; import java.io.PrintWriter; import java.util.Date; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpSession; /** * Servlet implementat..

세션 API의 특징과 기능

서블릿에서 세션을 이용하기 위해 HttpSession 클래스 객체를 생성해서 사용해야 하는데, HttpSession 객체는 HttpServletRequest의 getSession( ) 메서드를 호출해서 생성할 수 있음 getSession( ) 메서드의 종류 getSession( ): 기존의 세션 객체가 존재하면 반환하고, 없으면 새로 생성 getSession(true): 기존의 세션 객체가 존재하면 반환하고, 없으면 새로 생성 getSession(false): 기존의 세션 객체가 존재하면 반환하고, 없으면 null을 반환 HttpSession 클래스의 여러 가지 메서드 반환 타입 메서드 설명 Object getAttribute(String name) 속성 이름이 name인 속성 값을 Object 타입으로..

세션을 이용한 웹 페이지 연동 기능

세션도 웹 페이지들 사이의 공유 정보를 서버에 저장해 두고 웹 페이지들을 매개해 주는 방법이라는 점은 쿠키와 동일하나, 쿠키는 사용 시 웹 페이지들의 정보가 클라이언트 PC에 저장되므로 정보가 쉽게 노출될 수 있다는 단점이 있는 반면, 세션은 서버의 메모리에 생성되어 정보를 저장함. 따라서 웹 페이지에서 사용되는 정보 중 로그인 정보처럼 보안이 요구되는 정보는 대부분 세션을 사용함. 세션은 각 브라우저당 한 개, 즉 사용자당 한 개가 생성되기때문에, 사용자의 로그인 상태나 쇼핑몰의 장바구니 담기 기능 같은 정보를 해당 브라우저의 세션에 저장해서 편리하게 사용할 수 있음. 세션의 특징 정보가 서버의 메모리에 저장됨 브라우저의 세션 연동은 세션 쿠키를 이용함 쿠키보다 보안에 유리함 서버에 부하를 줄 수 있음..

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

팝업창 제어는 서버에서 쿠키를 다루지 않고 자바스크립트를 이용해 쿠키에 직접 접근함 알림 팝업창입니다. 오늘 더 이상 팝업창 띄우지 않기 오늘 더 이상 팝업창 띄우지 않기에 체크하면 자바스크립트 함수인 setPopUpStart( ) 함수를 호출해 notShowPop의 값을 true로 설정하여 재접속 시 팝업창을 띄우지 않게 설정함 웹 페이지가 브라우저에 로드될 때 pageLoad( ) 함수를 호출한 후 쿠키에 접근해 팝업창 관련 정보를 가져온다. getCookieValue( ) 함수를 호출해 쿠키 이름 notShowPop의 값이 true가 아니면 팝업창을 나타내고, notShowPop의 값이 true면 팝업창을 나타내지 않는다. 브라우저로 최초 popupTest.html을 요청하면 팝업(popUp.htm..

세션 쿠키 사용하기

다음과 같이 Cookie의 setMaxAge( ) 메서드를 이용해 유효 시간을 -1로 설정하면 세션 쿠키가 생성됨 세션 쿠키는 브라우저가 사용하는 메모리에 저장하는 방식 // SetCookieValue.java package sec02.ex01; import java.io.IOException; import java.io.PrintWriter; import java.net.URLEncoder; import java.util.Date; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.Cookie; import javax.servlet.http.HttpServle..