<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)系 :: 聚合  :: 管理

    Filter Servlet實(shí)例應(yīng)用

    Posted on 2006-01-02 16:39 ajie 閱讀(5053) 評(píng)論(0)  編輯  收藏
          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ù)。

    只有注冊用戶登錄后才能發(fā)表評(píng)論。


    網(wǎng)站導(dǎo)航:
     
    主站蜘蛛池模板: 亚洲视频国产精品| 亚洲午夜无码久久久久| 亚洲欧洲国产成人精品| 久久久久久国产精品免费免费男同| 国产国拍精品亚洲AV片| 99久久免费国产精精品| 亚洲另类激情综合偷自拍图| www.xxxx.com日本免费| 国产亚洲免费的视频看| 国产成人免费视频| 亚洲网站免费观看| 中文字幕无码成人免费视频| 亚洲欧美乱色情图片| 日韩免费毛片视频| 日韩毛片免费一二三| 久久久久亚洲爆乳少妇无| 免费h视频在线观看| 久久亚洲精品成人AV| 日韩av无码成人无码免费| 亚洲精华国产精华精华液| 免费在线观看a级毛片| 中文字幕免费在线看线人动作大片| 亚洲热妇无码AV在线播放| 99精品视频免费观看| 2020年亚洲天天爽天天噜| 免费一级黄色毛片| 日韩免费电影网站| 国产成人精品日本亚洲网址| 免费大学生国产在线观看p| 你懂的在线免费观看| 亚洲国产综合自在线另类| 暖暖免费高清日本中文| WWW免费视频在线观看播放| 亚洲黄色片免费看| 国产成人无码区免费A∨视频网站 国产成人涩涩涩视频在线观看免费 | 成人毛片18女人毛片免费视频未| 亚洲AV成人精品日韩一区| 亚洲乱码精品久久久久..| 毛片A级毛片免费播放| 中文永久免费观看网站| 亚洲免费视频观看|