随笔 - 3  文章 - 8  trackbacks - 0
<2024年6月>
2627282930311
2345678
9101112131415
16171819202122
23242526272829
30123456

2006年

常用链接

留言簿(1)

随笔档案

文章分类

文章档案

相册

最新随笔

搜索

  •  

最新评论

阅读排行榜

评论排行榜

 1package filter.lepapillon.bbs;
 2
 3import java.io.IOException;
 4
 5import javax.servlet.FilterChain;
 6import javax.servlet.FilterConfig;
 7import javax.servlet.ServletException;
 8import javax.servlet.ServletRequest;
 9import javax.servlet.ServletResponse;
10import javax.servlet.http.HttpServletRequest;
11
12/**
13 * Servlet implementation class for Servlet: EncodingConvFilter
14 * 本程序是实现bbs中文字符集转换的过滤器
15 *
16 */

17/**
18 * @author 刘亭宇
19 * 
20 */

21public class EncodingConvFilter implements javax.servlet.Filter {
22
23    /*
24     * 定义字符串encoding,也就是字符集
25     */

26    private String TargetEncoding = "UTF-8";
27
28    /*
29     * 定义filterConfig
30     */

31    private FilterConfig filterConfig = null;
32
33    /*
34     * 过滤器销毁方法
35     * 
36     * @see javax.servlet.Servlet#destroy()
37     */

38    public void destroy() {
39        // EXE 过滤器销毁方法
40        this.filterConfig = null;
41
42    }

43
44    /*
45     * 字符集过滤器初始化方法、在doFilter()前初始化字符集
46     * 
47     * @see javax.servlet.Filter#init(javax.servlet.FilterConfig)
48     */

49    public void init(FilterConfig request) throws ServletException {
50        // EXE 字符集过滤器初始化方法、在doFilter()前初始化字符集
51        // 从web.xml配置文件中取得encoding的值;xml文件中的默认为:UTF-8
52        this.TargetEncoding = filterConfig.getInitParameter("encoding");
53
54    }

55
56    /*
57     * 过滤器方法、对字符集进行转换
58     * 
59     * @see javax.servlet.Filter#doFilter(javax.servlet.ServletRequest,
60     *      javax.servlet.ServletResponse, javax.servlet.FilterChain)
61     */

62    public void doFilter(ServletRequest srequest, ServletResponse sresponse,
63            FilterChain chain) throws IOException, ServletException {
64        // EXE 过滤器方法、对字符集进行转换
65
66        // 将ServletRequest请求转换成HttpServletRequest
67        HttpServletRequest hsrequest = (HttpServletRequest) srequest;
68        hsrequest.setCharacterEncoding(TargetEncoding);
69        chain.doFilter(srequest, sresponse);
70    }

71}

web.xml配置

    <filter>
        
<description>
        字符集过滤器
</description>
        
<display-name>
        EncodingConvFilter
</display-name>
        
<filter-name>EncodingConvFilter</filter-name>
        
<filter-class>
        filter.lepapillon.bbs.EncodingConvFilter
</filter-class>
        
<init-param>
            
<description>
            字符集
</description>
            
<param-name>encoding</param-name>
            
<param-value>UTF-8</param-value>
        
</init-param>
    
</filter>
    
    
<filter-mapping>
        
<filter-name>EncodingConvFilter</filter-name>
        
<url-pattern>/*</url-pattern>
    </filter-mapping>
posted on 2006-01-04 01:09 水狐 阅读(241) 评论(0)  编辑  收藏 所属分类: Servlet 2.4

只有注册用户登录后才能发表评论。


网站导航: