본문 바로가기

728x90
반응형

전체 글

[JAVA - WEB] JSP 디렉티브(Directive) 태그 디렉티브 태그(Directive Tag) 디렉티브 태그는 주로 JSP 페이지에 대한 전반적인 설정 정보를 지정할 때 사용하는 태그입니다. - 페이지 디렉티브(Page Directive) : JSP 페이지의 전반적인 정보를 설정할 때 사용합니다. - 인클루드 디렉티브(Include Directive) : 공통으로 사용하는 JSP 페이지를 다른 JSP 페이지에 추가할 때 사용합니다. - 태그라이브 디렉티브(Taglib Directive) : 커스텀 태그를 사용할 때 사용합니다. 페이지 디렉티브 태그 속성 Default 기능 info nothing 페이지를 설명해주는 문자열 지정 language "java" JSP 페이지에서 사용할 언어를 지정 contentType "text/html" JSP 페이지 출력 형.. 더보기
[JAVA - WEB] JSP 정의와 구성 요소 JSP 등장 서블릿으로 화면을 구성하는건 역시나 비효율적이죠. 개발자가 화면을 구성하기도 어렵고 디자이너가 자바 코드를 보기에는 너무 어려운 부분이니까요. 디자이너가 화면에 보여주는 부분을 쉽게 작업하게 하기 위해서 JSP 가 등장하였습니다. 기존 서블릿에서는 자바 코드를 기반으로 문자열을 사용해 HTML 과 자바스크립트로 화면을 구현했으나 JSP 는 HTML, CSS 와 자바스크립트를 기반으로 JSP 요소들을 사용해 화면을 구현합니다. JSP 구성 요소 JSP 는 주로 웹 프로그램의 화면 기능과 모델 2 기반 MVC 에서 뷰(View) 의 기능을 담당합니다. JSP 구성요소는 다음과 같습니다. - HTML, CSS, 자바스크립트 - JSP 기본 태그 - JSP 액션 태그 - 커스텀 태그(프레임워크나 개.. 더보기
[JAVA - WEB] 서블릿 리스너(Listener) 서블릿 관련 Listener API 자바 프로그램의 이벤트 핸들러처럼 서블릿에서도 서블릿에서 발생하는 이벤트에 대해 적절한 처리를 해주는 여러가지 리스너를 제공합니다. Listener 메서드 기능 ServletContextAttributeListener attributeAdded() attributeRemoved() attributeReplaced() Context 객체에 속성 추가/제거/수정 이벤트 발생 시 처리 HttpSessionListener sessionCreated() sessionDestroyed() 세션 객체의 생성/소멸 이벤트 발생 시 처리 ServletRequestListener requestInitialized() requestDestroyed() 클라이언트 요청 이벤트 발생 시 처리.. 더보기
[JAVA - WEB] 서블릿 필터(Filter) 서블릿 속성과 스코프(scope) 속성은 앞에서 보았듯이 서블릿 API 의 setAttribute 로 바인딩하고 getAttribute 로 바인딩 된 속성을 가져와서 사용합니다. 그리고 속성을 제거할때는 removeAttribute 를 이용해 제거할 수도 있습니다. 서블릿 스코프는 서블릿 API 에 바인딩 된 속성에 대한 접근 범위를 의미합니다. 스코프 종류 서블릿 API 스코프 설명 애플리케이션 스코프 ServletContext 애플리케이션 전체에 대해 접근할 수 있습니다. 세션 스코프 HttpSession 브라우저에서만 접근할 수 있습니다. 리퀘스트 스코프 HttpServletRequest 해당 요청/응답 사이클에서만 접근할 수 있습니다. // setAttribute ... String ctxMesg.. 더보기
[JAVA - WEB] 세션(Session) 세션 세션 역시 웹 페이지들 사이의 공유 정보를 서버에 저장해두고 웹 페이지들을 매개해주는 방법이라는 점에서는 쿠키와 같습니다. 차이점은 쿠키는 보안에 취약하지만, 세션은 서버의 메모리에 생성되어 정보를 저장하므로 보안이 용이하여 웹 페이지에서 사용되는 정보 중에 로그인 정보처럼 보안이 요구되는 정보는 대부분 세션을 이용합니다. 세션은 각 브라우저 당 한개, 즉 사용하당 한 개가 생성됩니다. 단 브라우저를 Chrome 과 Explorer 를 사용하게 된다면 브라우저 별로 생성이 되겠죠? 세션의 특징은 다음과 같습니다. - 브라우저의 세션 연동은 세션 쿠키를 이용합니다. - 서버에 부하를 줄 수 있습니다. - 세션은 유효시간을 가집니다.(기본 유효시간은 30분 입니다) 로그인 상태 유지 기능이나 쇼핑몰의 .. 더보기
[JAVA - WEB] 쿠키(Cookie) 쿠키에 대해서 설명하기 전에 웹 페이지 연동 시에 알아야 할 부분이 있습니다. 세션 트래킹(Session Tracking) 세션 트래킹이란 사용자 입장에서 웹 페이지 사이의 상태나 정보를 공유하도록 하기 위해 프로그래머가 구현해야 하는 웹 페이지 연결 기능입니다. HTTP 프로토콜은 각 웹 페이지의 상태나 정보를 다른 페이지들과 공유하지 않는 stateless 방식으로 통신을 합니다. 따라서 웹 페이지나 서블릿끼리 상태가 정보를 공유하려면 웹 페이지 연결 기능, 즉 세선 트래킹을 이용해야 합니다. 웹 페이지를 연동하는 방법 중 쿠키를 이용하는 방법과 세션을 이용하는 방법이 있습니다. 쿠키 : 클라이언트 PC 의 Cookie 파일에 정보를 저장한 후 웹 페이지들이 공유합니다. 세션 : 서버 메모리에 정보를.. 더보기
[JAVA - WEB] 서블릿 초기화 ServletConfig 은 javax.servlet 패키지에 인터페이스로 선언되어 있으며, 서블릿에 대한 여러가지 기능을 제공합니다. 서브릿과 동일하게 생성되고 서블릿이 소멸하면 같이 소멸되므로 다른 서블릿과 공유는 불가능합니다.(하나의 서블릿만..) 그리고 서블릿에서 사용할 설정 정보를 읽어 들여와 초기화 할수 있습니다. @WebServlet 애너테이션 이클립스에서 서블릿을 생성할 때 @WebServlet 의 값들을 편리하게 설정할 수 있습니다. @WebServlet 구성 요소 요소 설명 urlPatterns 웹 브라우저에서 서블릿 요청 시 사용하는 매핑 이름 name 서블릿 이름 loadOnStartup 컨테이너 실행 시 서블릿이 로드되는 순서 지정 initParams @WebInitParam 애너.. 더보기
[JAVA - WEB] 서블릿 바인딩(binding) 바인딩 바인딩의 사전적 의미는 '두 개를 하나로 묶는다' 입니다. 웹 프로그램 실행 시 데이터를 서블릿 관련 객체에 저장하는 방법으로 주로 HttpServletRequest, HttpSession, ServletContext 객체에서 사용되며 저장된 데이터는 프로그램 실행 시 서블릿이나 JSP 에 공유하여 사용합니다. 따라서 서블릿에서 다른 서블릿 또는 JSP 로 대량의 데이터를 공유하거나 전달하고 싶을때 바인딩 기능을 사용합니다. 바인딩 관련 메서드 메서드 기능 setAttribute(String name, Object obj) 데이터를 각 객체에 바인딩합니다. getAttribute(String name) 각 객체에 바인딩 된 데이터를 name 으로 가져옵니다. removeAttribute(Strin.. 더보기