스마트웹앱콘텐츠전문가/JSP

[3.4]교육(표현언어)

9D4U 2016. 3. 4. 17:36
728x90
반응형

 

 

 

 

 

 

 

could not load the Tomcat server configuration...오류
http://uiandwe.tistory.com/547
[표현언어 = EL]
http://gangzzang.tistory.com/entry/JSP-%ED%91%9C%ED%98%84-%EC%96%B8%EC%96%B4Expression-Language-%EB%98%90%EB%8A%94-%EC%9D%B5%EC%8A%A4%ED%94%84%EB%A0%88%EC%85%98-%EC%96%B8%EC%96%B4


웹애플리케이션을 지원하기 위한 특수한형태의 서블릿 : 필터와 리스너 <-애너테이션을 참조하여 인터페이스로 구현

[리스너]
1.리스너의 종류:
-ServletContext 생명주기 변화(lifecycle) : ServletContext의 생성과 소멸 시점에 동작. 보통 톰캣의 시작과 종료와 일치(applicatoin scope)
-ServletContext 속성변화(change to attributes) : ServletContext 즉, JSP 내장객체에 있는 application scope의 속성이 추가되거나 변경되는 상황에 동작
-Session 생명주기 변화 : session의 생성과 소멸 등 변화에 따라 동작
-Session 속성변화 : JSP내장객체에 있는 sesson scope의 속성이 추가되거나 변경되는 상황에 동작
-Request 생명주기 변화 : httpServletRequest 즉, request 내장객체의 생성과 소멸 등 변화에 따라 동작
-Request 속성 변화 : httpServletRequest 객체의 속성이 추가되거나 변경되는 상황에 동작


[예제] :
contextInitialized() : 자동으로 생성되는 메서드, 컨텍스드를 초기화할 때 자동으로 호출되는 메서드
contextDestroyed() : 자동으로 생성되는 메서드, 컨텍스트를 종료할 자동으로 호출되는 메서드

[필터] : 무언가를 필터링한다.
사용자 요청에 따라 서블릿이나 jsp가 실행되기전에 request 혹은 response 객체의 조작이나 추가적인 처리를 할 수 있다.

필터란 특정 요청에 대해서만 동작하는 특수한 형태의 웹 프로그램, 여러 개가 정해진 순서에 따라 배치될 수 있으며
사용자 요청 처리 이전에 먼저 실행됨.

일반적인 활용 분야(기존 코드의 변경 없이 애플리케이션에서 공통적으로 사용할 수 있는 기능 구현에 널리 사용) :
-인증(Authentication) : 특정 페이지에서 로그인 여부 혹은 특정 권한을 확인해야 할 필요가 있을 떄
   빈즈 클래스를 실행하거나 컨트롤러에서 처리하는 방법이 있지만 필터를 이용하여 애플리케이션 구조와 상관없이
   기존 소스를 최대한 수정하지 않고 인증 기능을 수행할 수 있음.
-로깅/감사(Logging/Auditing) :
특정 페이지 혹은 기능들에 대해 사용 현황을 모니터링하고 로그로 관리할 필요가 있을 때 인증의 경우와 마찬가지로 필터를 통해 해당 요청을 수행하기 전 로깅 처리를 할 수 있음.

-이미지 변환(Image Conversion) 및 데이터 압축(Data Compression): 콘텐츠에 대한 조작을 사전에 수행
-국제화(Localization) : 다국어 처리 프레임워크 등에서 제공하는 국제화 방법을 사용할 수도 있으며 필터를 이용할 경우 특정 페이지에 들어갈 메시지 등을
   해당 언어로 변환해 전달할 수도 있다.
-XML 변환: 동적인 컨텐츠를 출력할 때 XML문서에 대한 변환 작업을 구현

[예제]: 한글 처리 필터
init()메서드는 필터 초기화 시 한 번만 실행.
doFilter()는 해당 필터가 적용되었을 때 수행할 작업을 구현하는 메인 메서드가 된다.
destroy()는 필터가 종료될 떄 수행하라 내용을 구현

 

 

 

 

 

728x90

'스마트웹앱콘텐츠전문가 > JSP' 카테고리의 다른 글

[3.18]게시판  (0) 2016.03.18
[3.10]교육(회원정보 jdbc)  (0) 2016.03.10
[3.7]교육(JSTL)  (0) 2016.03.07
[3.2]교육(액션태그, 쿠키, 세션)  (0) 2016.03.02
[2.25]파일업로드,  (0) 2016.02.25