<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    ajie

    Java天下社區(qū) http://www.javatx.cn 歡迎大家上來交流Java技術(shù)
    posts - 4, comments - 8, trackbacks - 0, articles - 0
      BlogJava :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理

    2006年1月2日

          Filter的意思是可以在Servlet實(shí)例進(jìn)行實(shí)質(zhì)性的處理之前,起到“過濾”的作用.

           一個(gè)Filter可以過濾一個(gè)或多個(gè)Servlet,F(xiàn)ilter必須實(shí)現(xiàn)javax.Servlet.Filter接口,并且必須定義以下三個(gè)方法:init(),destory(),doFilter().

           下面的例子演示記錄客戶端主機(jī)信息的Filter:

    程序代碼:
    /**
     *  該實(shí)例演示記錄客戶端主機(jī)信息的Filter
     *  www.javatx.cn
     */

    package cn.javatx;

    import java.io.IOException;

    import javax.servlet.Filter;
    import javax.servlet.FilterChain;
    import javax.servlet.FilterConfig;
    import javax.servlet.ServletContext;
    import javax.servlet.ServletException;
    import javax.servlet.ServletRequest;
    import javax.servlet.ServletResponse;
    import javax.servlet.http.HttpServletRequest;

    /**
     * @author ljfan
     *
     */

    public class logFilter implements Filter {
    private ServletContext context;

    /* (non-Javadoc)
     * @see javax.servlet.Filter#init(javax.servlet.FilterConfig)
     */

    public void init(FilterConfig arg0) throws ServletException {
    // TODO Auto-generated method stub
    context = arg0.getServletContext();
    }

    /* (non-Javadoc)
     * @see javax.servlet.Filter#doFilter(javax.servlet.ServletRequest, javax.servlet.ServletResponse, javax.servlet.FilterChain)
     */

    public void doFilter(ServletRequest arg0, ServletResponse arg1,
    FilterChain arg2) throws IOException, ServletException {
    // TODO Auto-generated method stub
    context.log("[" + arg0.getRemoteHost() + "] request: " +((HttpServletRequest)arg0).getRequestURI());
    arg2.doFilter(arg0, arg1);
    context.log("[" + arg0.getRemoteHost() + "] done");
    }

    /* (non-Javadoc)
     * @see javax.servlet.Filter#destroy()
     */

    public void destroy() {
    // TODO Auto-generated method stub
    context = null;
    }

    }


             當(dāng)前web應(yīng)用的web.xml配置為:

    程序代碼:
    <?xml version="1.0" encoding="UTF-8"?>
    <web-app version="2.4" 
    xmlns="http://java.sun.com/xml/ns/j2ee" 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee 
    http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">


    <filter>
    <filter-name>logFilter</filter-name>
    <filter-class>cn.javatx.logFilter</filter-class>
    </filter>
    <filter-mapping>
    <filter-name>logFilter</filter-name>
    <url-pattern>/*</url-pattern>
    </filter-mapping>

    </web-app>


    最后用myeclipse插件自動(dòng)部署到tomcat路徑下,啟動(dòng)tomcat,在瀏覽器中輸入
    http://localhost:8080/Filter/  (Filter為此web應(yīng)用名稱)

    可以在tomcat  目錄的log目錄下的localhost.2006-01-02.log看到以下消息:

    2006-1-2  16:25:51  org.apache.catalina.core.ApplicationContext  log
    信息:  [127.0.0.1]  request:  /Filter/
    2006-1-2  16:25:51  org.apache.catalina.core.ApplicationContext  log
    信息:  [127.0.0.1]  done

    這表明logFilter已經(jīng)被server調(diào)用成功.
    當(dāng)然在實(shí)際應(yīng)用中filter還有其他用處,象登陸驗(yàn)證,編碼轉(zhuǎn)化等.

    Java天下社區(qū)
    http://www.javatx.cn
    歡迎大家上來交流Java技術(shù)。

    posted @ 2006-01-02 16:39 ajie 閱讀(5052) | 評論 (0)編輯 收藏

    主站蜘蛛池模板: 狠狠色婷婷狠狠狠亚洲综合| 免费涩涩在线视频网| AV在线播放日韩亚洲欧| 国产大陆亚洲精品国产| 热99re久久免费视精品频软件| 亚洲a级在线观看| 好男人www免费高清视频在线| 2022年亚洲午夜一区二区福利 | 免费二级毛片免费完整视频| 亚洲欧美日韩综合久久久| 成全视频免费高清| 色偷偷亚洲女人天堂观看欧| 中文字幕无码成人免费视频| 亚洲日本国产综合高清| 免费观看一级毛片| 免费无码国产在线观国内自拍中文字幕| 国产成人免费A在线视频| 香蕉视频免费在线播放| 国产成人亚洲综合无码| 久久亚洲免费视频| 91亚洲国产在人线播放午夜 | 成人奭片免费观看| 亚洲AV成人一区二区三区在线看| 免费高清在线影片一区| 成人免费视频一区二区| 亚洲五月激情综合图片区| h视频在线免费看| 美国免费高清一级毛片| 国产AV无码专区亚洲AV毛网站 | 四虎影视成人永久免费观看视频 | 国产乱子伦精品免费女| 亚洲精品黄色视频在线观看免费资源| 国产亚洲AV无码AV男人的天堂| 中文字幕免费在线观看| 亚洲av成人一区二区三区在线播放| 一区二区三区亚洲视频| 日本一卡精品视频免费| 亚洲欧洲日产国码久在线| 亚洲中文字幕日产乱码高清app| 亚洲电影免费观看| 一级毛片人与动免费观看|