zoukankan      html  css  js  c++  java
  • 过滤器filter学习进度一

    过滤器filter他的理解是:

    filter是对客户端访问资源的过滤,符合条件放行,不符合条件的不放行,并且可以对目标资源访问的前后进行逻辑处理。

    快速入门:

    1、编写一个过滤器的类实现filter接口。

    2、实现接口中尚未实现的方法(着重实现dofilter方法)

    3、在web.xml进行配置(主要是配置要对的那些资源进行过滤)

    (实际就是放过哪一个,不放过哪一个的判断操作)。

    进行拦截的先关fliter的操作:

    public class FilterDemo1 implements Filter {
        @Override
        public void init(FilterConfig filterConfig) throws ServletException {
    
        }
     // doFilter业务处理的核心代码区,相当于Servlet的service方法
        @Override
        public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {
            System.out.println("FilterDemo1----------------------");
        }
    
        @Override
        public void destroy() {
    

    对于其中的方法:

    1. init:服务器启动后创建Filter对象,调用init方法,init方法只执行一次,一般用来加载资源
    2. doFilter:每次请求被拦截的资源时都会执行,可以执行多次
    3. destroy:服务器关闭后Filter对象被销毁,如果服务器是正常关闭,就会执行destroy方法

    主要是重写dofilter

    之后就是对其进行放行:

    public class FilterDemo1 implements Filter {
        @Override
        public void init(FilterConfig filterConfig) throws ServletException {
    
        }
     // doFilter业务处理的核心代码区,相当于Servlet的service方法
        @Override
        public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {
            System.out.println("FilterDemo1----------------------");
    
            Chain.doFilter(servletRequest, servletResponse);// 过滤器放行请求,可以访问到index.jsp
        }
    
        @Override
        public void destroy() {
    
       

    主要是通过chain进行对其放行。

    然后就是对于web的相应的配置:

        <filter>
            <filter-name>demo1</filter-name>
            <filter-class>cn.zhuobo.web.filter.FilterDemo1</filter-class>
        </filter>
    
        <filter-mapping>
            <filter-name>demo1</filter-name>
            <url-pattern>/*</url-pattern> <!-- 这里配置的是拦截路径 -->
        </filter-mapping>

    哪里的/*是对所有的进行拦截操作。

    1. 拦截具体资源:index.jsp,表示只有访问该资源时对应的过滤器才会被执行
    2. 拦截目录:/dir/*,表示访问dir目录下的所有资源过滤器都会被执行
    3. 拦截后缀名:*.jsp,表示访问jsp资源时过滤器会被执行
    4. 拦截全部资源:/*,表示访问所有资源都会执行过滤器

  • 相关阅读:
    NET与Matlab结合 —— 最小二乘法直线拟合(C#)
    C#基础概念二十五问
    C# where子句
    最小二乘法
    蛙蛙推荐:一套.net窗体身份验证方案(解决了防止用户重复登陆,session超时等问题)
    在 ASP.NET 上实现锁定表头、支持滚动的表格的做法
    一个使用泛型的工厂类
    反射技术与设计模式
    ASP.NET实现匿名访问控制
    危险字符过滤的类
  • 原文地址:https://www.cnblogs.com/dazhi151/p/12398218.html
Copyright © 2011-2022 走看看