锘??xml version="1.0" encoding="utf-8" standalone="yes"?>中文字幕中文字幕在线一区 ,黄色污污视频在线观看,欧美一区二区在线看http://www.aygfsteel.com/wangjc0801/category/37153.html浠庡ご寮濮嬪Javazh-cnWed, 07 Jan 2009 08:04:50 GMTWed, 07 Jan 2009 08:04:50 GMT60javax.servlet.Filter榪愮敤 (杞澆)http://www.aygfsteel.com/wangjc0801/archive/2009/01/07/250213.htmlwangjcwangjcWed, 07 Jan 2009 00:41:00 GMThttp://www.aygfsteel.com/wangjc0801/archive/2009/01/07/250213.htmlhttp://www.aygfsteel.com/wangjc0801/comments/250213.htmlhttp://www.aygfsteel.com/wangjc0801/archive/2009/01/07/250213.html#Feedback0http://www.aygfsteel.com/wangjc0801/comments/commentRss/250213.htmlhttp://www.aygfsteel.com/wangjc0801/services/trackbacks/250213.html    Servlets Filter 鏄疭ervlet 2.3 瑙勮寖涓柊澧炲姞鐨勶紝瀹冩槸鎴彇鐢ㄦ埛浠庡鎴風鎻愪氦鐨勮姹傦紝鍦ㄨ繕娌℃湁鍒拌揪闇瑕佽闂殑璧勬簮鏃惰繍琛岀殑涓涓被銆傚畠鎿嶇旱鏉ヨ嚜瀹㈡埛绔殑璇鋒眰錛屽湪璧勬簮榪樻病鏈夊垵鍙戦佸埌瀹㈡埛绔墠鎴彇鍝嶅簲錛屽茍澶勭悊榪欎簺榪樻病鏈夊彂閫佸埌瀹㈡埛绔殑鍝嶅簲銆?br /> Filters 鏈夎澶氱殑搴旂敤鍦哄悎銆係ervlet 2.3 瑙勮寖寤鴻濡備笅鐨勫湴鏂瑰彲浠ュ簲鐢‵ilter錛?br /> authentication filters
logging and auditing filters
image conversion filters
data compression filters
encryption filters
tokenizing filters
filters that trigger resource access events
XSL/T filters that transform XML content
MIME-type chain filters


package jasso.web.filter;

import java.io.IOException;

import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;

public class SetCharacterEncodingFilter implements Filter {
    private String encoding;

    public void destroy() {
    }

    public void doFilter(ServletRequest request, ServletResponse response,
       FilterChain chain) throws IOException, ServletException {
       request.setCharacterEncoding(encoding);
       chain.doFilter(request, response);
    }

    public void init(FilterConfig config) throws ServletException {
       encoding = config.getInitParameter("encoding");
    }
}

web.xml閮ㄥ垎

......

<filter>
   <filter-name>encodingFilter</filter-name>
   <filter-class>my.web.filter.SetCharacterEncodingFilter</filter-class>
     <init-param>
       <param-name>encoding</param-name>
       <param-value>Shift_JIS</param-value>
     </init-param>
</filter>
<filter-mapping>
   <filter-name>encodingFilter</filter-name>
   <servlet-name>action</servlet-name>
</filter-mapping>
<servlet>
   <servlet-name>action</servlet-name>
   <servlet-class>org.apache.struts.action.ActionServlet</servlet-class>
   <init-param>
     <param-name>config</param-name>
     <param-value>/WEB-INF/config/struts-config.xml,/WEB-INF/config/struts-config-contents.xml</param-value>
   </init-param>
   <init-param>
     <param-name>debug</param-name>
     <param-value>2</param-value>
   </init-param>
   <init-param>
     <param-name>detail</param-name>
     <param-value>2</param-value>
   </init-param>
   <load-on-startup>1</load-on-startup>
</servlet>

----------------------------------------------

javax.servlet.filter鐨勭敤娉?/font>

