Servlet3.0新特性WebFilter(Annotation Filter)详解
摘要:
Servlet3.0作为J2EE 6规范一部分,并随J2EE6一起发布,WeFilter是过滤器注解,是Servlet3.0的新特性,不需要在web.xml进行配置,简化了配置。
Name |
Type |
Required |
Description |
filterName |
String |
Optional |
Name of the filter. |
value or urlPatterns |
String[] |
Required |
Specify one or more URL patterns to which the filter applies. Either of attribute can be used, but not both. |
dispatcherTypes |
DispatcherType[] |
Optional |
Specify types of dispatcher to which the filter applies. Default isjavax.servlet.DispatcherType.REQUEST |
servletNames |
String[] |
Optional |
Specify names of servlets to which the filter applies. |
displayName |
String |
Optional |
Display name of the filter. |
description |
String |
Optional |
Description of the filter. |
asyncSupported |
boolean |
Optional |
Specify whether the filter supports asynchronous operation mode. Default is false. |
initParams |
WebInitParam[] |
Optional |
Specify one or more initialization parameters of the filter. Each parameter is specified by@WebInitParamannotation type. |
smallIcon |
String |
Optional |
Specify name of the small icon of the filter. |
largeIcon |
String |
Optional |
Specify name of the large icon of the filter. |
OneFilter:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
|
package com.what21.servlet.webfilter;
import java.io.IOException;
import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.annotation.WebFilter;
@WebFilter ( "/*" )
public class OneFilter implements Filter {
@Override
public void init(FilterConfig config) throws ServletException {
}
@Override
public void doFilter(ServletRequest request, ServletResponse response,
FilterChain chain) throws IOException, ServletException {
System.out.println( "OneFilter doFilter()" );
chain.doFilter(request, response);
}
@Override
public void destroy() {
}
}
|
TwoFilter:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
|
package com.what21.servlet.webfilter;
import java.io.IOException;
import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.annotation.WebFilter;
@WebFilter (servletNames = "MyFourServlet" )
public class TwoFilter implements Filter {
@Override
public void init(FilterConfig config) throws ServletException {
}
@Override
public void doFilter(ServletRequest request, ServletResponse response,
FilterChain chain) throws IOException, ServletException {
System.out.println( "TwoFilter doFilter()" );
chain.doFilter(request, response);
}
@Override
public void destroy() {
}
}
|
ThreeFilter:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
|
package com.what21.servlet.webfilter;
import java.io.IOException;
import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.annotation.WebFilter;
@WebFilter (servletNames = { "MyFourServlet" , "MyFiveServlet" })
public class ThreeFilter implements Filter {
@Override
public void init(FilterConfig config) throws ServletException {
}
@Override
public void doFilter(ServletRequest request, ServletResponse response,
FilterChain chain) throws IOException, ServletException {
System.out.println( "ThreeFilter doFilter()" );
chain.doFilter(request, response);
}
@Override
public void destroy() {
}
}
|
FourFilter:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
|
package com.what21.servlet.webfilter;
import java.io.IOException;
import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.annotation.WebFilter;
@WebFilter ({ "/one" , "/two" })
public class FourFilter implements Filter {
@Override
public void init(FilterConfig config) throws ServletException {
}
@Override
public void doFilter(ServletRequest request, ServletResponse response,
FilterChain chain) throws IOException, ServletException {
System.out.println( "FourFilter doFilter()" );
chain.doFilter(request, response);
}
@Override
public void destroy() {
}
}
|
FiveFilter:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
|
package com.what21.servlet.webfilter;
import java.io.IOException;
import javax.servlet.DispatcherType;
import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.annotation.WebFilter;
import javax.servlet.annotation.WebInitParam;
@WebFilter (
urlPatterns = "/five" ,
filterName = "FiveFilter" ,
initParams = {
@WebInitParam (name = "name" , value = "username" ),
@WebInitParam (name = "value" , value = "password" )
},
description = "MyFiveFilter" ,
dispatcherTypes = {DispatcherType.REQUEST, DispatcherType.FORWARD}
)
public class FiveFilter implements Filter {
@Override
public void init(FilterConfig config) throws ServletException {
String name = config.getInitParameter( "name" );
String value = config.getInitParameter( "value" );
System.out.println( "name = " + name);
System.out.println( "value = " + value);
System.out.println( "init()....." );
}
@Override
public void doFilter(ServletRequest request, ServletResponse response,
FilterChain chain) throws IOException, ServletException {
System.out.println( "FiveFilter doFilter()" );
}
@Override
public void destroy() {
}
}
|
转载于:https://www.cnblogs.com/xingzc/p/7519507.html
Servlet3.0新特性WebFilter(Annotation Filter)详解相关推荐
- Java基础加强-(注解,动态代理,类加载器,servlet3.0新特性)
1. Annotation注解 1.1. Annotation概述 Annotation是JDK 5.0以后提供对元数据的支持,可以在编译.加载和运行时被读取,并执行相应的处理.所谓Annota ...
- servlet3.0新特性_查看Servlet 3.0的新增功能
servlet3.0新特性 随着JEE6规范上市,在企业应用程序领域中如何开发应用程序方面发生了一些重大变化. 在本文中,我将介绍有关Web应用程序开发的一些更改. 首先,请告别web.xml部署描述 ...
- Java-Web 基础加强之泛型、注解和Servlet3.0新特性
目录 一.泛型 1.泛型类 2.泛型方法 3.继承(实现)泛型类(接口) 4.通配符 (1)通配符概述 (2)通配符的缺点 (3)通配符的限制 (4)带有下边界的通配符 (5)带有下边界的通配符 (6 ...
- 【Servlet3.0新特性】第03节_文件上传
这是一个Web Project 首先是web.xml <?xml version="1.0" encoding="UTF-8"?> <web- ...
- Spark 3.2.0 版本新特性 push-based shuffle 论文详解(一)概要和介绍
前言 本文隶属于专栏<大数据技术体系>,该专栏为笔者原创,引用请注明来源,不足和错误之处请在评论区帮忙指出,谢谢! 本专栏目录结构和参考文献请见大数据技术体系 目录 Spark 3.2.0 ...
- Spark 3.2.0 版本新特性 push-based shuffle 论文详解(二)背景和动机
前言 本文隶属于专栏<大数据技术体系>,该专栏为笔者原创,引用请注明来源,不足和错误之处请在评论区帮忙指出,谢谢! 本专栏目录结构和参考文献请见大数据技术体系 目录 Spark 3.2.0 ...
- 【java8新特性】——Stream API详解(二)
一.简介 java8新添加了一个特性:流Stream.Stream让开发者能够以一种声明的方式处理数据源(集合.数组等),它专注于对数据源进行各种高效的聚合操作(aggregate operation ...
- Java自学手记——servlet3.0新特性
servlet3.0出来已经很久了,但市场上尚未普遍应用,servlet3.0有三个比较重要的新特性:使用注解来代替配置文件,异步处理以及上传组件支持. 支持servlet3.0的要求:MyEclip ...
- Servlet3.0新特性全解
tomcat 7以上的版本都支持Servlet 3.0 Servlet 3.0 新增特性 注解支持:Servlet.Filter.Listener无需在web.xml中进行配置,可以通过对应注解进行配 ...
最新文章
- 算法导论笔记- 二叉查找树问题
- 我的世界局域网联机找不到服务器,我的世界局域网联机显示无效的会话和搜不到主机...
- eof怎么结束输入_西门子S71500数字量输入模块如何编址?
- oracle的工具cmd,数据库命令行工具DBCLI
- Python+sklearn使用朴素贝叶斯算法识别中文垃圾邮件
- PHP的 Warning: Cannot modify header information - headers already sent by警告
- matlab 声明多个变量,Matlab for 多个变量循环能不能这样啊 ,求教高手!!!!...
- 虚拟机安装BackTrack 5 的教程详解!
- PDF虚拟打印机怎么虚拟打印
- SWAT模型学习(三)
- 关于 cdn、回源等问题一网打尽
- python程序设计实用教程答案_Python程序设计实用教程
- TIBCO中间件 介绍与部署
- OpenLayers汇总目录
- 小米手机怎么录制视频 手机录制视频的方法
- SimpleDateFormat大写Y和小写y的区别
- 当我精通vue2的源码dep和watcher的关系时
- 详解申请微信h5支付方法,开通微信h5网页支付接口(转)
- 预防甲型流感病毒的注意事项和方法
- 微信公众号商城是否需要云服务器,云商城公众号绑定、微信支付配置文档
热门文章
- asp 取数据 计算_地学数据 | 地理空间数据获取方式汇总
- c和python的区别动图_C语言与Python 对程序员的差别到底在哪?
- php表单确认密码,jQuery表单验证之密码确认实例详解
- 安装VMware Tools 灰色解决办法
- @RequestBody注解分析
- java forEach使用
- python360百科_python抓取360百科踩过的坑!
- linux 页面内容输出,Node.js 一个简单的页面输出
- linux 安装centos7,linux CentOs7 安装 Autojump 方便高效省事-Go语言中文社区
- Apache Flink 零基础入门(十八)Flink Table APISQL