• 过滤器


    三大组件之一,servlet+listener+filter

    三大组件的共性:都需要在xml文件中配置。

    过滤器的作用:一般放在一组资源(servlet、jsp、css、HTML)前面执行。

    主要是过滤掉一些不符合条件的请求。

    所以说,过滤器有拦截强求的能力。

    过滤器如何编写:

    第一步:编写一个类,继承filter接口。

    第二步:在xml文件中配置。

    和servlet对比来看,filter和servlet很像,也有三大生命周期方法。

    servlet是init(),destory(),service();

    filter是init(),destory(),doFilter(),

    它们两者都是在服务器第一次调用的时候创建。

    有的说法是在服务器刚启动是就创建,这句话我不认同,如果一个java项目中有多个servlet和filter,难道在刚刚启动的时候就都同时创建么???

    所以我认为它们都是在服务器第一次调用的时候创建。

    销毁就不用说了,在服务器关闭的时候销毁。

    之前我们知道,servlet是单例的,那么filter也是单例的。

    配置文件中,只需要将servlet改成filter即可。

    以上是Afilter拦截AServlet的配置文件。

    filterConfig和servletConfig相似,

    获取初始化参数。

    获取filter名称。

    获取application对象即servletContext;

    三大生命周期方法的其中之一doFilter(servletRequest,servletResponse,filterChain)

    这三个参数的最后一个参数后一个方法为dofilter(servletRequest,servletResponse)方法,主要是用来放行。所谓放行就是执行过滤器的下一个过滤器或目标资源。

    过滤器四中拦截方式。

    1、请求

    2、转发

    3、包含

    4、错误

    在配置文件中设置拦截的四中方式,其中request为默认方式。

    应用场景:根据条件决定是否放行,比如校验用户是否已经登录,或者改用户的IP是否已被禁用。

  • 相关阅读:
    Windows下获取逻辑cpu数量和cpu核数量
    QtScript, QML, Quick1, Quick2, Declarative 之间的关系
    将QT开发的界面程序封装成DLL,在VC中成功调用(必须有消息循环,所以使用了QTWinmigrate,附CSDN可下载的Demo)
    QPixmap的缓冲区
    Qt+QZXing编写识别二维码的程序
    ASP.NET 5:依赖注入
    angularJS之使用指令封装DOM操作
    Windows 10技术布局,谈微软王者归来
    Microsoft dotnetConf 2015
    Net社区虚拟大会
  • 原文地址:https://www.cnblogs.com/hanmengdi/p/9513379.html
Copyright © 2020-2023  润新知