J2EE WEB注解 使用语法

2023-05-16

  • Tomcat 9

WEB 容器给我们提供了很多组件,比如:Servlet、JSP、Filter、Listener

  • JSP 使用特殊,WEB 容器内部的 web.xml 配置文件替我们已做好配置并找到解析引擎自动转化为 Servlet
  • 而 Servlet、Filter、Listener,在我们使用时必须遵循规则(继承或实现类、方法重写)还必须要配置工程中的 web.xml 配置文件

但是配置 web.xml 是很繁琐的,一个 Servlet 就至少需要配置 8 行信息。

为了优化配置,WEB框架(比如 Struts2、SpringMVC…)应运而生

框架出现之后,Web容器(Tomcat)也更新了相关的版本,WEB3.0以后支持注解(替代 web.xml 文件的配置)

WEB 注解

@WebServlet、@WebFilter、@WebListener,分别简化 Servlet、Filter、Listener 的配置

@WebServlet

(1-1)配置 web.xml 文件

如果是手动配置 web.xml 文件,至少需要八行

<servlet>
    <servlet-name>test</servlet-name>
    <servlet-class>controller.TestController</servlet-class>
</servlet>
<servlet-mapping>
    <servlet-name>test</servlet-name>
    <url-pattern>/test</url-pattern>
</servlet-mapping>

(1-2)在控制层的 Servlet 类上配置注解:

//1.
@WebServlet(urlPatterns = "/test")

//2.如果只有一个请求关联,并且不携带配置信息
@WebServlet(value = "/test")

//2.或者
@WebServlet("/test")

//3.如果有多个请求关联到该 Servlet 类
@WebServlet(urlPatterns = {"/test","/test2"})

(2-1)配置 web.xml 文件

Servlet 类是由生命周期托管方式实现懒加载,可以在 web.xml 配置文件中改为立即加载方式并配置多个 Servlet 类之间的加载顺序

<servlet>
    ...
    <load-on-startup>0</load-on-startup>
</servlet>
<servlet-mapping>
    ...
</servlet-mapping>

(2-2)在控制层的 Servlet 类上配置注解:

@WebServlet(urlPatterns = "/test", loadOnStartup = 0)

(3-1)配置 web.xml 文件

Servlet 类在配置 web.xml 文件时,还可以携带信息

<servlet>
    ...
    
    <init-param>
        <param-name>zhangsan</param-name>
        <param-value>333</param-value>
    </init-param>
    <init-param>
        <param-name>lisi</param-name>
        <param-value>444</param-value>
    </init-param>
    
    <load-on-startup>0</load-on-startup>
</servlet>
<servlet-mapping>
    ...
</servlet-mapping>

(3-2)在控制层的 Servlet 类上配置注解:

虽然可以在注解中做到携带配置信息,但其实是没有必要的,注解与类写在一起方便开发的同时,项目运行时是不能修改的。所以直接将这些信息写在类中就可以了。

@WebServlet(
        urlPatterns = "/test",
        loadOnStartup = 0,
        initParams = {
                @WebInitParam(name = "zhangsan", value = "333"),
                @WebInitParam(name = "lisi", value = "444")
        }
)

还有其他一些配置,但几乎没有使用需求,参考上述内容也知道用法的。

@WebFilter

除了名字与 @WebServlet 不同,并且没有 loadOnStartup 配置;它们两的使用方式一模一样。

@WebListener

配置 web.xml 文件很简单

<listener>
    <listener-class>类全名</listener-class>
</listener>

注解同样很简单,类上配置以下注解即可

@WebListener

终上,使用WEB注解,项目中就不用创建 web.xml 配置文件了。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

J2EE WEB注解 使用语法 的相关文章

