• 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销毁");
    }
    }

  • 相关阅读:
    pythonsys.exit()
    Python字符串格式化
    Json概述以及python对json的相关操作
    python学习笔记——异常
    Python:sys.argv[]用法
    python学习笔记——字符串,列表,字典,集合,数值,sorted
    python class 的属性
    Python模块——unittest 单元测试
    从sql2000 复制数据到sql2005
    abstract、virtual及override
  • 原文地址:https://www.cnblogs.com/liuyunche/p/14140756.html
Copyright © 2020-2023  润新知