博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Java Web开发——Filter
阅读量:6292 次
发布时间:2019-06-22

本文共 1512 字,大约阅读时间需要 5 分钟。

hot3.png

Filter简介

Filter是java servlet中提供的一个接口,在进行Javaweb开发时通常继承该接口实现一个过滤器类,主要功能是拦截对指定的服务器web资源调用,在调用前执行相应的动作

public interface Filter {    void init(FilterConfig var1) throws ServletException;    void doFilter(ServletRequest var1, ServletResponse var2, FilterChain var3) throws IOException, ServletException;    void destroy();}

public void init(FilterConfig filterConfig)

web 应用程序启动时,web 服务器将创建Filter 的实例对象,读取web.xml配置,将Filter的配置参数信息生成一个FilterConfig对象,传入调用其init方法,完成Filter对象的初始化功能,从而为后续的用户请求作好拦截的准备工作(filter对象只会创建一次,init方法也只会执行一次)。开发人员通过init方法的参数,可获得代表当前filter配置信息的FilterConfig对象。

public void doFilter (ServletRequest, ServletResponse, FilterChain)

该方法完成实际的过滤操作,当客户端请求方法与过滤器设置匹配的URL时,Servlet容器将先调用过滤器的doFilter方法。FilterChain用户访问后续过滤器,即在doFilter方法内继续调用,FiterChain.doFilter(request,response)

public void destroy()

Servlet容器在销毁过滤器实例前调用该方法,在该方法中释放Servlet过滤器占用的资源。

 

Filter的配置使用

编写好的filter类需要在web.xml中配置

global
net.yuchen.web.MyFilter
action-path
net.yuchen.web.action
template-path
/WEB-INF/templates
global
/*

<filter-name>: 指定过滤器名称

<filter-class>:过滤器的完整类名

<init-param>: 配置参数,<param-name>指定参数名,<param-value>为参数值,这些参数会在filter对象初始化时被读取,在init()方法中可以通过filterConfig.getInitParameter("param-name")访问到

<filter-mapping>: 指定过滤器名称及作用的URL范围,/*为全局作用

 

转载于:https://my.oschina.net/u/4057396/blog/3022813

你可能感兴趣的文章
android 打开各种文件(setDataAndType)转:
查看>>
补交:最最原始的第一次作业(当时没有选上课,所以不知道)
查看>>
Vue实例初始化的选项配置对象详解
查看>>
PLM产品技术的发展趋势 来源:e-works 作者:清软英泰 党伟升 罗先海 耿坤瑛
查看>>
vue part3.3 小案例ajax (axios) 及页面异步显示
查看>>
浅谈MVC3自定义分页
查看>>
.net中ashx文件有什么用?功能有那些,一般用在什么情况下?
查看>>
select、poll、epoll之间的区别总结[整理]【转】
查看>>
CSS基础知识(上)
查看>>
PHP中常见的面试题2(附答案)
查看>>
26.Azure备份服务器(下)
查看>>
mybatis学习
查看>>
LCD的接口类型详解
查看>>
Spring Boot Unregistering JMX-exposed beans on shutdown
查看>>
poi 导入导出的api说明(大全)
查看>>
Mono for Android 优势与劣势
查看>>
将图片转成base64字符串并在JSP页面显示的Java代码
查看>>
js 面试题
查看>>
sqoop数据迁移(基于Hadoop和关系数据库服务器之间传送数据)
查看>>
腾讯云下安装 nodejs + 实现 Nginx 反向代理
查看>>