新增的注解支持
Servlet
3.0的部署描述文件web.xml的顶层标签<web-app>有一个metadata-complete属性,该属性指定当前的部署描述
文件是否是完全的。如果设置为true,则容器在部署时将只依赖部署描述文件,忽略所有的注解(同时也会跳过web-fragment.xml的扫描,亦
即禁用可插性支持,具体请看后文关于可插性支持的讲解);如果不配置该属性,或者将其设置为false,则表示启用注解支持(和可插性支持)。
@WebServlet
@WebServlet用于将一个类声明为Servlet,该注解将会在部署时被容器处理,容器将根据具体的属性配置将相应的类部署为
Servlet。该注解具有下表给出的一些常用属性(以下所有属性均为可选属性,但是vlaue或者urlPatterns通常是必需的,且二者不能共
存,如果同时指定,通常是忽略value的取值):
属性名类型描述
1.nameString指定Servlet的name属性,等价于<servlet-name>。如果没有显式指定,则该Servlet的取值即为类的全限定名。
2.valueString[]该属性等价于urlPatterns属性。两个属性不能同时使用。
3.urlPatternsString[]指定一组Servlet的URL匹配模式。等价于<url-pattern>标签。
4.loadOnStartupint指定Servlet的加载顺序,等价于<load-on-startup>标签。
5.initParamsWebInitParam[]指定一组Servlet初始化参数,等价于<init-param>标签。
6.asyncSupportedboolean声明Servlet是否支持异步操作模式,等价于<async-supported>标签。
7.descriptionString该Servlet的描述信息,等价于<description>标签。
8.displayNameString该Servlet的显示名,通常配合工具使用,等价于<display-name>标签。
下面是一个简单的示例:
-
@WebServlet
(urlPatterns={
"/simple"
},asyncSupported=
true
, loadOnStartup=-
1
,name=
"SimpleServlet"
,displayName=
"ss"
,
-
initParams={@WebInitParam
(name=
"username"
,value=
"tom"
)} ) publicclassSimpleServletextendsHttpServlet{…}
-
@WebServlet(urlPatterns={"/simple"},asyncSupported=true, loadOnStartup=-1,name="SimpleServlet",displayName="ss",
initParams={@WebInitParam(name="username",value="tom")} ) publicclassSimpleServletextendsHttpServlet{…}
如此配置之后,就可以不必在web.xml中配置相应的<servlet>和<servlet-mapping>元素了,容器会在部署时根据指定的属性将该类发布为Servlet。它的等价的web.xml配置形式如下:
-
<
servlet
>
-
<
display-name
>
ss
</
display-name
>
-
<
servlet-name
>
SimpleServlet
</
servlet-name
>
-
<
servlet-class
>
footmark.servlet.SimpleServlet
</
servlet-class
>
-
<
load-on-startup
>
-1
</
load-on-startup
>
-
<
async-supported
>
true
</
async-supported
>
-
<
init-param
>
-
<
param-name
>
username
</
param-name
>
-
<
param-value
>
tom
</
param-value
>
-
</
init-param
>
-
</
servlet
>
-
<
servlet-mapping
>
-
<
servlet-name
>
SimpleServlet
</
servlet-name
>
-
<
url-pattern
>
/simple
</
url-pattern
>
-
</
servlet-mapping
>
<servlet>
<display-name>ss</display-name>
<servlet-name>SimpleServlet</servlet-name>
<servlet-class>footmark.servlet.SimpleServlet</servlet-class>
<load-on-startup>-1</load-on-startup>
<async-supported>true</async-supported>
<init-param>
<param-name>username</param-name>
<param-value>tom</param-value>
</init-param>
</servlet>
<servlet-mapping>
<servlet-name>SimpleServlet</servlet-name>
<url-pattern>/simple</url-pattern>
</servlet-mapping>
@WebInitParam
该注解通常不单独使用,而是配合@WebServlet或者@WebFilter使用。它的作用是为Servlet或者过滤器指定初始化参数,这
等价于web.xml中<servlet>和<filter>的<init-param>子标签。
@WebInitParam具有下表给出的一些常用属性:
属性名类型是否可选描述
◆nameString否指定参数的名字,等价于 <param-name>。
◆valueString否指定参数的值,等价于 <param-value>。
◆descriptionString是关于参数的描述,等价于 <description>。
@WebFilter
@WebFilter用于将一个类声明为过滤器,该注解将会在部署时被容器处理,容器将根据具体的属性配置将相应的类部署为过滤器。该注解具有下
表给出的一些常用属性(以下所有属性均为可选属性,但是value、urlPatterns、servletNames三者必需至少包含一个,且
value和urlPatterns不能共存,如果同时指定,通常忽略value的取值):
分享到:
相关推荐
Servlet3.0是Java Web开发中的一个重要里程碑,它在Servlet2.5的基础上引入了许多新特性,极大地提高了开发效率和灵活性。这份"Servlet3.0参考手册"无疑为开发者提供了全面的API参考和实用指南。 首先,Servlet3.0...
Servlet 3.0是Java Servlet规范的一个重要版本,它带来了许多新特性和改进,极大地提升了Web应用程序的开发效率和灵活性。这个"javax.servlet-api-3.0.1.jar"文件是Servlet 3.0规范的API实现,包含了开发人员编写...
下载的`servlet3.0jar综合`压缩包包含了实现这些特性的关键库,对于进行Java EE 3.0开发的程序员来说是必不可少的工具。在实际开发中,结合相关的框架(如Spring MVC)和其他Java EE组件,可以构建出功能强大、易...
这个压缩包“servlet3.0.zip”包含两个核心的JAR文件:“javax.servlet-javadoc.jar”和“javax.servlet.jar”,它们分别提供了Servlet API的文档和实现。 1. **Servlet API**: - `javax.servlet`包是Servlet API...
Servlet 3.0是Java服务器端编程的重要组成部分,主要用于构建动态Web应用程序。它是由Java Community Process(JCP)制定的标准,定义了一套用于处理HTTP请求的API,使得开发者可以编写服务器端程序来处理来自Web...
在这个名为“servlet3.0-demo”的项目中,我们重点探讨的是如何利用Servlet 3.0的新特性进行文件上传操作,并且采用注解的方式来简化代码。 在Servlet 3.0之前,我们需要在web.xml中配置Servlet,然后通过继承...
Servlet3.0是Java Web开发中的一个重要里程碑,它在Servlet API上引入了多项重大改进,极大地提升了开发效率和灵活性。这个压缩包包含了servlet3.0的jar包和对应的doc文档,非常适合开发者学习和使用。 首先,我们...
Servlet3.0与这些更新的版本兼容,提供了更强大的表达式语言和标签库,简化了视图层的开发。 9. **MIME类型匹配**: 新增`@.WebServlet(urlPatterns = {"/files/*"}, mimeTypes = {"text/plain", "application/...
【标题】"maven servlet 3.0 eclipse config video" 提供的是关于如何在Eclipse集成开发环境中配置Maven和Servlet 3.0的视频教程。这个教程旨在帮助开发者了解和掌握如何有效地利用Maven构建Java Web项目,并利用...
Servlet 3.0作为Servlet规范的一个重要版本,引入了许多新特性,其中最引人注目的就是异步处理和支持Web插座(WebSocket),这使得实时通信如聊天室的实现变得更加便捷。本文将深入探讨如何利用Servlet 3.0的异步...
最后,关于"链接.txt"、"创建MavenWeb项目Servlet3.0的模板"和"Idea安装插件"这三个文件,它们可能是教程的补充资料。"链接.txt"可能包含其他相关资源的URL;"创建MavenWeb项目Servlet3.0的模板"可能是一个详细的...
【标题】"Jsp/Servlet3.0 ppt和代码"涉及的是Java服务器页面(JSP)和Servlet 3.0版本的关键技术。JSP是一种动态网页技术,它允许开发者将HTML代码与Java代码混合编写,从而实现服务器端的动态内容生成。而Servlet是...
Servlet 3.0是Java服务器页面(JSP)和Servlet技术的一个重要版本更新,它引入了许多新特性,提升了Web应用程序的开发效率和灵活性。在JSR-315(JavaTM Servlet 3.0 API Specification)中,专家小组对这项规范进行...
Servlet3.0是Java Servlet API的一个重要版本更新,它引入了许多新特性,极大地提升了Web开发的效率和灵活性。在这个主题中,我们将深入探讨Servlet3.0的三大关键特性:监听器(Listeners)、过滤器(Filters)的新...
Servlet3.0是Java Web开发中的一个重要里程碑,它在Servlet2.5的基础上引入了许多新特性,极大地提高了开发效率和灵活性。在这个"Servlet3.0相关的包"中,包含了以下几个关键组件: 1. **Servlet**: 这是Java ...
在之前的版本中,当 Servlet 接收到请求后,会执行一系列操作,包括预处理请求数据、调用业务逻辑层方法处理业务逻辑,然后生成响应数据。在这整个过程中,Servlet 线程会一直处于阻塞状态,直到所有操作完成。这种...
Servlet 3.0是Java Web开发中的一个重要里程碑,它带来了许多新特性和改进,使得开发者在构建Web应用程序时更加高效和灵活。Apache Tomcat 7.0.61是广泛使用的开源Servlet容器,它实现了Servlet 3.0规范,提供了稳定...
Servlet3.0是Java Web开发中的一个重要里程碑,它在Servlet2.5的基础上引入了许多新特性,极大地提高了开发效率和灵活性。在这个"Servlet3.0 Demo"项目中,我们可以看到一个典型的使用Servlet3.0特性的示例。以下是...
Servlet3.0是Java Servlet API的一个重要版本更新,它带来了许多新特性和改进,极大地提升了Web应用程序的开发效率和灵活性。以下将详细讲解Servlet3.0的关键特性。 1. **注解驱动的配置**: 在Servlet3.0之前,...
Servlet 3.0是Java Servlet规范的一个重要版本,它在原有的Servlet 2.x基础上引入了多项新特性,极大地提升了Web应用程序的开发效率和灵活性。在这个版本中,servlet-api.jar作为核心库,包含了运行Servlet应用所...