叔叔

过滤器

 1 package com.obtk.filter;
 2 
 3 import java.io.IOException;
 4 
 5 import javax.servlet.Filter;
 6 import javax.servlet.FilterChain;
 7 import javax.servlet.FilterConfig;
 8 import javax.servlet.ServletException;
 9 import javax.servlet.ServletRequest;
10 import javax.servlet.ServletResponse;
11 import javax.servlet.http.HttpServletRequest;
12 
13 /**
14  * @统一编码过滤器
15  * */
16 public class EncodingFilter implements Filter {
17 
18     protected FilterConfig filterConfig;
19     private String targetEncoding = "utf-8"; // 默认的编码为utf-8F
20 
21     /**
22      *@初始化过滤器,和一般的Servlet一样,它也可以获得初始参数。
23      */
24     public void init(FilterConfig config) throws ServletException {
25         this.filterConfig = config;
26         // 获取FilterConfig中的参数
27         this.targetEncoding = config.getInitParameter("encoding");
28     }
29 
30     /**
31      *进行过滤处理,这个方法最重要,所有过滤处理的代码都在此实现。
32      */
33     public void doFilter(ServletRequest srequest, ServletResponse sresponse,
34             FilterChain chain) throws IOException, ServletException {
35         System.err.println("使用下来的方法对请求的进行编码:encoding = " + targetEncoding);
36         // 把父类转换为子类
37         HttpServletRequest request = (HttpServletRequest) srequest;
38         // 设置编码集
39         request.setCharacterEncoding(targetEncoding);
40         // 把处理权发送到下一个
41         chain.doFilter(srequest, sresponse);
42 
43     }
44 
45     /**
46      * @销毁过滤器
47      * */
48     public void destroy() {
49         this.filterConfig = null;
50     }
51 }
java代码

 

 1 <?xml version="1.0" encoding="UTF-8"?>
 2 <web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee"
 3     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 4     xsi:schemaLocation="http://java.sun.com/xml/ns/javaee 
 5     http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
 6     <filter>
 7         <filter-name>encoding</filter-name>
 8         <filter-class>com.obtk.filter.EncodingFilter</filter-class>
 9         <init-param>
10             <param-name>encoding</param-name>
11             <param-value>gb2312</param-value>
12         </init-param>
13     </filter>
14     <filter-mapping>
15         <filter-name>encoding</filter-name>
16         <url-pattern>/*</url-pattern>
17     </filter-mapping>
18 </web-app>
web.xml配置

 

posted on 2014-04-13 22:42  叔叔  阅读(132)  评论(0编辑  收藏  举报

导航