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

    /*

    过滤器有三个方法
    首先创建一个类继承Filter(必须继承java.servlet.*包下的)
    1.初始化
    //初始化
    public void init(FilterConfig filterConfig) throws ServletException {
    System.out.println("CharacterEncodingFilter初始化");
    }
    2.编辑过滤器
    public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {
    request.setCharacterEncoding("utf-8");
    response.setCharacterEncoding("utf-8");
    response.setContentType("text/html;charset=UTF-8");//设置text文本类型为html结构

    System.out.println("CharacterEncodingFilter执行前");
    chain.doFilter(request,response);//让我们的请求继续走,如果不写,我们的程序到这就被拦截停止了
    System.out.println("CharacterEncodingFilter执行后");
    }
    3.销毁
    //销毁:web服务器关闭,过滤器销毁
    public void destroy() {
    System.out.println("CharacterEncodingFilter销毁");
    }

    配置过滤器
    <filter>
    <filter-name>CharaterEncodingFilter</filter-name>
    <filter-class>cn.lyc.filter.CharacterEncodingFilter</filter-class>
    </filter>
    <filter-mapping>
    <filter-name>CharacterEncodingFilter</filter-name>
    <!-- 只要是/servlet的任何请求都会经过这个过滤器 -->
    <url-patten>/servlet/*</url-patten>
    </filter-mapping>

     */

    //整体编写
    package cn.lyc.filter;

    import javax.servlet.*;
    import java.io.IOException;

    public class CharacterEncodingFilter implements Filter {//必须导import javax.servlet.*;
    //初始化
    public void init(FilterConfig filterConfig) throws ServletException {
    System.out.println("CharacterEncodingFilter初始化");
    }
    //chain : 链
    /*
    1.过滤器中所有的代码,在过滤器特定请求的时候都会执行
    2.必须要让过滤器继续同行
    chain.doFilter(request,response);
    */
    //初始化:web服务器启动,就已经初始化了,随时等待过滤对象
    public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {
    request.setCharacterEncoding("utf-8");
    response.setCharacterEncoding("utf-8");
    response.setContentType("text/html;charset=UTF-8");//设置text文本类型为html结构

    System.out.println("CharacterEncodingFilter执行前");
    chain.doFilter(request,response);//让我们的请求继续走,如果不写,我们的程序到这就被拦截停止了
    System.out.println("CharacterEncodingFilter执行后");

    }

    //销毁:web服务器关闭,过滤器销毁
    public void destroy() {
    System.out.println("CharacterEncodingFilter销毁");
    }
    }

  • 相关阅读:
    测试
    【八十一题题目合集 微软面试100题 第八十一题】
    排队问题 【微软面试100题 第八十题】
    fiddler 正则 重定向IP
    浮动div 内部元素 垂直居中
    css 诡异的多出来的几像素
    前端开发 注意问题(1)input type=“number”
    实时监听input输入
    sudo执行命令时环境变量被重置的解决方法
    laravel4 中 Redirect::intended和Redirect::guest的关系及用法
  • 原文地址:https://www.cnblogs.com/liuyunche/p/14140756.html
Copyright © 2011-2022 走看看