fiddle过滤url设置_[Servlet] 18 过滤器(Filter)

ac0e5ae6be3983671da875813c19bc99.png

开篇例子帮助学习

我们的朋友小猪喜欢在家里做运动,但是怕不安全,因为谁都可以靠近他家,在奋发图强后有了钱,住进了豪宅,为了运动安全就雇佣了保安,起初这个保安是只负责他家,拦截指Servlet的请求:/pigHome.com,随着时间变的久远,他家所在的这栋楼的很多邻居也觉得在家做运动的时候不安全,就和小猪说,能不能一起出钱再请一个,专门拦住楼下进来的闲杂人等,比如记者朋友,然后就用了拦截部分Servlet的请求: *.com,只要是身上有.com的业主都审查一下,再放行,别的没有的人,休想靠近这些个爱运动的群体,随着运动人数的增多和知名度的打响之后,整个社区的居民都觉得这招好使,但成本略高,毕竟没办法天天做运动所以就想要不在小区门口拦一下也行,这时候就拦截所有:/* 不管谁来,都拦一下,是小区的业主居民就放,不是就死都别想近,最后小猪发现,哇!到他家有 拦截所有保安>拦截部分保安>拦截指定servlet保安来保障自己的隐私和住宅,于是就开始开开心心的邀约其他喜欢做运动的朋友到家里一起做多人运动,因为足够安全

问题:

Servlet 的作用是针对浏览器发起的请求,进行请求的处理。通过 Servlet 技术我们可以灵活的进行请求的处理,但是我们不但要对请求记性处理,我们还需对服务器的资源进行统一的管理 ,比如请求编码格式的统一设置,资源的统一分配等等,这个时候该怎么办呢?

举个例子:

如果说长时间未登录没有了session 或者是盲猜知道了部分功能页面,这个时候对于服务器来说是非常危险的,所以在每次开启新的servlet的时候可以对session进行校验,看看请求是否合法

有个经典的用法是:

到了12点不能在使用网站功能

做权限管理校验:对用户的请求做过滤,过滤通过访问对应的url地址

这里就涉及到RBAC的知识,通俗的说,就是在数据库中设计一张表,表中存放着所有的servlet的url路径.用户登录后,根据UID查询到可以使用的URL存进对应的Session中,在使用中,和过滤器中的做比较,有就可以访问对应的servlet,没有就被拦截

解决:

使用过滤器。

作用:

对服务器资源进行管理校验请求的合法性

保护 servlet

使用:

Filter 接口

Filter 过滤器的配置

案例:

统一管理字符编码

Session 管理


一 创建一个普通java类并实现过滤器接口Filter。

二 需要在web.xml文件内进行配置类似servlet的配置。

	<filter>
		<filter-name>配置的过滤器名称</filter-name>
		<filter-class>要配置的过滤器的全限定路径:包名.类名</filter-class>
	</filter>
	<filter-mapping>
		<filter-name>配置的过滤器名称</filter-name>
		<url-pattern>过滤器拦截请求地址的范围</url-pattern>
	</filter-mapping>
	
	示例:
	    <filter>
               <filter-name>filter</filter-name>
               <filter-class>com.lin.filter.WholeFilter</filter-class>
             </filter>
            <filter-mapping>
                <filter-name>filter</filter-name>
                <url-pattern>/*</url-pattern>
                <!--/* 到服务器的请求都拦截-->
    </filter-mapping>

技能点:

技能点一:过滤器之doFilter方法

作用:

doFilter方法是过滤器的核心方法,服务器在接收到浏览器发过来的请求后,先解析请求信息,创建对象request和response然后根据请求URL地址判断如果符合过滤器的过滤范围,则会调用过滤器中的doFilter 来进行请求拦截,并将request和response对象作为实参传递给doFilter方法。可以在doFilter方法中声明过滤器拦截代码。

服务器在接收到浏览器发过来的请求后,先解析请求信息,创建对象request和response

然后根据请求URL地址判断如果符合过滤器的过滤范围,则会调用过滤器中的doFilter来

进行请求拦截,并将request和response对象作为实参传递给doFilter方法。

我们可以在doFilter方法中声明过滤器拦截代码。

参数:

    • 0
      点赞
    • 0
      收藏
      觉得还不错? 一键收藏
    • 0
      评论
    提供的源码资源涵盖了安卓应用、小程序、Python应用和Java应用等多个领域,每个领域都包含了丰富的实例和项目。这些源码都是基于各自平台的最新技术和标准编写,确保了在对应环境下能够无缝运行。同时,源码中配备了详细的注释和文档,帮助用户快速理解代码结构和实现逻辑。 适用人群: 这些源码资源特别适合大学生群体。无论你是计算机相关专业的学生,还是对其他领域编程感兴趣的学生,这些资源都能为你提供宝贵的学习和实践机会。通过学习和运行这些源码,你可以掌握各平台开发的基础知识,提升编程能力和项目实战经验。 使用场景及目标: 在学习阶段,你可以利用这些源码资源进行课程实践、课外项目或毕业设计。通过分析和运行源码,你将深入了解各平台开发的技术细节和最佳实践,逐步培养起自己的项目开发和问题解决能力。此外,在求职或创业过程中,具备跨平台开发能力的大学生将更具竞争力。 其他说明: 为了确保源码资源的可运行性和易用性,特别注意了以下几点:首先,每份源码都提供了详细的运行环境和依赖说明,确保用户能够轻松搭建起开发环境;其次,源码中的注释和文档都非常完善,方便用户快速上手和理解代码;最后,我会定期更新这些源码资源,以适应各平台技术的最新发展和市场需求。

    “相关推荐”对你有帮助么?

    • 非常没帮助
    • 没帮助
    • 一般
    • 有帮助
    • 非常有帮助
    提交
    评论
    添加红包

    请填写红包祝福语或标题

    红包个数最小为10个

    红包金额最低5元

    当前余额3.43前往充值 >
    需支付:10.00
    成就一亿技术人!
    领取后你会自动成为博主和红包主的粉丝 规则
    hope_wisdom
    发出的红包
    实付
    使用余额支付
    点击重新获取
    扫码支付
    钱包余额 0

    抵扣说明:

    1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
    2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

    余额充值