전체에 해당하는 글 143

[Servlet] Listener

http://cafe.naver.com/jjdev/949




1. ServletContext 

1-1. ServletContextListener : 서버가 부팅될때 context를 생성, 혹은 소멸됨. context를 감지.

1-2. ServletContextAttributeListener : context에 속성(Attribute)이 추가되거나 삭제, 변경을 감지.


2. HttpSession

2-1. HttpSessionListener : 세션 생성, 소멸을 감지.

2-2. HttpSessionAttributeListener : 세션에 속성이 추가되거나 삭제, 변경을 감지.

2-3. HttpSessionBindingListener : 이 외의 리스너 객체가 실행 되었을때를 감지(세션의 일부가 되엇을때, 세션에서 삭제 되엇을때).  

JVM 분산시스템에서 다른 시스템에서 세션이 생성되거나 변경 소멸할때를 감지할 수 잇다.

                                                web.xml에 따로 등록할 필요 없음.

2-4. HttpSessionActivationListener : 


3. 리퀘스트를 감지.


 - web.xml

1
2
3
4
<listener>
<!--리스너는 따로 이름을 지정해줄 필요가 없다. 위치,클래스만 지정해주면 끝. -->
      <listener-class>com.blog.board.commons.CounterListener</listener-class>
</listener>


예제)

 -사용자가 접속할때 마다(세션이 생성 될때마다) 카운트를 실행.



'웹 & 안드로이드 > JAVA & JSP' 카테고리의 다른 글

[자바 라이브러리]JDBC  (0) 2013.09.27
자바 개발을 위한 이클립스 설치하기  (0) 2013.09.27
자바 설치하기. JDK(SE)7  (0) 2013.09.27
[Servlet] Filter  (0) 2013.09.27
[Servlet] Filter와 listener  (0) 2013.09.26

댓글()

[Servlet] Filter

http://cafe.naver.com/jjdev/935


클라이언트 - 서블릿 사이에 있으며


서블릿에 요청할때 혹은 요청후 응답을 받을때 값을 가공하거나 필터링 한다.



사용 예) 서블릿에 요청할때마다 한글 인코딩을 서블릿에서 처리하는데


모든 서블릿으로 가는 요청을 중간에 필터에서 한글 인코딩을 처리후 각각 서블릿으로 요청을 보낼수 있다.



필터는 직접 서블릿을 지정하거나 이름 패턴으로 다수의 서블릿을 지정할 수 있다.


- web.xml

1
2
3
4
5
6
7
8
9
10
<filter>
    <filter-name>FileterTest</filter-name><!--web.xml에서 사용할 필터 이름  -->
    <filter-class>com.blog.board.commons.FilterTest</filter-class><!-- 필터의 위치와 클래스 이름 -->
</filter>
<filter-mapping>
    <filter-name>FileterTest</filter-name><!--web.xml에서 사용할 필터 이름  -->
    <!--서블릿 이름을 직접 지정하거나 패턴으로 여러개의 서블릿을 지정. -->
    <servlet-name>/FilterAction</servlet-name><!--서블릿 이름을 직접 지정함-->
    <url-pattern>/*</url-pattern><!--서블릿 이름을 지정할 패턴-->
</filter-mapping>



예제)

 - 모든 서블릿으로 가는 요청 파라미터 값을 utf-8로 인코딩

 - EncodingFilter 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
/**
 * Servlet Filter implementation class EncodingFilter
 */
@WebFilter("/*")
public class EncodingFilter implements Filter {
 
    public EncodingFilter() {
        
    }
    public void destroy() {
        
    }
   //필터의 내용.
    public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain)
     throws IOException, ServletException {
        request.setCharacterEncoding("utf-8");
        //기준 위에 적으면 서블릿을 가기 전의 request을 처리.
        chain.doFilter(request, response);//기준.
        //기준 밑에 적으면 서블릿을 거친 포워딩 된 request, 혹은 response을 처리.
        
    }
    public void init(FilterConfig fConfig) throws ServletException {
        
    }
}



'웹 & 안드로이드 > JAVA & JSP' 카테고리의 다른 글

[자바 라이브러리]JDBC  (0) 2013.09.27
자바 개발을 위한 이클립스 설치하기  (0) 2013.09.27
자바 설치하기. JDK(SE)7  (0) 2013.09.27
[Servlet] Listener  (0) 2013.09.27
[Servlet] Filter와 listener  (0) 2013.09.26

댓글()

[Servlet] Filter와 listener

Servlet : 요청을 처리.

Filter : 요청을 중간에서 걸러냄.

http://blog.daum.net/question0921/973

listener : 이벤트 감지.

예) 톰캣이 부팅되는 것을 감지.

세션 생성을 감지.

http://blog.daum.net/question0921/972

'웹 & 안드로이드 > JAVA & JSP' 카테고리의 다른 글

[자바 라이브러리]JDBC  (0) 2013.09.27
자바 개발을 위한 이클립스 설치하기  (0) 2013.09.27
자바 설치하기. JDK(SE)7  (0) 2013.09.27
[Servlet] Listener  (0) 2013.09.27
[Servlet] Filter  (0) 2013.09.27

댓글()