当前位置:网站首页>@WebServlet注解(Servlet注解)
@WebServlet注解(Servlet注解)
2022-08-01 23:41:00 【drhrht】
@WebServlet注解
文章目录
前言
Servlet 中,web.xml 扮演的角色十分的重要,它可以将所有的 Servlet 的配置集中进行管理,但是若项目中 Servelt 数量较多时,web.xml 的配置会变得十分的冗长。这种情况下,注解(Annotation)就是一种更好的选择。
提示:以下是本篇文章正文内容,下面案例可供参考
一、@WebServlet 注解的属性

二、@WebServlet 注解的使用
1. 启用注解支持
web.xml 的顶层标签 中有一个属性:metadata-complete,该属性用于指定当前 web.xml 是否是完全的。若该属性设置为 true,则容器在部署时将只依赖 web.xml,忽略所有的注解。若不配置该属性,或者将其设置为 false,则表示启用注解支持。
由于 metadata-complete 属性的默认值是 false,即默认启用 Servlet 注解支持,所以默认情况下,使用该注解时,不必创建 web.xml 文件。
2.使用 @WebServlet 注解
@WebServlet 属于类级别的注解,标注在继承了 HttpServlet 的类之上。常用的写法是将 Servlet 的相对请求路径(即 value)直接写在注解内,
@WebServlet(urlPatterns = “/MyServlet”)。
@WebServlet(“/MyServlet”) 省略了 urlPatterns 属性名
如果 @WebServlet 中需要设置多个属性,则属性之间必须使用逗号隔开.
通过实现 Serlvet 接口或继承 GenericServlet 创建的 Servlet 类无法使用 @WebServlet 注解。
使用 @WebServlet 注解配置的 Servlet 类,不要在 web.xml 文件中再次配置该 Servlet 相关属性。若同时使用 web.xml 与 @WebServlet 配置同一 Servlet 类,则 web.xml 中 的值与注解中 name 取值不能相同,否则容器会忽略注解中的配置。
@WebServlet 注解 和 web.xml 的区别
使用 web.xml 或 @WebServlet 注解都可以配置 Servlet
@WebServlet 注解配置 Servlet
优点:@WebServlet 直接在 Servlet 类中使用,代码量少,配置简单。每个类只关注自身业务逻辑,与其他 Servlet 类互不干扰,适合多人同时开发。
缺点:Servlet 较多时,每个 Servlet 的配置分布在各自的类中,不便于查找和修改。
web.xml 配置文件配置 Servlet
优点:集中管理 Servlet 的配置,便于查找和修改。
缺点:代码较繁琐,可读性不强,不易于理解。
先自我介绍一下,小编13年上师交大毕业,曾经在小公司待过,去过华为OPPO等大厂,18年进入阿里,直到现在。深知大多数初中级java工程师,想要升技能,往往是需要自己摸索成长或是报班学习,但对于培训机构动则近万元的学费,着实压力不小。自己不成体系的自学效率很低又漫长,而且容易碰到天花板技术停止不前。因此我收集了一份《java开发全套学习资料》送给大家,初衷也很简单,就是希望帮助到想自学又不知道该从何学起的朋友,同时减轻大家的负担。添加下方名片,即可获取全套学习资料哦
边栏推荐
- Calculate the distance between two points
- 一款简洁的文件传输工具
- Programmer is still short of objects? A new one is enough
- 对于在新标签页中打开的链接,始终使用“noopener”或“noreferrer”
- Making a Simple 3D Renderer
- Quartus 使用 tcl 文件快速配置管脚
- PostgreSQL Basics--Common Commands
- qt-faststart 安装使用
- [LeetCode304 Weekly Competition] Two questions about the base ring tree 6134. Find the closest node to the given two nodes, 6135. The longest cycle in the graph
- An interview question about iota in golang
猜你喜欢

工作5年,测试用例都设计不好?来看看大厂的用例设计总结

The third chapter of the imitation cattle network project: develop the core functions of the community (detailed steps and ideas)

Various Joins of Sql

解决端口占用

CAKE:一个用于多视图知识图谱补全的可扩展性常识感知框架

【C语言进阶】文件操作(二)

仿牛客网项目第三章:开发社区核心功能(详细步骤和思路)

Making a Simple 3D Renderer

chrome复制一张图片的base64数据

软件测试之移动APP安全测试简析,北京第三方软件检测机构分享
随机推荐
Access the selected node in the console
PostgreSQL 基础--常用命令
FAST-LIO2代码解析(二)
数据库表设计规则
Flink学习第四天——完成第一个Flink 流批一体案例
颜色透明参数
Oracle database is set to read-only and read-write
Flink学习第三天——一文带你了解什么是Flink流?
When using DocumentFragments add a large number of elements
numpy.where
6134. Find the closest node to the given two nodes - force double hundred code
A brief analysis of mobile APP security testing in software testing, shared by a third-party software testing agency in Beijing
简单3D渲染器的制作
IDEA入门看这一篇就够了
高效工作文档产出归类
PostgreSQL Basics--Common Commands
GIF制作-灰常简单的一键动图工具
problem solved
Programmer is still short of objects? A new one is enough
获取小猪民宿(短租)数据