@WebServlet注解(Servlet注解)
与 XML 不同,注解不需要依赖于配置文件,它可以直接在类中使用,其配置只对当前类有效,这样就避免了集中管理造成的配置冗长问题。那么 Servelt 支持注解吗?
为了简化 Servlet 的配置,Servlet 3.0 中增加了注解支持,例如:@WebServlet、@WebInitParm 、@WebFilter 和 @WebLitener 等,这使得 web.xml 从 Servlet 3.0 开始不再是必选项了。下面我们对 @WebServlet 进行介绍。
@WebServlet 注解的属性
@WebServlet 用于将一个类声明为 Servlet,该注解会在部署时被容器处理,容器根据其具体的属性配置将相应的类部署为 Servlet。该注解具有下表给出的一些常用属性。属性名 | 类型 | 标签 | 描述 | 是否必需 |
|---|---|---|---|---|
name | String | <servlet-name> | 指定 Servlet 的 name 属性。 如果没有显式指定,则取值为该 Servlet 的完全限定名,即包名+类名。 | 否 |
value | String[ ] | <url-pattern> | 该属性等价于 urlPatterns 属性,两者不能同时指定。 如果同时指定,通常是忽略 value 的取值。 | 是 |
urlPatterns | String[ ] | <url-pattern> | 指定一组 Servlet 的 URL 匹配模式。 | 是 |
loadOnStartup | int | <load-on-startup> | 指定 Servlet 的加载顺序。 | 否 |
initParams | WebInitParam[ ] | <init-param> | 指定一组 Servlet 初始化参数。 | 否 |
asyncSupported | boolean | <async-supported> | 声明 Servlet 是否支持异步操作模式。 | 否 |
description | String | <description> | 指定该 Servlet 的描述信息。 | 否 |
displayName | String | <display-name> | 指定该 Servlet 的显示名。 | 否 |
@WebServlet 注解的使用
1. 启用注解支持
web.xml 的顶层标签 <web-app> 中有一个属性:metadata-complete,该属性用于指定当前 web.xml 是否是完全的。若该属性设置为 true,则容器在部署时将只依赖 web.xml,忽略所有的注解。若不配置该属性,或者将其设置为 false,则表示启用注解支持。
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3网站站点" rel="nofollow" />
@WebServlet("/MyServlet")
该写法省略了 urlPatterns 属性名,其完整的写法如下所示。
@WebServlet(urlPatterns = "/MyServlet")。
如果 @WebServlet 中需要设置多个属性,则属性之间必须使用逗号隔开,如下所示。
package net.biancheng.www;
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebInitParam;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
@WebServlet(asyncSupported = true, name = "myServlet", description = "name描述", loadOnStartup = 1, urlPatterns = {
"/MyServlet", "/*" }, initParams = {
@WebInitParam(name = "编程帮", value = "www.biancheng网站站点" rel="nofollow" />
- 随机文章
- 从上海到马尔代夫(从上海出发,探索马尔代夫:旅游指南)
- 塞班马尔代夫沙滩(塞班马尔代夫沙滩:世外桃源般的天堂 )
- 中国马尔代夫西沙(中国西沙群岛:马尔代夫胜地的另一面)
- 香港 马尔代夫 航班(港马航班恢复:香港往返马尔代夫线路重新开放)
- 印度马尔代夫海岛(印度与马尔代夫联合投资建设热带海岛)
- 马尔代夫雪茄洋酒(马尔代夫美酒佳茗:畅享雪茄与洋酒)
- 吉林马尔代夫海滩(吉林“马尔代夫”:绝美海滩摄影胜地)
- 黎明 马尔代夫(马尔代夫海滩上迎来黎明!)
- 母神 马尔代夫(马尔代夫:母神景点吸引游客)
- 新德里到马尔代夫(从新德里出发前往马尔代夫的旅行指南)
- 国足马尔代夫助攻(国足客场大胜马尔代夫,助攻贡献喜人)
- 广西版纳马尔代夫(广西版纳马尔代夫:一场奢华度假体验)
- 姐妹 马尔代夫(姐妹游马尔代夫:探究海洋世界)
- 夏天 马尔代夫(享受马尔代夫炎炎夏日)
- 汤加火山马尔代夫(马尔代夫发生海啸引发的火山爆发现象)
- 江门马尔代夫旅游(江门到马尔代夫旅游攻略,必看推荐!)
- 马尔代夫语元音( !)
- 浪漫马尔代夫海岛(探索神秘马尔代夫,享受浪漫海岛之旅)
- 哈山 马尔代夫(探秘马尔代夫哈山:水清沙白的天堂之岛)
- 航拍马尔代夫旅行(空中俯瞰马尔代夫:鸟瞰绝美珊瑚岛屿)
- 沈阳马尔代夫酒店(沈阳马尔代夫酒店:享受梦幻海岛风光)
- 苏州蜜月马尔代夫(苏州新人的浪漫蜜月之旅:马尔代夫篇)
- 虎航 马尔代夫(虎航开启马尔代夫航线,预定价格优惠!)
- 苹果马尔代夫壁纸(美丽马尔代夫风景成为苹果新壁纸来源)
- 邻水人的马尔代夫(邻水居民游马尔代夫,度假胜地受青睐)
- 闪亮马尔代夫图片(绚烂马尔代夫:缤纷海底世界美轮美奂)
- 马尔代夫传统帆船(马尔代夫传统帆船:航行珍贵文化遗产)
- 马尔代夫传统艺术(马尔代夫传统工艺——手工编织新生活)
- 瑞吉滑梯马尔代夫(瑞吉滑梯马尔代夫:乐享度假新体验!)
- 湖北马尔代夫作文(湖北小镇仿若马尔代夫,迎来旅游热潮)
