javax.servlet
ÀÎÅÍÆäÀ̽º Filter


public interface Filter

ÇÊÅÍ´Â, ¸®¼Ò½º (¼­ºê ·¿, Á¤Àû ÄÁÅÙÃ÷)ÀÇ ¿ä±¸, ¸®¼Ò½º·ÎºÎÅÍÀÇ ÀÀ´ä, ¶Ç´Â ±× ¾çÂÊ ¸ðµÎ¿¡ ´ëÇØ¼­ ÇÊÅ͸µ ÀÛ¾÷À» ½ÇÇàÇÏ´Â ¿ÀºêÁ§Æ®ÀÔ´Ï´Ù.

Filter ´Â,doFilter ¸Þ¼Òµå¿¡ ´ëÇØ ÇÊÅ͸µÀ» ½ÇÇàÇÕ´Ï´Ù. ¸ðµç Filter ´Â FilterConfig ¿ÀºêÁ§Æ®¿¡ ¾×¼¼½º ÇÒ ¼ö ÀÖ¾î ÀÌ ¿ÀºêÁ§Æ®·ÎºÎÅÍ, ÃʱâÈ­ ÆÄ¶ó¹ÌÅÍ¿Í ÇÊÅ͸µ¿¡ ÇÊ¿äÇÑ ¸®¼Ò½ºÀÇ ·Îµå µî¿¡ »ç¿ëÇÒ ¼ö ÀÖ´Â ServletContext ¿¡ÀÇ ÂüÁ¶¸¦ ÃëµæÇÒ ¼ö°¡ ÀÖ½À´Ï´Ù.

Filter ´Â, Web ¾îÇø®ÄÉÀ̼ÇÀÇ ¹èÄ¡ ±â¼úÀÚ³»¿¡¼­ ¼³Á¤µË´Ï´Ù.

Filter ÀÇ ¿¹¿¡´Â, ´ÙÀ½ÀÇ °ÍÀÌ ÀÖ½À´Ï´Ù.
1) ÀÎÁõ ÇÊÅÍ
2) ·Î±× ¹× °¨»çÀÇ ÇÊÅÍ
3) À̹ÌÁö º¯È¯ ÇÊÅÍ
4) µ¥ÀÌÅÍ ¾ÐÃà ÇÊÅÍ
5) ¾Ïȣȭ ÇÊÅÍ
6) Åäūȭ ÇÊÅÍ
7) ¸®¼Ò½º¿¡ÀÇ ¾×¼¼½º À̺¥Æ®¸¦ ¹ß»ý½ÃŰ´Â ÇÊÅÍ
8) XSL/T ÇÊÅÍ
9) MiME ŸÀÔ Ã¼ÀÎ ÇÊÅÍ

µµÀÔµÈ ¹öÁ¯:
Servlet 2.3

¸Þ¼ÒµåÀÇ °³¿ä
 void destroy ()
          ÇÊÅͰ¡ ¼­ºñ½º »óŸ¦ ³¡³¾ ¶§¿¡, Web ÄÁÅ×À̳ʿ¡ ÀÇÇØ ºÒ·Á °©´Ï´Ù.
 void doFilter (ServletRequest  request, ServletResponse  response, FilterChain  chain)
          Filter ÀÇ doFilter ¸Þ¼Òµå´Â, üÀÎÀÇ Á¾´Ü¿¡ ÀÖ´Â ¸®¼Ò½º¸¦ Ŭ¶óÀÌ¾ðÆ®°¡ ¿ä±¸ÇÏ´Â °ÍÀ» °è±â·Î¼­ ¿ä±¸¿Í ÀÀ´äÀÇ Æä¾î°¡ üÀο¡ µû¶ó °Ç³×¹Þ¾Æ °¥ ¶§ ¸¶´Ù, ÄÁÅ×À̳ʿ¡ ºÒ·Á °©´Ï´Ù.
 void init (FilterConfig  filterConfig)
          ÇÊÅͰ¡ ¼­ºñ½º °³½Ã »óŰ¡ µÉ ¶§¿¡, Web ÄÁÅ×À̳ʿ¡ ÀÇÇØ ºÒ·Á °©´Ï´Ù.
 

