1,javax.servlet 和 jakarta.servlet的關(guān)系
javax.servlet 和 jakarta.servlet 是 Java Servlet API 的兩個版本。
Java Servlet API 是由 Sun Microsystems(現(xiàn)在是 Oracle)開發(fā)和維護的,其包名以 javax.servlet 開頭。從 Java EE 8 開始,Servlet API 的維護權(quán)轉(zhuǎn)交給了 Eclipse Foundation 的 Jakarta EE 社區(qū),因此,在最新的 Jakarta EE 版本中,Servlet API 的包名已經(jīng)更改為 jakarta.servlet。
javax.servlet 是舊版本的包名,而 jakarta.servlet 是新版本的包名。這個變化是為了反映 Jakarta EE 作為一個獨立的開源項目,并且將標準 Java 技術(shù)規(guī)范的發(fā)展移交給了 Jakarta EE 社區(qū)。
雖然包名發(fā)生了變化,但是 Servlet API 的核心功能和用法并沒有大的改變。大多數(shù)代碼可以無縫地遷移到 jakarta.servlet 包下,只需要修改導入語句和相應(yīng)的依賴。
所以,javax.servlet 和 jakarta.servlet 的區(qū)別僅在于包名的變化,代表不同版本的 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創(chuàng)建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后配置端口號和需要部署的項目
配置端口號
需要部署的項目
選擇對應(yīng)的項目
點擊啟動即可
啟動之后我們訪問:http://localhost:8060/hello文章來源:http://www.zghlxwxcb.cn/news/detail-808606.html
文章來源地址http://www.zghlxwxcb.cn/news/detail-808606.html
到了這里,關(guān)于javax.servlet 和 jakarta.servlet的關(guān)系和使用tomcat部署 jakarta.servlet的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!