세션(Session) 1. 세션 1)클라이언트가 서버에 접속해있는 동안 그 상태를 유지하는 것이 목적임. 2)웹 브라우저를 통해 서버 접속 => 처리 => 웹 브라우저를 닫아 서버와의 접속을 종료하는 하나의 단위를 세션이라고 한다. 3)HTTP는 기본적으로 일회성 연결 -> 웹 클라이언트 하나하나를 기억할 수 없다. 개인화된 서비스를 제공하려면 웹 클라이언트를 웹 서버에서 인식하고 있어야 한다. =>웹 클라이언트가 '내가 누구다'라는 데이터를 요청마다 실어보내야 한다. 2. 세션 설정 확인 Dynamic Web Project 생성 시 Generate web.xml deployment descriptor 체크 web.xml에 세션 유효 시간 설정 1 2 3 4 5 6 7 8 9 10 11 12 13 14 ..
쿠키(Cookie) 1. 쿠키 1)클라이언트 상태 정보를 유지하기 위한 기술 2)상태 정보를 클라이언트(주로 웹 브라우저)에 키(key)와 값(value)형태로 저장했다가 다음 요청 시 저장된 쿠키를 함께 전송함. 3)웹 서버는 브라우저가 전송한 쿠키로부터 필요한 데이터를 읽어올 수 있음. 4)3000개까지 만들 수 있음, 쿠키 하나의 최대 크기는 4096바이트. 5)하나의 호스트나 도메인에서 최대 50개까지 생성 가능 2. 쿠키 동작 매커니즘 1)클라이언트가 서버에 요청을 보냄 2)서버가 쿠키를 생성하여 HTTP 응답 헤더에 실어 클라이언트에 전송함. 3)클라이언트는 쿠키를 받아 저장함, (서버는 아직 쿠키 사용 불가) 4)클라이언트는 다음번 요청 시 저장해둔 쿠키를 HTTP 요청 헤더에 실어 보냄. ..
내장 객체(내장 변수) -JSP가 서블릿으로 변환 시 컨테이너가 자동으로 생성시키는 서블릿 멤버변수. -내장 객체는 JSP에서 별다른 선언 없이 바로 사용 가능한(많이 사용되는 기능을 정의한)객체를 의미한다. -내장 객체는 JSP가 변환된 Java 파일 안에 _jspService( )메서드 내에서 선언되는 지역 변수 => 선언문 안에서 내장 객체 사용 불가 워크스페이스_경로\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\work\Catalina\localhost\프로젝트명 영역(Scope) 1. page 영역 : 동일한 페이지에서만 공유됨, 페이지 벗어나면 소멸됨. 2. request 영역 : 하나의 요청에 의해 호출된 페이지와 포워드(요청 전달)된 페이지까..
스크립트 요소(Scripting Element) 1. 스크립트 요소 의미 -JSP 페이지에서 여러 가지 동적인 처리를 제공하는 기능 -기호 안에 자바 코드로 구현함. -기호를 스크립틀릿이라고 부름. 2. 종류 1)선언문(declaration tag) -JSP에서 사용하는 멤버 변수나 멤버 메서드를 선언할 때 사용 -선언문 안의 멤버는 서블릿 변환 시 서블릿 클래스의 멤버로 변환됨. 2)스크립틀릿(Scriptlet Tag) -JSP에서 자바 코드를 작성할 때 사용 ==> EL -주로 초기 웹 페이지에서 동적인 기능을 구현하기 위해 사용됨. 3)표현식(Expression Tag) -JSP에서 변수의 값을 출력할 때 사용 -자바에서 System.Out.Println() 과 같은 의미 1 2 3 4 5 6 7 ..
JSP -- 자바 웹 기술의 최종 진화 서블릿 JSP 자바 코드 안에서 전체 HTML 페이지 생성 HTML 코드 안에서 필요한 부분만 자바 코드를 스크립트 형태로 추가함. 변수 선언 및 초기화가 반드시 선행되어야함 내장 객체 제공하여 즉시 사용 가능함. 컨트롤러(Controller) 처리된 결과 보여주는 뷰(View)만들 때 사용 JSP 구성 요소 1)HTML 태그, CSS, JS 코드 2)JSP 기본 태그 3)JSP 액션 태그 JSP 페이지 구성 요소 1)디렉티브 태그(Directive Tag) 2)스크립트 요소(Scripting Element) : 주석문, 스크립틀릿(Scriptlet), 표현식, 선언식 3)표현 언어(Expression Language, EL) 4)내장 객체(내장 변수) 5)액션 태..
-리스너 -이벤트 =>리스너는 이벤트가 발생함과 동시에 특정 행동 (메서드나 함수 실행)을 하는 것, 이것을 이벤트 핸들링이라고 한다. =>이벤트는 발생한 특정 행동을 말한다. ex) 마우스 클릭, 키보드 키 입력, 텍스트 입력 ... 리스너(Listener) 이벤트가 발생하기를 기다리는 (청취하는) 컴포넌트(함수나 객체)를 말한다. Java에서 리스너는 객체가 되고 특정 이벤트가 발생했을 때 실행될 메서드를 가지고 있다. 리스너 API HttpSessionBindingListener implements 받아 로그인 접속자 수 카운트하기 우클릭 - Listener 클릭하여 생성 login2.html 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 로그인 이름 : 비밀번호 : Colo..
필터(Filter) 1)브라우저에서 서블릿에 요청하거나 응답할 때 미리 요청이나 응답과 관련해 여러 가지 작업을 처리하는 기능 2)요청이나 응답 시 공통적인 작업을 처리하는데 이용함. 필터 용도 1)요청 필터 -사용자 인증 및 권한 검사 -요청 시 요청 관련 로그 작업 -인코딩 기능 2)응답 필터 -응답 결과에 대한 암호화 작업 -서비스 시간 측정 3)관련 API -javax.servlet.Filter -javax.servlet.FilterChain -javax.servlet.FilterConfig Filter 인코딩 예제 필터 추가하는 방법 패키지 우클릭 - Filter login.html 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 로그인 이름 : 비밀번호 : Colored ..
서블릿 속성(attribute) ServletContext, HttpSession, HttpServletRequest 객체에 바인딩되어 저장된 객체(정보) -각 서블릿 API의 setAttribute(String name, Object Value)로 바인딩함. -각 서블릿 API의 getAttribute(String name)으로 접근함. -각 서블릿 API의 removeAttribute(String name)으로 속성을 제거함. 서블릿 스코프(scope) 1)서블릿 API에 바인딩된 속성에 대한 접근 범위 2)ServletContext 속성은 애플리케이션 전체에서 접근 가능 3)HttpSession 속성은 사용자만 접근 가능 4)HttpServletRequest 속성은 해당 요청/응답에 대해서만 접근 ..