Servlet3.0规范抛弃了采用web.xml配置Sevlet,filter,Listenr的繁琐步骤,允许开发人员使用Annotation修饰它们,从而进行部署.
Servlet3.0规范在javax.servlet.annotation包下提供了如下Annotation.(只介绍常用属性)
1.@WebSevlet:用于修饰一个Servlet类,用于部署Sevlet类.(标注)
1).只提供URL
@WebServlet("/URL");//默认是Servlet类名
2).带参数,自启
@WebServlet(
name="",//Servlet的名称
urlPatterns="{/URL地址}",//URL
//设置Servlet是否在应用程序启动后自启,大于0自启,默认-1(不自启)
loadOnStartup=1 ,
initParams={
@WebInitParam(name="",value="")
} //提供参数
)
取得参数的方法,重写init()方法,用getInitParameter()方法取得参数值.
2.@webInitParam:用于与@WebServlet或@webFilter一起使用,为Servlet,filter配置参数.
3.@webListener:用于修饰listener类,用于部署listener类.
@WebListener()
4.webFilter:用于修饰Filter类,用于部署Filter类
2).带参数的过滤器
@WebFilter(
filterName="",//过滤器名称
urlPatterns="/*",//一次性符合所有的Servlet
initParams={
@WebInitParam(name="",value="")
}
)
取参数的方法跟@webServlet一致
5.@multipartConfig:用于修饰Sevlet,指定该Servlet将会负责处理multipartConfig/form-data类型的请求(主要用于文件上传)
@MultipartConfig(
location="",
maxFileSize=" ",
fileSizeThreshold=" ",
maxRequestSize=" "
)
location="":字符串设置,设置写入文件时的目录,如果设置这个属性,则缓存文件就是写到指定的位置,也可以搭配part的write()方法使用,默认为空字符串.
maxFileSize=" ":限制上传文件大小,默认为-1L,表示不限制大小
fileSizeThreshold=" ":整数值设置,若上传文件大小超过设置门槛,会先写入缓存文件,默认为0
maxRequestSize=" ":限制multipartConfig/form-data请求个数,默认值为-1L,表示不限制个数