濡備綍瀹炵幇涓涓繃婊ゅ櫒鍛紵
1.鎵鍦ㄧ殑綾誨疄鐜癋ilter鎺ュ彛
銆public interface Filter
public void init(FilterConfig filterConfig)throws ServletException
榪囨護鍣ㄥ垵濮嬪寲鏄湪瀹瑰櫒鍚姩鏃惰嚜鍔ㄥ垵濮嬪寲
public void doFilter(ServletRequest request,ServletResponse response,FilterChain chain)throws IOException,ServletExcepton
鍦ㄦ爣鍑哠ervlet涓殑doGet鎴杁oPost 鏂規硶涓紝浼犻掑弬鏁頒負錛欻ttpServletRequest銆丠ttpServletResponse
榪囨護鍣ㄩ攢姣?
public void destroy()
package cn.mldn.lxh.filter
import java.io.*;
import javax.servlet.*;
public class FirstFilter implements Filter
{
    public void init(FilterConfig config)throws ServletException
    {
       System.out.println("榪囨護鍣ㄥ垵濮嬪寲");
    }
銆銆public void doFilter(ServletRequest request,ServletResponse response,FilterChain chain) throws IOException,ServletException
    {
       System.out.println(榪囨護doFilter);
     }
   public void destroy()
   {
       System.out.println(榪囨護鍣ㄩ攢姣?;
   }
}
web.xml鏂囦歡閰嶇疆
<filter>
<filter-name> first </filter-name>
<filter-class> cn.mldn.lxh.filter.FirstFilter </filter-class>
</filter>
<filter-mapping>
<filter-name> first </filter-name>
涓巗ervlet涓殑url-pattern涓嶄竴鏍鳳紝姝ゅ琛ㄧず瀵歸偅涓〉闈㈣繘琛岃繃婊わ紝濡傛灉鍏ㄩ儴閮借繃婊わ紝鍒?/*"
<url-pattern> /* </url-pattern>
</filter-mapping>
濡傛灉榪囨護鍣ㄨ灝嗗唴瀹逛紶閫掑埌鐩殑鍦幫紝鍒欓渶瑕丗ilterChain,灝嗚姹傜戶緇悜涓嬭漿鍙?
榪囨護鍣ㄤ篃浼氭墽琛屼袱嬈★細FilterChain榪欏墠鎵ц涓嬈★紝涔嬪悗鍐嶆墽琛屼竴嬈?
1.榪囨護闈炴硶鏂囧瓧錛?
package cn.mldn.lxh.filter;
import java.io.*;
import javax.servlet.*;
public class CharFilter implements Filter
{
public void init(FilterConfig filterConfig)throws ServletException
{
     //System.out.println("init");
}
public void doFilter(ServletRequest request,ServletResponse response,FilterChain chain)throws IOException,ServletException
{
  String content=request.getParameter("content");
  //濡傛灉indexOf榪斿洖-1鍒欒〃紺烘病鏈夋煡鍒版墍瑕佺殑鍐呭
  if(content!=null) {
   if(content.indexOf("AAA")==-1)
   {
    chain.doFilter(request,response);
   }
   else
   {
    System.out.println("鏈夐潪娉曟枃瀛?);
   //濡傛灉闇瑕佺殑璇濓紝姝ゅ渚濈劧鍙互浣跨敤RequestDispatcher榪涜璺寵漿
   }
  }else
   {
    chain.doFilter(request,response);
   }
}
public void destroy()
{
//System.out.println("榪囨護鍣ㄩ攢姣?);
}
}
<filter>
<filter-name> char </filter-name>
<filter-class> cn.mldn.lxh.filter.CharFilter </filter-class>
</filter>
<filter-mapping>
<filter-name> char </filter-name>
<url-pattern> /* </url-pattern>
</filter-mapping>
2.瀵瑰唴瀹硅繘琛岀粺涓鐨勭紪鐮?
setCharacterEncoding("GB2312");
package cn.mldn.lxh.filter;
import java.io.*;
import javax.servlet.*;
public class EncodingFilter implements Filter
{
  public void init(FilterConfig filterConfig)throws ServletException
  {
    //System.out.println("榪囨護鍣ㄥ垵濮嬪寲");
  }
  public void doFilter(ServletRequest request,ServletResponse response,FilterChain chain)throws IOException,ServletException
  {
   try{
      request.setCharacterEncoding("GB2312");
   }
   catch(Exception e)
   {}
   chain.doFilter(request,response);
  }
  public void destroy()
  {
   //System.out.println("閿姣?);
  }

}
<filter>
<filter-name> encoding </filter-name>
<filter-class> </filter-class>
</filter>
<filter-mapping>
<filter-name> encoding </filter-name>
<url-pattern> /* </url-pattern>
</filter-mapping>
3.鐧婚檰楠岃瘉
package cn.mldn.lxh.filter;
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
  public class LoginFilter implements Filter
  {
    public void init(FilterCoinfig filterConfig)throws ServletException
    {
    //System.out.println("榪囨護鍣ㄥ垵濮嬪寲");
    }
  }
public void doFilter(ServletRequest request,ServletResponse response,FilterChain chain)throws IOException,ServletException
{
  //Session灞炰簬http鑼冪暣錛屾妸浠ervletRequest瀵硅薄闇瑕佸厛杞崲鎴怘ttpServletRequest瀵硅薄
  HttpServletRequest req=(HttpServletRequest)request;
  HttpSession session =req.getSession();
  //濡傛灉session涓嶄負絀猴紝鍒欏彲浠ユ祻瑙堝叾瀹冮〉闈?
  if(session.getAttribute("uname")!=null)
  {
  chain.doFilter(request,response);
  }
  else
  {
  //閫氳繃requestDispatcher璺寵漿鍒扮櫥闄嗛潰
  request.getRequestDispatcher("login.jsp").forward(request,response);
  }
}
  public void destroy()
  {
  //System,out.println("閿姣?);
  }
}
<filter>
<filter-name> login </filter-name>
<filter-class> cn.mldn.lxh.filter.LoginFilter </filter-class>
   <init-param>
   <param-name> 鍙傛暟鍚嶇О </param-name>
   <param-value> 鍙傛暟鍊?</param-value>
    </init-param>
</filter>
<filter-mapping>
<filter-name> login </filter-name>
<url-pattern> /* </url-pattern>
</filter-mapping>
璇誨彇web.xml涓殑鍙傛暟鐨勬柟娉曪細
public void init(FilterConfig arg0) throws ServletException {
   String 鍙傛暟鍊? arg0.getInitParameter("鍙傛暟鍚嶇О");
}



wangjc 2009-01-07 08:41 鍙戣〃璇勮
]]>
主站蜘蛛池模板: 奈曼旗| 大连市| 鹤岗市| 读书| 广东省| 昭平县| 开远市| 沙河市| 嘉峪关市| 平定县| 河津市| 蒲城县| 张家川| 塔城市| 郸城县| 扎鲁特旗| 且末县| 德钦县| 诸城市| 永靖县| 大足县| 锡林浩特市| 怀来县| 江津市| 留坝县| 平阳县| 华坪县| 五寨县| 敦化市| 天门市| 柯坪县| 米泉市| 调兵山市| 双峰县| 安仁县| 花垣县| 吉水县| 平阳县| 彰武县| 商洛市| 贞丰县|