1.引入

在Servlet3.0以后的版本提供了Servlet注解配置,大大简化了代码编写。它可以替代xml文件的配置

2.代码实现

<1>注解开发代码如下:

@WebServlet(value = "/servlet1", initParams = {@WebInitParam(name = "charset", value = "utf-8")})
//【注:如果是只需要映射路径则可以直接在双引号中写】
//@WebServlet("/servlet1")
public class ServletDemo extends HttpServlet {}

<2>它等同于xml配置文件

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"version="4.0"><servlet><servlet-name>ServletDemo </servlet-name><servlet-class>com.itheima.servlet.ServletDemo</servlet-class><init-param><param-name>charset</param-name><param-value>utf-8</param-value></init-param></servlet><servlet-mapping><servlet-name>ServletDemo </servlet-name><url-pattern>/servlet1</url-pattern></servlet-mapping>
</web-app>

<3>ServletDemo获取配置信息代码

@WebServlet(value = "/servlet1", initParams = {@WebInitParam(name = "charset", value = "utf-8")})
//@WebServlet("/servlet1")
public class ServletDemo extends HttpServlet {@Overrideprotected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {ServletConfig servletConfig = this.getServletConfig();Enumeration<String> parameterNames = servletConfig.getInitParameterNames();while (parameterNames.hasMoreElements()) {String name = parameterNames.nextElement();String value = servletConfig.getInitParameter(name);System.out.println(name + "..." + value);}}@Overrideprotected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {doGet(req, resp);}
}打印结果:
------------------------------------------------------
charset...utf-8
3.自动注解开发的注解详解
@Target({ElementType.TYPE})
@Retention(RetentionPolicy.RUNTIME)
@Documented
public @interface WebServlet {"指定Servlet的名称"
"--等效于web.xml文件<servlet>标签下的<servlet-name>"String name() default "";
"--用于映射servlet"
"等效于<url-pattern>"
//两个属性只能写一个String[] value() default {};String[] urlPatterns() default {};
"/指定servlet的加载时机"
"等效于<load-on-startup>"
//-1表示访问时创建int loadOnStartup() default -1;
"指定servlet的初始化参数"
"等效于<init-param>"WebInitParam[] initParams() default {};
"指定servlet是否支持异步"boolean asyncSupported() default false;
"指定servlet的小图标"String smallIcon() default "";
"指定servlet的大图标"String largeIcon() default "";
"指定servlet的描述信息"String description() default "";
"指定servlet的显示名称"String displayName() default "";
}

Servlet---注解开发相关推荐

  1. servlet的注解开发

    如果有很多servlet要配置,那么配置文件将会非常的杂乱,为了解决这一问题,servlet3.0中可以使用注解进行配置. Servlet3.0: 好处:支持注解配置.可以不需要web.xml 注解开 ...

  2. 使用注解开发SpringMVC详细配置教程

    目录 1.使用注解开发SpringMVC 1.新建一个普通的maven项目,添加web支持 2.在pom.xml中导入相关依赖 3.配置web.xml 4.编写SpringMVC配置文件 1. 自动扫 ...

  3. 【Spring Web MVC】Spring Web MVC 注解开发环境搭建

    为什么80%的码农都做不了架构师?>>>    1.创建maven项目 创建一个名为:springwebmvc-first的maven项目 2.添加依赖包 要使用springWebM ...

  4. SpringMVC学习03之使用注解开发SpringMVC

    复习 Spring MVC的特点: 轻量级,简单易学 高效 , 基于请求响应的MVC框架 与Spring兼容性好,无缝结合 约定优于配置 功能强大:RESTful.数据验证.格式化.本地化.主题等 简 ...

  5. springmvc教程--注解开发基础详解

    springmvc教程系列 springmvc史上最好教程(2) springmvc史上最好教程(1) 一. 注解开发-基础 1.1 需求 使用springmvc+mybatis架构实现商品信息维护. ...

  6. 二、Java框架之Spring注解开发

    文章目录 1. IOC/DI注解开发 1.1 Component注解 @Component @Controller @Service @Repository 1.2 纯注解开发模式 1.3 注解开发b ...

  7. Java自定义注解开发

    目录 一.JAVA注解 1.java注解的定义 2.java注解的分类 2.1 JDK基本注解 2.2 JDK元注解 2.3 自定义注解 3.注解分类 3.1标记Annotation: 3.2 元数据 ...

  8. JavaSSM笔记(一)Spring基础(JavaBean)(IoC理论)(AOP)(使用注解开发)

    在JavaWeb阶段,我们已经学习了如何使用Java进行Web应用程序开发,我们现在已经具有搭建Web网站的能力,但是,我们在开发的过程中,发现存在诸多的不便,在最后的图书管理系统编程实战中,我们发现 ...

  9. @WebServlet注解(Servlet注解)

    @WebServlet注解 文章目录 @WebServlet注解 前言 一.@WebServlet 注解的属性 二.@WebServlet 注解的使用 1. 启用注解支持 2.使用 @WebServl ...

  10. 尚硅谷Spring注解开发学习笔记

    文章目录 前言 1.课程安排 1.1.容器 1.2.扩展原理 1.3.Web 2.配置文件开发 2.1.导入Spring-context依赖包 2.2.编写Spring配置文件 2.3.编写Perso ...

最新文章

  1. 忘掉什么鬼并发,先听完这个故事!
  2. c语言如何打印矩形图形的程序 五行七列,C语言习题与实验
  3. 蓝牙-HCI错误码列表
  4. 推荐《淘宝的可伸缩高性能互联网架构 》
  5. 【收藏】一篇快速帮企业转型区块链的锦囊
  6. wamp 使用mysql_PHP当中如何使用Wampserver连接到Mysql数据库以及怎样使用
  7. 垃圾回收 | Java垃圾回收,这杯咖啡,不仅好喝,而且实用!
  8. python如何编辑pdf_python3.6 导入并编辑pdf 错误在哪里啊
  9. phpcms 报500错误
  10. php安装sg11扩展,Centos下安装SG11加密扩展插件
  11. 总结几个与模块相关的命令
  12. sprint test 添加事务回滚机制
  13. 名企工资一览表--最新更新
  14. 计算机软件实习每日学习打卡(2)20201203
  15. JS addEventListener()方法
  16. Delphi 基本算法
  17. openlayers6【十】EPSG:3857和EPSG:4326区别详解
  18. Android 9.0 切换系统语言
  19. 武汉python招聘与数据_(武汉有岗)星融元数据技术有限公司招聘公告
  20. [lintcode]入门

热门文章

  1. YBTOJ洛谷P2387: 魔法森林(LCT)
  2. LOJ:蚂蚁之旅(欧拉回路)
  3. 不止代码:乘法游戏 题解(区间dp)
  4. P5341-[TJOI2019]甲苯先生和大中锋的字符串【SAM】
  5. 【分块】区间众数(金牌导航 分块-1)
  6. 【动态规划】最大子矩阵之和
  7. SpringBoot @Resource注入的坑
  8. 编译原理(一)之词法分析
  9. 汇编语言(五)之数组中正数和负数分离
  10. MySQL字符串长度