kr.co.hit.live.web.filter
Class HttpFilter

java.lang.Object
  extended by kr.co.hit.live.web.filter.HttpFilter
All Implemented Interfaces:
EventListener, javax.servlet.Filter, FileWatchdogListener
Direct Known Subclasses:
LogOnFilter

public class HttpFilter
extends Object
implements javax.servlet.Filter, FileWatchdogListener

HttpServletRequest와 HttpServletResponse에 대하여만 필터처리를 하는 Filter의 Abstract 클래스이다. XMLFilterListResource를 사용하여 필터 대상 URI를 지정할 수 있는 기능과 dump 상태를 바꾸고 그에 따라서 동적으로 dump 수준을 변경할 수 있는 기능을 제공한다.

Since:
4.0
Author:
김형도

Field Summary
protected static String BLOCKOFF_COMMAND
           
protected static boolean blockon
           
protected static String BLOCKON_COMMAND
           
protected static String DUMPOFF_COMMAND
           
protected static boolean dumpOn
           
protected static String DUMPON_COMMAND
           
protected static String FILTER_COMMAND_URI
           
static String LIVE_FILTER_RELOAD_KEY
          필터 파일 재로딩 주기 설정 키 값(sec)
protected static org.slf4j.Logger logger
           
protected static String RELOAD_COMMAND
           
 
Constructor Summary
HttpFilter()
           
 
Method Summary
 void afterFilter(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response)
          Filter Chain을 수행한 후에 수행할 기능을 구현한다.
 boolean checkRetry()
           
 void destroy()
           
protected  boolean doBlock(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response)
          Block 모드을 경우 수행할 기능을 구현한다. doChain()보다 먼저 수행되며 doBlock()의 수행결과에 따라서 doChain()이 진행 여부가 결정된다.
protected  boolean doFilter(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response)
          Filter Chain을 수행하기 전에 수행되는 기능을 구현한다.
 void doFilter(javax.servlet.ServletRequest request, javax.servlet.ServletResponse response, javax.servlet.FilterChain chain)
           
protected  String dumpRequest(javax.servlet.http.HttpServletRequest request)
           
protected  String dumpSession(javax.servlet.http.HttpSession session)
          

세션에 저장되어 있는 모든 어트리뷰트들을 스트링으로 덤프하여 리턴한다.

 void fileChanged()
           
 void init(javax.servlet.FilterConfig config)
           
protected  boolean isMatch(String entryName, javax.servlet.http.HttpServletRequest request)
          urlValue가 필터 목록의 attrName 섹션에 존재하는 패턴과 매칭되는지 여부를 리턴한다.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

logger

protected static final org.slf4j.Logger logger

LIVE_FILTER_RELOAD_KEY

public static final String LIVE_FILTER_RELOAD_KEY
필터 파일 재로딩 주기 설정 키 값(sec)

See Also:
Constant Field Values

FILTER_COMMAND_URI

protected static final String FILTER_COMMAND_URI
See Also:
Constant Field Values

RELOAD_COMMAND

protected static final String RELOAD_COMMAND
See Also:
Constant Field Values

DUMPON_COMMAND

protected static final String DUMPON_COMMAND
See Also:
Constant Field Values

DUMPOFF_COMMAND

protected static final String DUMPOFF_COMMAND
See Also:
Constant Field Values

BLOCKON_COMMAND

protected static final String BLOCKON_COMMAND
See Also:
Constant Field Values

BLOCKOFF_COMMAND

protected static final String BLOCKOFF_COMMAND
See Also:
Constant Field Values

dumpOn

protected static boolean dumpOn

blockon

protected static boolean blockon
Constructor Detail

HttpFilter

public HttpFilter()
Method Detail

init

public void init(javax.servlet.FilterConfig config)
          throws javax.servlet.ServletException
Specified by:
init in interface javax.servlet.Filter
Throws:
javax.servlet.ServletException

destroy

public void destroy()
Specified by:
destroy in interface javax.servlet.Filter

doFilter

public void doFilter(javax.servlet.ServletRequest request,
                     javax.servlet.ServletResponse response,
                     javax.servlet.FilterChain chain)
              throws IOException,
                     javax.servlet.ServletException
Specified by:
doFilter in interface javax.servlet.Filter
Throws:
IOException
javax.servlet.ServletException

doFilter

protected boolean doFilter(javax.servlet.http.HttpServletRequest request,
                           javax.servlet.http.HttpServletResponse response)
                    throws IOException,
                           javax.servlet.ServletException
Filter Chain을 수행하기 전에 수행되는 기능을 구현한다.

Parameters:
request -
response -
Returns:
Filter Chain을 계속 진행할 지 여부
Throws:
IOException
javax.servlet.ServletException

afterFilter

public void afterFilter(javax.servlet.http.HttpServletRequest request,
                        javax.servlet.http.HttpServletResponse response)
                 throws IOException,
                        javax.servlet.ServletException
Filter Chain을 수행한 후에 수행할 기능을 구현한다.

Parameters:
request -
response -
Throws:
IOException
javax.servlet.ServletException

doBlock

protected boolean doBlock(javax.servlet.http.HttpServletRequest request,
                          javax.servlet.http.HttpServletResponse response)
                   throws IOException,
                          javax.servlet.ServletException
Block 모드을 경우 수행할 기능을 구현한다. doChain()보다 먼저 수행되며 doBlock()의 수행결과에 따라서 doChain()이 진행 여부가 결정된다.

Parameters:
request -
response -
Returns:
Block 여부를 반환한다. true가 리턴되면 doChain()을 실행하지 않고 그 이후의 Filter Chain도 진행하지 않는다. false가 리턴되면 doChain()을 수행하고 그 결과에 따라서 Filter Chain이 진행여부가 결정된다.
Throws:
IOException
javax.servlet.ServletException

isMatch

protected boolean isMatch(String entryName,
                          javax.servlet.http.HttpServletRequest request)
urlValue가 필터 목록의 attrName 섹션에 존재하는 패턴과 매칭되는지 여부를 리턴한다.

Parameters:
entryName -
urlValue -
Returns:

dumpRequest

protected String dumpRequest(javax.servlet.http.HttpServletRequest request)

dumpSession

protected String dumpSession(javax.servlet.http.HttpSession session)

세션에 저장되어 있는 모든 어트리뷰트들을 스트링으로 덤프하여 리턴한다.

Parameters:
session - 처리할 HTTP 세션
Returns:
세션 어트리뷰트들의 덤프 스트링

fileChanged

public void fileChanged()
Specified by:
fileChanged in interface FileWatchdogListener

checkRetry

public boolean checkRetry()
Specified by:
checkRetry in interface FileWatchdogListener


Copyright © 2014. All Rights Reserved.