tomcat版本和servlet 的版本,jsp的版本和el的版本的關係圖以及maven 依賴

Servlet , JSP 規範版本和tomcat 版本之前的關係圖

Servlet Spec JSP Spec JSTL(jsp標準標籤庫) EL Spec WebSocket Spec jdk Apache Tomcat Version JavaEE Version
4.0 2.3 1.2 3.0 1.1 JDK8+ tomcat9.x+以上的配置 Java EE 8
3.1 2.3 1.2 3.0 1.1 JDK7+ tomcat8.x+以上的配置 Java EE 7
3.0 2.2 1.2 2.2 1.1 JDK6+(使用websocket需要JDK7+) tomcat7.x Java EE 6
2.5 2.1 1.2 2.1 jdk5+ tomcat6 Java EE 5

tomcat7.x servlet 3.0 JSP 2.2, EL 2.2 maven 依賴

依賴

 <!-- Servlet3.0 begin ,servlet3.0
          tomcat 7.x/Java EE 6 === >> Servlet 3.0 , JSP 2.2, EL 2.2 , WebSocket 1.1 Spec.
         runtime  -->
        <dependency>
            <groupId>javax.servlet</groupId>
            <artifactId>javax.servlet-api</artifactId>
            <version>3.0.1</version>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>javax.servlet.jsp</groupId>
            <artifactId>jsp-api</artifactId>
            <version>2.2</version>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>javax.el</groupId>
            <artifactId>el-api</artifactId>
            <version>2.2</version>
            <scope>provided</scope>
        </dependency>
        <!-- 導入java ee jar 包
            這個包是什麼功能的? 不用引用也是可以的,web 應用還是可以起來的。
            如果你添加進來必須引用 7.0 版本
         -->
       <!-- <dependency>
            <groupId>javax</groupId>
            <artifactId>javaee-api</artifactId>
            <version>7.0</version>
        </dependency>-->
        <!-- 導入java ee jar 包 -->
        <!-- JSTL begin -->
        <dependency>
            <groupId>javax.servlet</groupId>
            <artifactId>jstl</artifactId>
            <version>1.2</version>
        </dependency>
        <!-- JSTL stop -->
        <dependency>
            <groupId>taglibs</groupId>
            <artifactId>standard</artifactId>
            <version>1.1.2</version>
        </dependency>
        <!-- Servlet3 end -->

對應的web.xml文件

<?xml version="1.0" encoding="UTF-8"?>
<!-- Servlet 3.0 版本 JSP 2.2, EL 2.2  -->
<web-app
        xmlns="http://java.sun.com/xml/ns/javaee"
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
        version="3.0">
  <display-name>Archetype Created Web Application</display-name>
</web-app>

測試

通過插件啓動tomcat。

通過將war包賦值到webapps目錄下手動啓動 都是可以啓動的

tomcat 8.x 版本 servlet 3.1 JSP 2.3, EL 3.0 maven 依賴(待測試)

依賴

<dependency>
    <groupId>javax.servlet</groupId>
    <artifactId>javax.servlet-api</artifactId>
    <version>3.1.0</version>
    <scope>provided</scope>
</dependency>
<dependency>
    <groupId>javax.servlet.jsp</groupId>
    <artifactId>javax.servlet.jsp-api</artifactId>
    <version>2.3.0</version>
    <scope>provided</scope>
</dependency>
<dependency>
    <groupId>javax.el</groupId>
    <artifactId>javax.el-api</artifactId>
    <version>3.0.0</version>
    <scope>provided</scope>
</dependency>
<dependency>
    <groupId>javax.servlet</groupId>
    <artifactId>jstl</artifactId>
    <version>1.2</version>
</dependency>

對應的web.xml文件支持

<?xml version="1.0" encoding="UTF-8"?>
<web-app 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_3_1.xsd"
         version="3.1" xmlns="http://xmlns.jcp.org/xml/ns/javaee">

參考:

Apache Tomcat Versions

Web Application Specifications

Java Platform, Enterprise Edition

The Story of JEE modules

Maven dependency for Servlet 3.0 API?

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章