Tomcat10版本避坑

* Tomcat版本选择**

Tomcat 服务器是一个免费的开放源代码的Web 应用服务器,属于轻量级应用服务器,在中小型系统和 并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP 程序的首选。并且Tomcat的版本选择尤其重要,目前Tomcat最新版本为10.0.8.但是最新版本10对比tomcat9发生了很重要的变化

在这里插入图片描述

Tomcat 10以后的用户应该知道,作为将Java EE转移到Eclipse Foundation的一部分,从Java EE转移到Jakarta EE的结果是,所有实现的api的主要包已经从javax变成jakarta。

影响了JSP标准标签库(JSTL)的正常使用(JSTL太老了,它是通过旧的Servlet和jsp的包名找对应的方法的,但是新版的tomcat10的包包名改了它就找不到了),建议将Tomcat版本降为9使用javax的jar包。版本并不是越新越好,老版本如果能稳定就不要用最新版本。

Maven仓库依赖

Maven的核心思想:约定大于配置

地址:https://mvnrepository.com/

请添加图片描述

下面是Tomcat9在web开发中常用的Maven依赖

<dependencies>
    <!--Servlet依赖-->
    <dependency>
      <groupId>javax.servlet</groupId>
      <artifactId>javax.servlet-api</artifactId>
      <version>3.1.0</version>
      <scope>provided</scope>
    </dependency>

    <!--Jsp依赖-->
    <dependency>
      <groupId>javax.servlet.jsp</groupId>
      <artifactId>javax.servlet.jsp-api</artifactId>
      <version>2.2.1</version>
      <scope>provided</scope>
    </dependency>
    <!--JSTL表达式依赖-->
    <dependency>
      <groupId>javax.servlet.jsp.jstl</groupId>
      <artifactId>javax.servlet.jsp.jstl-api</artifactId>
      <version>1.2.1</version>
    </dependency>

    <!--standard标签库-->
    <dependency>
      <groupId>taglibs</groupId>
      <artifactId>standard</artifactId>
      <version>1.1.2</version>
    </dependency>

<dependency>
       <!--Mysql驱动包-->
      <groupId>mysql</groupId>
      <artifactId>mysql-connector-java</artifactId>
      <version>8.0.25</version>
    </dependency>

<dependency>
       <!--无需main方法测试-->
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>4.11</version>
      <scope>test</scope>
    </dependency>

  </dependencies>

Tomcat10在web开发中常用的Maven依赖(JSTL标签库的使用可能出问题)

<dependency>
            <groupId>jakarta.servlet</groupId>
            <artifactId>jakarta.servlet-api</artifactId>
            <version>4.0.4</version>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>jakarta.servlet.jsp</groupId>
            <artifactId>jakarta.servlet.jsp-api</artifactId>
            <version>2.3.6</version>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>jakarta.servlet.jsp.jstl</groupId>
            <artifactId>jakarta.servlet.jsp.jstl-api</artifactId>
            <version>2.0.0</version>
        </dependency>
        <dependency>
            <groupId>taglibs</groupId>
            <artifactId>standard</artifactId>
            <version>1.1.2</version>
        </dependency>

版权声明:本文为qq_50596778原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。