java 配置过滤器_java过滤器——filter的使用和配置

在做DRP的过程中用到了filter。前几天昌哥和欢姐在小会议室向我们介绍了AOP的思想,用到filter时觉得它们两者特别相似。

如下图:

9db67530a1f5a3d056e917ba882c7cc9.png

在我们正常的编程中,每一条线,都是从上到下依次调用,而filter是在每一个完整的调用中横着“切了一刀”。通过配置,它可以对任意代码路径进行过滤。

这里就以转码/设置字符集为例,简单了解一下如何使用filter。

建立Filter

CharsetEncodingFilter.java

package com.drp.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;

/**采用filter统一处理filter

* @author Danny

*

*/

public class CharsetEncodingFilter implements Filter {

@Override

public void destroy() {}

@Override

public void doFilter(ServletRequest request, ServletResponse response,

FilterChain chain) throws IOException, ServletException {

System.out.println("CharsetEncodingFilter---->>>>Filter开始");

request.setCharacterEncoding("utf-8"); //设置字符集

chain.doFilter(request, response); //继续执行

System.out.println("CharsetEncodingFilter---->>>>Filter结束");

}

@Override

public void init(FilterConfig arg0) throws ServletException {}

}

配置filter

web.xml

xmlns="http://java.sun.com/xml/ns/javaee"

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

xsi:schemaLocation="http://java.sun.com/xml/ns/javaee

http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd">

CharsetEncodingFilter

com.drp.filter.CharsetEncodingFilter

CharsetEncodingFilter

*.jsp

此处配置所起的作用是,此filter对所有的jsp页面都有设置字符集的效果,当每次访问jsp页面时,都会执行filter中的doFilter()方法,因此每次访问jsp页面前后,都可以在Console中看到doFilter方法输出的 “ CharsetEncodingFilter---->>>>Begin ” 和 “CharsetEncodingFilter---->>>>End ”。

至此,无论访问哪个jsp页面,都会事先设置其字符集,不用分别对每个页面都进行设置了。

原文:http://blog.csdn.net/huyuyang6688/article/details/46276529

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值