¸Þ¼ÒµåÀÇ »ó¼¼

init

public void init(FilterConfig  filterConfig)
          throws ServletException 
ÇÊÅͰ¡ ¼­ºñ½º °³½Ã »óŰ¡ µÉ ¶§¿¡, Web ÄÁÅ×À̳ʿ¡ ÀÇÇØ ºÒ·Á °©´Ï´Ù. ¼­ºê ·¿ ÄÁÅ×À̳ʴÂ, ÇÊÅ͸¦ ÀνºÅϽºÈ­ÇÑ ÈÄ¿¡, init ¸Þ¼Òµå¸¦ 1 ȸ¸¸ È£ÃâÇÕ´Ï´Ù. ÇÊÅÍ¿¡ ÇÊÅ͸µ ÀÛ¾÷À» ½ÇÇàÇϵµ·Ï(µíÀÌ) ¿ä±¸ÇÏ·Á¸é , init ¸Þ¼Òµå°¡ Á¤»óÀûÀ¸·Î Á¾·áÇϰí ÀÖÁö ¾ÊÀ¸¸é ¾ÈµË´Ï´Ù.

init ¸Þ¼Òµå°¡ ´ÙÀ½ÀÇ ¸î°³ÀÇ »óÅÂÀÇ °æ¿ì, Web ÄÁÅ×À̳ʴ ÇÊÅ͸¦ ¼­ºñ½º »óÅ·ΠÇÒ ¼ö ¾ø½À´Ï´Ù.
1. ServletException ¸¦ ½½·Î¿ì Çß´Ù
2. Web ÄÁÅ×À̳ʿ¡ ÀÇÇØ Á¤ÀÇµÈ ½Ã°£³»¿¡, º¹±ÍÇÏÁö ¾Ê´Â´Ù

doFilter

public void doFilter(ServletRequest  request,
                     ServletResponse  response,
                     FilterChain  chain)
              throws java.io.IOException,
                     ServletException 
Filter ÀÇ doFilter ¸Þ¼Òµå´Â, üÀÎÀÇ Á¾´Ü¿¡ ÀÖ´Â ¸®¼Ò½º¸¦ Ŭ¶óÀÌ¾ðÆ®°¡ ¿ä±¸ÇÏ´Â °ÍÀ» °è±â·Î¼­ ¿ä±¸¿Í ÀÀ´äÀÇ Æä¾î°¡ üÀο¡ µû¶ó °Ç³×¹Þ¾Æ °¥ ¶§ ¸¶´Ù, ÄÁÅ×À̳ʿ¡ ºÒ·Á °©´Ï´Ù. ÀÌ ¸Þ¼Òµå¿¡ °Ç³×¹Þ´Â FilterChain ¿¡ ÀÇÇØ, Filter ´Â ¿ä±¸¿Í ÀÀ´äÀ» üÀγ»ÀÇ ´ÙÀ½ÀÇ ¿£Æ¼Æ¼¿¡ °Ç³×ÁÙ ¼ö°¡ ÀÖ½À´Ï´Ù.

ÀÌ ¸Þ¼ÒµåÀÇ ÀüÇüÀûÀÎ ½ÇÀåÀº, ´ÙÀ½°ú °°ÀÌ ÇàÇØÁý´Ï´Ù.
1. ¿ä±¸¸¦ °Ë»çÇÑ´Ù
2. ¿É¼ÇÀ¸·Î¼­ ÀÔ·Â ÇÊÅ͸µ¿ëÀ¸·Î ÄÁÅÙÃ÷ ¶Ç´Â Çì´õ¸¦ ÇÊÅ͸µ ÇÏ´Â Ä¿½ºÅÒ ½ÇÀå¿¡ ÀÇÇØ, ¿ä±¸ ¿ÀºêÁ§Æ®¸¦ ·¦ ÇÑ´Ù
3. ¿É¼ÇÀ¸·Î¼­ Ãâ·Â ÇÊÅ͸µ¿ëÀ¸·Î ÄÁÅÙÃ÷ ¶Ç´Â Çì´õ¸¦ ÇÊÅ͸µ ÇÏ´Â Ä¿½ºÅÒ ½ÇÀå¿¡ ÀÇÇØ, ÀÀ´ä ¿ÀºêÁ§Æ®¸¦ ·¦ ÇÑ´Ù
4. a) FilterChain ¿ÀºêÁ§Æ®¸¦ »ç¿ëÇØ üÀγ»ÀÇ ´ÙÀ½ÀÇ ¿£Æ¼Æ¼¸¦ È£ÃâÇÑ´Ù (chain.doFilter())
4. b) ¶Ç´Â, ¿ä±¸¿¡ ´ëÇÑ Ã³¸®¸¦ ÁßÁöÇϱâ (À§ÇØ)¶§¹®¿¡, ÇÊÅÍ Ã¼Àγ»ÀÇ ´ÙÀ½ÀÇ ¿£Æ¼Æ¼¿¡ ¿ä±¸¿Í ÀÀ´äÀÇ Æä¾î¸¦ °Ç³×ÁÖÁö ¾Ê´Â´Ù
5. ÇÊÅÍ Ã¼Àγ»ÀÇ ´ÙÀ½ÀÇ ¿£Æ¼Æ¼¸¦ È£ÃâÇÑ ÈÄ¿¡, ÀÀ´ä¿¡ ´ëÇØ¼­ Çì´õ¸¦ Á÷Á¢ ¼³Á¤ÇÑ´Ù


destroy

public void destroy()
ÇÊÅͰ¡ ¼­ºñ½º »óŸ¦ ³¡³¾ ¶§¿¡, Web ÄÁÅ×À̳ʿ¡ ÀÇÇØ ºÒ·Á °©´Ï´Ù. ÇÊÅÍÀÇ doFilter ¸Þ¼Òµå³»ÀÇ ¸ðµç thread°¡ Á¾·áÇÑ ÈÄ, ¶Ç´Â ŸÀÓ ¾Æ¿ô ±â°£ÀÌ Áö³­ ÈÄ¿¡°Ô¸¸, ÀÌ ¸Þ¼Òµå´Â ºÒ·Á °©´Ï´Ù. ÀÌ ¸Þ¼Òµå¸¦ È£ÃâÇÑ ÈÄ´Â, Web ÄÁÅ×À̳ʴ ÇÊÅÍÀÇ ÀÌ ÀνºÅϽº¿¡ ´ëÇØ doFilter ¸¦ µÎ ¹ø ´Ù½Ã È£ÃâÇÒ °ÍÀº ¾ø½À´Ï´Ù.

ÀÌ ¸Þ¼Òµå´Â, ¸Þ¸ð¸®, ÆÄÀÏ Çڵ鷯, threadµîÀÇ º¸°ü À¯ÁöµÇ°í ÀÖ´Â ¸®¼Ò½º¸¦ ÇØ¹æÇÒ ±âȸ, ¹× ¸ðµç Áö¼ÓÀû »óÅÂ¿Í ¸Þ¸ð¸®³»ÀÇ ÇÊÅÍÀÇ ÇöÀç »óÅ¿ÍÀÇ µ¿±â¸¦ ÃëÇϱâ À§ÇÑ ±âȸ¸¦ Á¦°øÇÕ´Ï´Ù.


Copyright 2002 Sun Microsystems, Inc. All rights reserved.
»ç¿ë¿¡´Â»ç¿ë Çã¶ô °è¾àÀÌ Àû¿ëµË´Ï´Ù.