1. 程式人生 > >過濾器和監聽器重點筆記

過濾器和監聽器重點筆記

一、過濾器


1、過濾器Filter寫法


(1)配置web.xml

<filter>
    <filter-name>filterCount</filter-name>
    <filter-class>com.jim.www.filter.FilterCount</filter-class>
    <init-param>
            <param-name>num</param-name>
            <param-value>6000</param-value>
    </init-param>
</filter>
<filter-mapping>
   <filter-name>filterCount</filter-name>
   <url-pattern>/*</url-pattern>

(2)過濾器類

public class FilterCount implements    Filter{
@Override
public void destroy() {
}
@Override
public void doFilter(ServletRequest request, ServletResponse response,
FilterChain chain) throws IOException, ServletException {    
         //這行程式碼是讓資料往下流      
  chain.doFilter(request, response);
}
@Override
public void init(FilterConfig filterConfig) throws ServletException {    
  
}
}

2、Filter知識點


  • Filter:過濾器介面,有三個方法:init(),doFilter,destroy。
  • init:是啟動伺服器的時候就執行該方法
  • doFilter: 當我們去發出請求的時候就會執行doFilter方法。每請求一次,都會發送一次。
  • destroy : 當該專案停止部署的時候。

Application是jsp的內建物件,相當於servletContext的物件。


3、FilterConfig知識點

filterConfig.getInitParameter("num")

4、過濾註解

@WebFilter(urlPatterns="/*",
       initParams={
    @WebInitParam(name="num",value="6000"),
       },dispatcherTypes={
    DispatcherType.REQUEST,DispatcherType.FORWARD
       }
)