Servlet3.0 注解
介绍
Servlet3.0是Java EE6规范的一部分,Servlet3.0提供了注解(annotation),使得不再需要在web.xml文件中进行Servlet的部署描述,简化开发流程。
环境
开发Servlet3.0的程序需要一定的环境支持。MyEclipse10和Tomcat7都提供了对Java EE6规范的支持。Tomcat需要Tomcat7才支持Java EE6,Tomcat7需要使用JDK1.6以上的版本。
- IDE:MyEclipse 10+
- JDK:JDK 1.6+
- tomcat:tomcat 7+
如果使用的 MyEclipse的版本较低,例如MyEclipse8.5,没有提供Java EE6的支持,可以到Oracle官方网站下载JavaEE6的SDK进行安装,或者从Tomcat7的解压目录下的lib文件夹中的**【annotations-api.jar、el-api.jar、jasper.jar、jasper-el.jar、jsp-api.jar、servlet-api.jar】这几个jar文件引用到我们的项目路径下。(例如:先建一个Java EE5的web项目,然后把Tomcat7的解压目录下的lib文件夹中的【annotations-api.jar、el-api.jar、jasper.jar、jasper-el.jar、jsp-api.jar、servlet-api.jar】**这几个jar文件引入到项目中,再删除Java EE5的库引用,最后从Tomcat7的解压目录下的conf文件夹下把web.xml模板拷贝到项目,替换掉原来的web.xml)。
表现
@WebServlet
@Target(value=TYPE)
@Retention(value=RUNTIME)
@Documented
public @interface WebServlet
该注释在部署时由容器处理,相应的servlet在指定的URL模式中可用。
boolean asyncSupported 声明servlet是否支持异步操作模式。
String description servlet的描述
String displayName servlet的显示名称
WebInitParam [] initParams servlet的init参数
String largeIcon servlet的大图标intloadOnStartup
int loadOnStartu servlet的加载-启动顺序
String name servlet的名称
String smallIcon servlet的小图标
String [] urlpattern servlet的URL模式
String[] value servlet的URL模式
@WebInitParam
@Target(value=TYPE)
@Retention(value=RUNTIME)
@Documented
public @interface WebInitParam
此注释用于Servlet或过滤器实现类,以指定初始化参数。
String name 初始化参数的名称
String value 初始化参数的值
String description 初始化参数的描述
@WebListener
@Target(value=TYPE)
@Retention(value=RUNTIME)
@Documented
public @interface WebListener
此注释用于声明WebListener。任何带WebListener注解的类必须实现一个或多个
ServletContextListener,
ServletContextAttributeListener,
ServletRequestListener,
ServletRequestAttributeListener,
httpessionlistener,
httpessionattributelistener,
httpessionidlistener接口。
String value listener的描述
@WebFilter
@Target(value=TYPE)
@Retention(value=RUNTIME)
@Documented
public @interface WebFilter
用于声明servlet过滤器的注释。
该注释由容器在部署时处理,相应的过滤器应用于指定的URL模式、servlet和dispatcher类型。
boolean asyncSupported 声明筛选器是否支持异步操作模式。
String description 对过滤器的描述
DispatcherType [] dispatcherTypes 筛选器应用的调度程序类型
String displayName 过滤器的显示名称
String filterName 过滤器的名称
WebInitParam [] initParams 过滤器的init参数
String largeIcon 滤镜的大图标
String [] servletNames 筛选器应用到的servlet的名称。
String smallIcon 过滤器的小图标
String [] urlpattern 的URL模式
String[] value 筛选器应用的URL模式
DispatcherType
public enum DispatcherType
extends EnumASYNC
ERROR
FORWARD
INCLUDE
REQUEST
@MultipartConfig
@Target(value=TYPE)
@Retention(value=RUNTIME)
public @interface MultipartConfig
可以在Servlet类上指定的注释,表明Servlet的实例期望请求符合多部分multipart/form-dataE类型。
int fileSizeThreshold 文件写入磁盘的大小阈值
String location 将存储文件的目录位置longmaxFileSize允许上传文件的最大大小。
long maxRequestSize 多部分/表单数据请求所允许的最大大小