A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 程madman 中级黑马   /  2017-12-11 23:18  /  677 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

        Ø 过滤器(filter)
                ○ 概述:
                        § 可以过滤从客户端想服务器发送的请求
                ○ 使用:
                        § 可以进行IP的过滤,
                        § 脏话过滤,
                        § 自动登录.
                        § 同一网站字符集
                        § 响应压缩
                                □ 编写一个类实现Filter接口
                                □ 配置过滤器
                ○ 生命周期:
                        § 创建:
                                □ 服务器启动的时候
                        § 销毁:
                                □ 服务器关闭的时候,或者项目移除的时候
                ○ [FilterConfig(配置对象)]
                        § FilterConfig.getFiltername()----获得过滤器的名称
                        § FilterConfig.getInitParmeter():获得初始化参数名称
                        § FilterConfig.getInitParmeter("初始化参数的名称")----获得初始化参数
                        代码:
                                public void init(FilterConfig filterConfig) throws ServletException {
                                // 获得当前的Filter的名称:
                                String filterName = filterConfig.getFilterName();
                                System.out.println(filterName);
                                // 获得初始化参数:
                                String username = filterConfig.getInitParameter("username");
                                String password = filterConfig.getInitParameter("password");
                                System.out.println(username+"   "+password);
                                // 获得所有的初始化参数的名称:
                                Enumeration<String> en = filterConfig.getInitParameterNames();
                                while(en.hasMoreElements()){
                                String name = en.nextElement();
                                String value = filterConfig.getInitParameter(name);
                                System.out.println(name+"    "+value);
                                }
       
                ○                  <FilterMapping>的配置顺序有关
                                 doFilter(request,response); -- 放行,放行到下一个过滤器中,如果没有下一个过滤器,到达目标资源.
       

        Ø Filter相关的配置
                        <url-pattern>的配置---拦截的路径:
                                * 完全路径匹配       :以 / 开始  /demo4/demo1.jsp
                                * 目录匹配          :以 / 开始 以 * 结束.  /*  /demo1/*
                                * 扩展名匹配         :不能以 / 开始 以 * 开始.  *.do  *.action
                        Ø <servlet-name>的配置:根据Servlet的名称拦截Servlet.
                                 
                        Ø <dispatcher>的配置---拦截的方式:
                                * REQUEST    :默认值.
                                * FORWARD    :转发.
                                * INCLUDE    :包含.
                                * ERROR        :错误页面跳转.(全局错误页面)
                        § cookie中汉子存储
                                □ 使用URLEncoder.encode(需要转换的字符串."utf-8")---编码
                                □ 使用URLEncoder.decode()需要解码的字符串,"utf-8")---解码
                       

1 个回复

倒序浏览
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马