当前位置:首页 » 《我的小黑屋》 » 正文

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

18 人参与  2024年03月29日 18:01  分类 : 《我的小黑屋》  评论

点击全文阅读


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以后的版本
在这里插入图片描述
这里使用的tomcat是10.1.18,而tomcat10.1版本需要jdk11及以后版本。所以这里使用的jdk版本是jdk11。
在这里插入图片描述

2.1新建项目

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

在这里插入图片描述

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!");    }}

最后项目目录如下:
在这里插入图片描述

2.4配置tomcat

在这里插入图片描述
在这里插入图片描述

点击configure,然后选择自己的tomcat目录
在这里插入图片描述
在这里插入图片描述

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

配置端口号
在这里插入图片描述

需要部署的项目
在这里插入图片描述
选择对应的项目
在这里插入图片描述
在这里插入图片描述
点击启动即可
在这里插入图片描述
启动之后我们访问:http://localhost:8060/hello

在这里插入图片描述


点击全文阅读


本文链接:http://m.zhangshiyu.com/post/87854.html

<< 上一篇 下一篇 >>

  • 评论(0)
  • 赞助本站

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

关于我们 | 我要投稿 | 免责申明

Copyright © 2020-2022 ZhangShiYu.com Rights Reserved.豫ICP备2022013469号-1