zoukankan      html  css  js  c++  java
  • java 过滤器

    1.什么是过滤器?

       过滤信息,执行的优先级高于 servlet

    2.自定义过滤器的步骤

    1. 写一个普通java类,实现Filter接口

      2.配置过滤器  web.xm

    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 EcodeFilter implements Filter {
    	// 定义编码方式 默认为空
    	private String encoding =null;
    	public void destroy() {
    	}
    	// 自动调用过滤方法 doFilter
    	public void doFilter(ServletRequest request, ServletResponse response,
    			FilterChain chain) throws IOException, ServletException {
    		// 如果编码不为空就过滤请求中的数据
    		if (encoding != null) {
    			// 设置request字符编码
    			request.setCharacterEncoding(encoding);
    			// 设置response字符编码
    			response.setContentType("text/html;charset=" + encoding);
    		}
    		// 传递给下一个过滤器或者下一个servlet/jsp 
    		chain.doFilter(request, response);
    	}
    	public void init(FilterConfig config) throws ServletException {
    		//将web.xml中的过滤器的配置编码取出来赋值给  encoding
    		encoding=config.getInitParameter("encoding");
    	}
    }
    
    <!-- 编码过滤器,针对所有的地址都过滤 -->
    	<filter>
    		<filter-name>encodefilter</filter-name>
    		<filter-class>com.bw.shop.util.EcodeFilter</filter-class>
    		<init-param>
    			<param-name>encoding</param-name>
    			<param-value>UTF-8</param-value>
    		</init-param>
    	</filter>
    	<filter-mapping>
    		<filter-name>encodefilter</filter-name>
    		<url-pattern>/*</url-pattern>
    	</filter-mapping>
    
  • 相关阅读:
    手机号码正则表达式
    POJ 3233 Matrix Power Series 矩阵快速幂
    UVA 11468
    UVA 1449
    HDU 2896 病毒侵袭 AC自动机
    HDU 3065 病毒侵袭持续中 AC自动机
    HDU 2222 Keywords Search AC自动机
    POJ 3461 Oulipo KMP模板题
    POJ 1226 Substrings KMP
    UVA 1455 Kingdom 线段树+并查集
  • 原文地址:https://www.cnblogs.com/houjiie/p/6248751.html
Copyright © 2011-2022 走看看