小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

Filter Servlet實例應用

 duduwolf 2006-01-04
      Filter的意思是可以在Servlet實例進行實質性的處理之前,起到“過濾”的作用.

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

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

程序代碼:
/**
 *  該實例演示記錄客戶端主機信息的Filter
 *  www.
 */

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

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

    本站是提供個人知識管理的網(wǎng)絡存儲空間,所有內容均由用戶發(fā)布,不代表本站觀點。請注意甄別內容中的聯(lián)系方式、誘導購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權內容,請點擊一鍵舉報。
    轉藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多