Servlet规范系列 之 <filter>、<filter |
您所在的位置:网站首页 › pattern在html › Servlet规范系列 之 <filter>、<filter |
欢迎大家关注本博,同时欢迎大家评论交流,可以给个赞哦!!! 在Servlet2.x版本中,配置依然是通过web.xml的形式进行配置的,升级到Servlet3.x后,可以依赖注解式方式进行配置。 本文只对、进行分析解释。 XSD地址 可以从官方获取web.xml的XSD约束web-app_2_5.xsd,同时web-app_2_5.xsd依赖javaee_5.xsd、jsp_2_1.xsd、javaee_web_services_client_1_2.xsd三个约束,地址如下: · http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd · http://java.sun.com/xml/ns/javaee/javaee_5.xsd · http://java.sun.com/xml/ns/javaee/jsp_2_1.xsd · http://java.sun.com/xml/ns/javaee/javaee_web_services_client_1_2.xsd 、配置 根据XSD约束,整理出、节点内容如下: 、详解 · · Filter的显示名称,并不参与实际编码。 · Filter的描述信息,并不参与实际编码。 对于和来说,都是用来描述Filter,尽管是程序运行的非必要元素,但当需要管理的Filter较多时,较好的编写和可以使得配置更具有可读性和可维护性,在一些Filter管理工具中可以更加方便的进行管理。 · 为当前Filter指定一个图标,包含、两个子标签,可以定义小、大图标,在一些Filter管理工具中可以通过图标进行辨认。 · 指定Filter的名称,这个名称会参与其他配置。 · 配置Filter的具体实现类,该类需要实现Filter接口,并完成init、doFilter、destroy方法的实现。 · 用来定义参数,包含、、三个子标签。用于描述配置的信息,用于自定参数名,用于指定参数值。可以配置多个参数,通过FilterConfig类的public String getInitParameter(String name)获取指定参数、public Enumeration getInitParameterNames()获取所有参数的参数名。 · 定义Servlet和URL之家的映射。 · 已经定义的Filter名称。 · 和 可以根据通配URL路径对符合条件的请求进行过滤处理。 可以根据指定Servlet处理的请求进行过滤处理,Servlet根据其自身配置的配置进行过滤。 Filter和Servlet对于配置的处理稍有差异,原因在于Servlet针对单一请求只能存在一个Servlet进行处理,Filter存在链式处理,只要配置满足条件,就会把当前Filter加入到过滤器链中。 中可以像中的一样,配置多个,但是只有最后一个会其作用。如果需要过滤多个路径时,可以定义多个标签,每个下分别配置其自身的。 · Servlet API 2.4版本规范中在中增加了元素,其有四个可选值:REQUEST、FORWARD、INCLUDE、ERROR。使得Filter将会按照配置过滤处理请求: ① REQUEST:直接从客户端过来的Request。 ② FORWARD:通过Forward过来的Request。 ③ INCLUDE:通过Include过来的Request。 ④ ERROR:通过过来的Request。 ⑤ 默认值:如果没有指定任何元素,默认值是REQUEST。 总结 Filter在日常开发中使用概率还是很高的,实际引用中可能不会涉及到所有标签,但是更充分的了解Filter的配置,有利于在遇到问题时,更准确、更快速的解决问题。 若文中存在错误和不足,欢迎指正! 本博微信公众号“超哥说码”,欢迎大家订阅,公众号正在完善中,会及时将更优质的博文推送于您! |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |