java 端口转发 过滤_Java过滤器Filter使用说明

Java 过滤器

1. 过滤器的产生背景

在基于JSP 页面开发的Web 项目中,会遇到一种情况,除了登陆页面或者注册页面以外,其它页面在用户未登陆的情况下是不允许访问的。对用户身份的验证是基于session 实现的,即在登陆成功后在session 中放入标识,当用户再次访问其它页面时,根据session 的标识来确认用户是否可以访问。这样的话,在很多页面中都需要添加判断代码,同样代码的重复增加了多余的代码,不符合Java 编程习惯且不利于维护。而过滤器的产生解决了这一问题。

2. 过滤器的实现

使用Servlet 过滤器实现JSP 页面中的用户身份验证,首先必须实现Filter 接口,且重写doFilter()方法,由doFilter()方法去处理过滤业务;其次,在web.xml 文件中配置Servlet 过滤器,指定过滤器的名称、过滤器包所在类的名称及过滤器的映射范围等。

3. 过滤器的介绍

3.1 Servlet 过滤器接口的构成

所有的Servlet 过滤器都必须实现javax.servlet.filter 接口,该接口中定义了3个过滤器必须实现的方法:

void init(FilterConfig):过滤器的初始化方法,Servlet 容器在创建过滤器实例时调用这个方法,在这个方法中可以读出在web.xml 文件中为该过滤器配置的初始化参数。 void doFilter(ServletRequest,ServletResponse,FilterChain):用于完成实际的过滤操作,当客户请求访问与过滤器相关联的URL 时,Servlet 容器将先调用过滤器的这个方法,FilterChain 参数用于访问后续过滤器。

void destroy():过滤器在被取消前执行这个方法,释放过滤器申请的资源。

3.2创建一个Servlet 过滤器需要下面的步骤: 1.创建一个实现了javax.servlet.Filter 接口的类。 2.重写init(FilterConfig)方法,读入为过滤器配置的初始化参数,申请过滤器需要的资源

3.重写方法doFilter(ServletRequest,ServletResponse,FilterChain),完成过滤操作,可以从ServletRequest 参数中得到全部的请求信息,从ServletResponse 参数中得到全部的响应信息。

4.在doFilter()方法的最后,使用FilterChain 参数的doFilter()方法将请求和响应后传。

5.对响应的Servlet 程序和JSP 页面注册过滤器,在部署描述文件(web.xml)中使用和元素对过滤器进行配置。

用户(浏览器)

服务器端页面

过滤器

请求

响应

服务器端

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值