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

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

   数栈君   发表于 2024-05-29 14:54  2363  0

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");
}
}
1
2
3
4
5
6
7
8
9
10
11
12
13
使用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");
}
}

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
2,使用tomcat部署 jakarta.servlet
tomcat10以后才支持 jakarta.servlet,所以需要下载tomcat10以后的版本

这里使用的tomcat是10.1.18,而tomcat10.1版本需要jdk11及以后版本。所以这里使用的jdk版本是jdk11。


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



2.2导入依赖



jakarta.servlet
jakarta.servlet-api
5.0.0-M1
provided


junit
junit
4.11
test


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
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!");
}
}

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
最后项目目录如下:


2.4配置tomcat



点击configure,然后选择自己的tomcat目录



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

配置端口号


需要部署的项目

选择对应的项目


点击启动即可

启动之后我们访问:http://localhost:8060/hello


本文系转载,版权归原作者所有,转载自公众号 锦缎 ,如若侵权请联系我们进行删除!  


《行业指标体系白皮书》下载地址:https://www.dtstack.com/resources/1057/?src=bbs

《数据治理行业实践白皮书》下载地址:https://www.dtstack.com/resources/1001/?src=bbs

《数栈V6.0产品白皮书》下载地址:https://www.dtstack.com/resources/1004/?src=bbs

想了解或咨询更多有关袋鼠云大数据产品、行业解决方案、客户案例的朋友,浏览袋鼠云官网:https://www.dtstack.com/?src=bbs


同时,欢迎对大数据开源项目有兴趣的同学加入「袋鼠云开源框架钉钉技术群」,交流最新开源技术信息,群号码:30537511,项目地址:https://github.com/DTStack

0条评论
社区公告
  • 大数据领域最专业的产品&技术交流社区,专注于探讨与分享大数据领域有趣又火热的信息,专业又专注的数据人园地

最新活动更多
微信扫码获取数字化转型资料
钉钉扫码加入技术交流群