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>
    
  • 相关阅读:
    [转]Xcode4.5.1破解iOS免证书开发真机调试与ipa发布
    [转]QT多线程异步调用
    [转]Clone Object as instance in OgreMax
    [转]Texture atlas extension to the RTSS
    [转]QT中线程调用GUI主线程控件的问题
    c语言打印菱形解析
    今天开始第一次win32汇编之旅 先搭建编程环境吧
    MSHFlexGrid控件
    用1602模拟电子钟功能
    Combobox控件使用
  • 原文地址:https://www.cnblogs.com/houjiie/p/6248751.html
Copyright © 2011-2022 走看看