javax.servlet 和 jakarta.servlet的关系和使用tomcat部署 jakarta.servlet

这篇具有很好参考价值的文章主要介绍了javax.servlet 和 jakarta.servlet的关系和使用tomcat部署 jakarta.servlet。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1,javax.servlet 和 jakarta.servlet的关系

javax.servlet 和 jakarta.servlet 是 Java Servlet API 的两个版本。

Java Servlet API 是由 Sun Microsystems(现在是 Oracle)开发和维护的,其包名以 javax.servlet 开头。从 Java EE 8 开始,Servlet API 的维护权转交给了 Eclipse Foundation 的 Jakarta EE 社区,因此,在最新的 Jakarta EE 版本中,Servlet API 的包名已经更改为 jakarta.servlet。

javax.servlet 是旧版本的包名,而 jakarta.servlet 是新版本的包名。这个变化是为了反映 Jakarta EE 作为一个独立的开源项目,并且将标准 Java 技术规范的发展移交给了 Jakarta EE 社区。

虽然包名发生了变化,但是 Servlet API 的核心功能和用法并没有大的改变。大多数代码可以无缝地迁移到 jakarta.servlet 包下,只需要修改导入语句和相应的依赖。

所以,javax.servlet 和 jakarta.servlet 的区别仅在于包名的变化,代表不同版本的 Java Servlet API,也就意味着在代码中使用javax.servlet包或者使用jakarta.servlet包,而不需要修改代码。
如:
使用javax.servlet 包

import javax.servlet.*;
import javax.servlet.http.*;
public class MyServlet extends HttpServlet {
    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        resp.getWriter().write("1111");
    }

    @Override
    protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        resp.getWriter().write("2222");
    }
}

使用jakarta.servlet包

import jakarta.servlet.ServletException;
import jakarta.servlet.annotation.WebServlet;
import jakarta.servlet.http.HttpServlet;
import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletResponse;

public class MyServlet extends HttpServlet {
    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        resp.getWriter().write("1111");
    }

    @Override
    protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        resp.getWriter().write("2222");
    }
}

2,使用tomcat部署 jakarta.servlet

tomcat10以后才支持 jakarta.servlet,所以需要下载tomcat10以后的版本
javax.servlet 和 jakarta.servlet的关系和使用tomcat部署 jakarta.servlet,java,servlet,tomcat,java
这里使用的tomcat是10.1.18,而tomcat10.1版本需要jdk11及以后版本。所以这里使用的jdk版本是jdk11。
javax.servlet 和 jakarta.servlet的关系和使用tomcat部署 jakarta.servlet,java,servlet,tomcat,java

2.1新建项目

使用Maven模板新建一个Web项目

javax.servlet 和 jakarta.servlet的关系和使用tomcat部署 jakarta.servlet,java,servlet,tomcat,java

2.2导入依赖
    <dependencies>
        <!-- 添加servlet5.0依赖 -->
        <dependency>
            <groupId>jakarta.servlet</groupId>
            <artifactId>jakarta.servlet-api</artifactId>
            <version>5.0.0-M1</version>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.11</version>
            <scope>test</scope>
        </dependency>
    </dependencies>
2.3创建Servlet
import jakarta.servlet.ServletException;
import jakarta.servlet.annotation.WebServlet;
import jakarta.servlet.http.HttpServlet;
import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletResponse;

/**
 * @Author @Chenxc
 * @Date 2024.01.11 9:22
 */
@WebServlet(name = "myServlet",
        urlPatterns = "/hello"
)
public class MyServlet extends HttpServlet {
    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        resp.getWriter().write("Hello!");
    }

    @Override
    protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        resp.getWriter().write("Hello!");
    }
}

最后项目目录如下:
javax.servlet 和 jakarta.servlet的关系和使用tomcat部署 jakarta.servlet,java,servlet,tomcat,java

2.4配置tomcat

javax.servlet 和 jakarta.servlet的关系和使用tomcat部署 jakarta.servlet,java,servlet,tomcat,java
javax.servlet 和 jakarta.servlet的关系和使用tomcat部署 jakarta.servlet,java,servlet,tomcat,java

点击configure,然后选择自己的tomcat目录
javax.servlet 和 jakarta.servlet的关系和使用tomcat部署 jakarta.servlet,java,servlet,tomcat,java
javax.servlet 和 jakarta.servlet的关系和使用tomcat部署 jakarta.servlet,java,servlet,tomcat,java

选择后tomcat后配置端口号和需要部署的项目

配置端口号
javax.servlet 和 jakarta.servlet的关系和使用tomcat部署 jakarta.servlet,java,servlet,tomcat,java

需要部署的项目
javax.servlet 和 jakarta.servlet的关系和使用tomcat部署 jakarta.servlet,java,servlet,tomcat,java
选择对应的项目
javax.servlet 和 jakarta.servlet的关系和使用tomcat部署 jakarta.servlet,java,servlet,tomcat,java
javax.servlet 和 jakarta.servlet的关系和使用tomcat部署 jakarta.servlet,java,servlet,tomcat,java
点击启动即可
javax.servlet 和 jakarta.servlet的关系和使用tomcat部署 jakarta.servlet,java,servlet,tomcat,java
启动之后我们访问:http://localhost:8060/hello

javax.servlet 和 jakarta.servlet的关系和使用tomcat部署 jakarta.servlet,java,servlet,tomcat,java文章来源地址https://www.toymoban.com/news/detail-808606.html

到了这里,关于javax.servlet 和 jakarta.servlet的关系和使用tomcat部署 jakarta.servlet的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包