IDEA2023創(chuàng)建MavenWeb項(xiàng)目并搭建Servlet工程的全過程
系統(tǒng)相關(guān):
IntelliJ IDEA 2022.3.3
jdk v17+
tomcat v10.1.7
1、新建項(xiàng)目
我的是jdk17,選擇電腦對(duì)應(yīng)的jdk版本,后面涉及到這個(gè)的最好都保持一致。
2、創(chuàng)建出來的項(xiàng)目是沒有java目錄的,右鍵新建一個(gè)。
3、創(chuàng)建一個(gè)MyServlet.java類
package com.amos.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; import java.io.IOException; /** * @author Amos * @date 2023/4/13 */ @WebServlet(name = "MyServlet", urlPatterns = "/myservlet") public class MyServlet extends HttpServlet { @Override protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { System.out.println("doGet===================="); } @Override protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { System.out.println("doPost===================="); } }
4、添加Servlet的依賴庫,這里需要注意下,別弄錯(cuò)了!
Tomcat 10是第一個(gè)不再使用javax.servlet和相關(guān)包的版本。在Tomcat 10中,Servlet API已經(jīng)遷移到了Jakarta EE命名空間(jakarta.servlet)。這是因?yàn)镴ava EE已經(jīng)轉(zhuǎn)移到了Eclipse基金會(huì),并更名為Jakarta EE。因此,Servlet API也需要進(jìn)行相應(yīng)的更改。
在Tomcat 10之前的版本中,Servlet API仍然使用javax.servlet和相關(guān)包。但是,如果您使用的是Tomcat 10或更高版本,則需要使用jakarta.servlet和相關(guān)包。如果您的應(yīng)用程序使用舊的javax.servlet包,則需要將其遷移到新的jakarta.servlet包。
<!--tomcat 10+--> <dependency> <groupId>jakarta.servlet</groupId> <artifactId>jakarta.servlet-api</artifactId> <version>5.0.0</version> <scope>provided</scope> </dependency> <!--tomcat 10之前版本--> <dependency> <groupId>javax.servlet</groupId> <artifactId>javax.servlet-api</artifactId> <version>4.0.1</version> </dependency>
5、編輯configuration文件,關(guān)聯(lián)到本地已安裝的tomcat,配置相關(guān)內(nèi)容
6、這樣直接運(yùn)行可能會(huì)報(bào)如下錯(cuò)誤,需要指定一下編譯版本
在pom.xml文件中添加下面一段內(nèi)容
<properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <maven.compiler.source>17</maven.compiler.source> <maven.compiler.target>17</maven.compiler.target> </properties>
在Project Struture中選擇一下Language level,這里為了保持一致,我選了17版本。
最后,訪問http://localhost:8080/servlet_test_war/myservlet,可以在控制臺(tái)看到doGet方法已經(jīng)被調(diào)用了。
注意:當(dāng)添加完Artifact后,即servlet-test:war,在編輯configuration的server下的url,會(huì)自動(dòng)給從http://localhost:8080變成http://localhost:8080/servlet_test_war/,所以最終訪問路徑就變成了http://localhost:8080/servlet_test_war/myservlet。
完結(jié)!
總結(jié)
到此這篇關(guān)于IDEA2023創(chuàng)建MavenWeb項(xiàng)目并搭建Servlet工程的文章就介紹到這了,更多相關(guān)IDEA創(chuàng)建MavenWeb項(xiàng)目搭建Servlet內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- 如何解決創(chuàng)建maven工程時(shí),產(chǎn)生“找不到插件的錯(cuò)誤”問題
- idea創(chuàng)建maven父子工程導(dǎo)致子工程無法導(dǎo)入父工程依賴
- 使用IDEA創(chuàng)建maven父子工程項(xiàng)目 (圖文)
- IDEA創(chuàng)建Maven工程Servlet的詳細(xì)教程
- idea中創(chuàng)建maven的Javaweb工程并進(jìn)行配置(圖文教程)
- idea中創(chuàng)建多module的maven工程的方法
- idea 創(chuàng)建 maven web 工程流程(圖文教程)
- 詳解eclipse創(chuàng)建maven項(xiàng)目實(shí)現(xiàn)動(dòng)態(tài)web工程完整示例
- Eclipse中使用Maven創(chuàng)建Java Web工程的實(shí)現(xiàn)方式
- Apache Maven創(chuàng)建工程的實(shí)現(xiàn)示例
相關(guān)文章
Java虛擬機(jī)裝載和初始化一個(gè)class類代碼解析
這篇文章的主要內(nèi)容是Java虛擬機(jī)裝載和初始化一個(gè)class類的代碼解析,包括介紹了裝載和初始化的時(shí)機(jī)與方式,需要的朋友可以參考下。2017-09-09Java中實(shí)現(xiàn)高清圖片壓縮的兩種方案(最新推薦)
文章首先介紹了Java中進(jìn)行高清圖片壓縮的基本方法,包括使用Java標(biāo)準(zhǔn)庫ImageIO和第三方庫ApacheCommonsCompress,通過示例代碼展示了如何調(diào)整圖像質(zhì)量和使用第三方工具來壓縮圖片文件,感興趣的朋友跟隨小編一起看看吧2025-01-01SpringBoot詳解如何進(jìn)行整合Druid數(shù)據(jù)源
Druid是阿里開發(fā)的一款開源的數(shù)據(jù)源,被很多人認(rèn)為是Java語言中最好的數(shù)據(jù)庫連接池,本文主要介紹了SpringBoot整合Druid數(shù)據(jù)源的方法實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2022-06-06Java基于Netty實(shí)現(xiàn)Http server的實(shí)戰(zhàn)
本文主要介紹了Java基于Netty實(shí)現(xiàn)Http server的實(shí)戰(zhàn),文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-02-02mybatis+springboot發(fā)布postgresql數(shù)據(jù)的實(shí)現(xiàn)
本文主要介紹了mybatis+springboot發(fā)布postgresql數(shù)據(jù)的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-11-11