<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 :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

    2006年1月2日

          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技術。

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

    2005年12月18日

         摘要: 用到開源軟件POI,詳細見以下URL: http://jakarta.apache.org/poi/index.html /** *//** * 該類演示了POI的應用 * 版權 本文版權屬Java天下 * Created on 2005-7-22 */package bss...  閱讀全文

    posted @ 2005-12-18 00:45 ajie 閱讀(1494) | 評論 (0)編輯 收藏

         摘要:   1/** *//**  2 * 該類演示了Java Mail的應用  3 * 版權 本文版權屬Java天下  4 * @author ljfan  5 * @version&n...  閱讀全文

    posted @ 2005-12-18 00:38 ajie 閱讀(2702) | 評論 (2)編輯 收藏

    軟引用(Soft  Reference)的主要特點是具有較強的引用功能。只有當內存不夠的時候才回收這類內存,因此在內存足夠的時候,他們通常不被回收。另外,這些引用對象還能保證在Java  拋出OutOfMemory異常之前,被設置為null。他可以用于實現一些常用資源的緩存,實現Cache的功能,保證最大限度的使用內存而不引起OutOfMemory異常。

         下面是軟引用的實現代碼:
     
     1/**
     2 * 該類演示了Soft Reference的應用
     3 * 版權 本文版權屬Java天下
     4 */

     5package cn.javatx;
     6
     7import java.lang.ref.SoftReference;
     8
     9/**
    10 * @author ajie
    11 */

    12
    13public class softReference {
    14
    15    /**
    16     * @param args
    17     */

    18    public static void main(String[] args) {
    19        // TODO Auto-generated method stub
    20        A a = new A();
    21        
    22        //使用a
    23        a.test();
    24
    25        //使用完了a,將它設置為soft引用類型,并且釋放強引用
    26        SoftReference sr = new SoftReference(a);
    27        a = null;
    28        
    29        //下次使用
    30        if (sr != null{
    31            a = (A)sr.get();
    32            a.test();
    33        }
     else {
    34            //GC由于低內存,已釋放a,因此需要重新裝載
    35            a = new A();
    36            a.test();
    37            a = null;
    38            sr = new SoftReference(a);
    39        }

    40    }

    41
    42}

    43
    44class A {
    45    public void test() {
    46        System.out.println("Soft Reference test");
    47    }

    48}

    49


           軟引用技術的引進使Java應用可以更好的管理內存,穩定系統,防止系統內存溢出,避免系統崩潰。因此在處理一些占用內存大而且聲明周期較長,但使用并不頻繁的對象時應盡量應用該技術。但事物總帶有兩面性的,有利也有弊,在某些時候對軟引用的使用會降低應用的運行效率與性能,例如:應用軟引用的對象的初始化過程較為耗時,或者對象的狀態在程序的運行過程中發生了變化,都會給重新創建對象與初始化對象帶來不同程度的麻煩,有些時候我們要權衡利弊擇時應用。

    Java天下
    http://www.javatx.cn

    posted @ 2005-12-18 00:29 ajie 閱讀(10991) | 評論 (6)編輯 收藏

    主站蜘蛛池模板: 久久亚洲色一区二区三区| 日韩视频在线免费| 亚洲av无码不卡一区二区三区| 人成免费在线视频| 国产亚洲成归v人片在线观看| 91av免费在线视频| 亚洲精品无码久久一线| 野花香高清视频在线观看免费| 亚洲精品国偷自产在线| 日本视频在线观看永久免费| 亚洲AV日韩AV永久无码绿巨人| 成人毛片18女人毛片免费96| 77777午夜亚洲| 国产免费观看a大片的网站| 又粗又长又爽又长黄免费视频| 亚洲真人无码永久在线| 国产麻豆一精品一AV一免费| 亚洲三级电影网址| 女人张开腿给人桶免费视频 | 国色精品va在线观看免费视频| 亚洲av激情无码专区在线播放| 免费在线看v网址| 美女隐私免费视频看| 亚洲欧洲无码AV电影在线观看 | 99精品视频在线观看免费| 亚洲高清在线视频| 无码人妻久久一区二区三区免费丨 | 国产92成人精品视频免费| 亚洲sss综合天堂久久久| 国产美女精品久久久久久久免费| 永久免费无码日韩视频| 自怕偷自怕亚洲精品| 啦啦啦在线免费视频| 手机看片国产免费永久| 亚洲高清视频在线播放| 国产免费69成人精品视频| 美女视频黄的免费视频网页| 亚洲kkk4444在线观看| 国产亚洲大尺度无码无码专线| 亚洲最大免费视频网| 黄色a级免费网站|