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

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

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

    ajie

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

    Filter Servlet實例應用

    Posted on 2006-01-02 16:39 ajie 閱讀(5052) 評論(0)  編輯  收藏
          Filter的意思是可以在Servlet實例進行實質性的處理之前,起到“過濾”的作用.

           一個Filter可以過濾一個或多個Servlet,Filter必須實現javax.Servlet.Filter接口,并且必須定義以下三個方法:init(),destory(),doFilter().

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

    程序代碼:
    /**
     *  該實例演示記錄客戶端主機信息的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;
    }

    }


             當前web應用的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插件自動部署到tomcat路徑下,啟動tomcat,在瀏覽器中輸入
    http://localhost:8080/Filter/  (Filter為此web應用名稱)

    可以在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已經被server調用成功.
    當然在實際應用中filter還有其他用處,象登陸驗證,編碼轉化等.

    Java天下社區
    http://www.javatx.cn
    歡迎大家上來交流Java技術。

    只有注冊用戶登錄后才能發表評論。


    網站導航:
     
    主站蜘蛛池模板: 亚洲精品字幕在线观看| 亚洲日韩激情无码一区| 久久狠狠爱亚洲综合影院| 久久99精品视免费看| 亚洲高清专区日韩精品| 久久精品视频免费| 久久亚洲日韩看片无码| 可以免费看的卡一卡二| 日本亚洲色大成网站www久久| AV片在线观看免费| 亚洲成a人无码亚洲成www牛牛| 女人张腿给男人桶视频免费版| 亚洲国产日韩a在线播放| 在线免费观看国产视频| 另类图片亚洲校园小说区| 日日AV拍夜夜添久久免费| 国产成人不卡亚洲精品91| 免费一级毛片一级毛片aa| 巨胸喷奶水www永久免费| 亚洲免费精彩视频在线观看| 亚洲视频免费一区| 麻豆亚洲AV成人无码久久精品| 亚洲日韩涩涩成人午夜私人影院| 人成午夜免费大片在线观看| 久久国产亚洲精品麻豆| 永久在线观看www免费视频| 亚洲精品无码国产片| 亚洲欧洲中文日韩av乱码| 污污网站免费观看| 亚洲中文字幕久久无码| 亚洲国产成人久久一区WWW| 无码免费一区二区三区免费播放 | 四虎影视永久免费观看| 免费在线观看一区| 亚洲色成人网一二三区| 暖暖免费高清日本一区二区三区| 精品无码一级毛片免费视频观看| 亚洲图片校园春色| 国产精品亚洲综合一区| 久久精品网站免费观看| 99久久婷婷免费国产综合精品|