随机推荐

  • Java 单例模式

    文章目录 单例模式单例模式Singleton单例模式的代码单例模式代码的分析单例模式的实现 单例模式 单例模式Singleton 当一个类的方法要被大量用户同时调用时 一般用户都会先创建这个类的对象再通过对象调用类中的方法 但是对象是存放在
  • J2EE Servlet 管理机制

    Tomcat 9 Servlet 管理机制 xff08 1 xff09 Servlet 对象 xff0c 通过生命周期托管的方式实现单例设计模式 xff08 2 xff09 默认效果是延迟加载 以 Tomcat9 为例 xff0c 需要在
  • idea 与 Tomcat 有一个美妙的约定

    IntelliJ IDEA 2020 1 2Tomcat 9 0 37 文章目录 一 xff1a Web 容器二 xff1a 下载 TomcatTomcat 容器的文件夹结构 三 xff1a 将 Tomcat 和 IDEA 集成在一起四 x
  • Java 线程 基础知识总结

    线程基础 很不严谨的说 xff0c 线程是什么 xff1f 线程就是为了让很多个东西并发执行 xff0c 大大的提高程序执行的效率啊 三个非常重要的概念 xff1a 程序 xff1a 一组写好了的静态代码块 xff08 就我们写的那些代码玩
  • 模拟银行系统 Java 四份代码(三种交互方式,两种数据存储方式)

    环境 编程语言 xff1a Java 14 0 1IDE xff1a intelliJ IDEA 2020 1 2有 Java demo 涉及到使用 idea 编辑器创建文件 读取文件 xff1b 有关编码问题 xff0c 请参考下图 id
  • Java 模拟数据库连接池 + 模拟ORM框架

    环境 编程语言 xff1a Java 14 0 1数据库 xff1a MySQL 8 0 xff08 用户名与密码都是root xff0c ip及端口是localhost 3306 xff09 JDBC xff1a mysql connec
  • Java 模拟考试系统(Swing + IO)

    编程语言 xff1a Java 14 0 1IDE xff1a intelliJ IDEA 2020 1 2 使用了MVC分层架构思想 xff0c 并且仅涉及JavaSE内容 功能 xff1a 登录 43 考试UI xff1a Swing数
  • Java IO 基础知识总结

    观前提示 xff1a 本文涉及的代码演示部分 xff0c 为了文章的观赏性 xff0c 许多代码演示中有意忽略了导包 异常处理 所谓 IO xff0c I xff08 input xff09 O xff08 output xff09 xff
  • Java 模拟浏览器与服务器之间请求与响应的过程

    环境与MVC分层架构思想 编程语言 xff1a Java 14 0 1IDE xff1a intelliJ IDEA 2020 1 2 V View视图层String html jspC Controller控制层Servlet 控制的是相
  • helm部署相关服务过程中问题记录

    在学习helm部署相关服务过程中出现一些相关问题 xff0c 自己记录并供大家一起学习 xff01 xff01 xff01 问题1 部署helm 获取软件包失败 在通过wget https storage googleapis com ku
  • J2EE JSP 基础知识总结

    Tomcat 9Java Server Page xff08 Java 服务页 xff09 一 xff1a JSP 初识 使用 JSP 文件 JSP 是 HTML 文件与 Java 文件的混合文件 xff0c HTML 文件可以直接通过浏览
  • Java 模拟购物系统(Servlet + JSP + EL + JSTL)

    目的是将后端逻辑 流程 业务写清楚 xff0c 所以前端代码很简陋 xff08 丑 xff09 功能一 xff1a 登录 功能二 xff1a 注册 功能三 xff1a 欢迎界面 功能四 xff1a 商品分类界面 功能五 xff1a 购物界面
  • J2EE EL + JSTL 基础知识总结

    Tomcat 9EL Expression Language xff0c 表达式语言JSTL JSP Standard Tag Library xff0c JSP 标准标签库 JSP 代码并不好写 xff0c 因为包含前端代码与 Java
  • J2EE 文件上传下载

    Tomcat 9 文件上传 文件上传本质上是 I O 读写 客户端 xff08 浏览器 xff09 发送文件使用 HTTP 协议 xff0c 将文件的内容写出去 xff1a 客户端本地输入流 gt 内容 gt 网络输出流服务器 xff08
  • J2EE Filter 基础知识总结

    Tomcat 9 Filter xff08 过滤器 xff09 Tomcat 提供的一个组件 xff0c 类似 Servlet 机制与使用方式是一个特殊的 Servlet过滤什么 什么时候使用 一 xff1a Filter 的基本使用 自己
  • J2EE Listener 浅谈

    Tomcat 9 xff0c 四个组件 Servlet JSP Filter Listener 中 xff0c Listener 是最早加载的 Listener 监听器是 Tomcat 提供的一个组件 xff0c 监听域对象包括 reque
  • Java XML 文件的 DTD 解析规则,DOM 方式解析 XML

    HTML xff0c Hyper Text Markup Language xff0c 超级文本标记 标签 语言 出现目的是服务器给浏览器发送响应信息 xff0c 浏览器按照规则解析语言并进行展示 XML xff0c eXtensible
  • J2EE Cookie 基础知识总结

    Tomcat 9 在讲述 Cookie 之前 xff0c 有必要谈谈 Session session 对象是服务器管理的 xff08 session对象存储在服务器端 xff09 session 对象是无状态的 xff08 每一个sessi
  • Java ThreadLocal 管理机制

    ThreadLocal 类在线程中的作用相当于 Session xff0c 其常用方法有三个 xff1a set get remove ThreadLocal 源码 set span class token keyword public s
  • J2EE WEB注解 使用语法

    Tomcat 9 WEB 容器给我们提供了很多组件 xff0c 比如 xff1a Servlet JSP Filter Listener JSP 使用特殊 xff0c WEB 容器内部的 web xml 配置文件替我们已做好配置并找到解析引