当前位置:   article > 正文

IDEA2023创建MavenWeb项目,并搭建Servlet工程_idea2023创建maven项目

idea2023创建maven项目

系统相关:

IntelliJ IDEA 2022.3.3

jdk v17+

tomcat v10.1.7

1、新建项目

我的是jdk17,选择电脑对应的jdk版本,后面涉及到这个的最好都保持一致。

2、创建出来的项目是没有java目录的,右键新建一个。

3、创建一个MyServlet.java类

  1. package com.amos.servlet;
  2. import jakarta.servlet.ServletException;
  3. import jakarta.servlet.annotation.WebServlet;
  4. import jakarta.servlet.http.HttpServlet;
  5. import jakarta.servlet.http.HttpServletRequest;
  6. import jakarta.servlet.http.HttpServletResponse;
  7. import java.io.IOException;
  8. /**
  9. * @author Amos
  10. * @date 2023/4/13
  11. */
  12. @WebServlet(name = "MyServlet", urlPatterns = "/myservlet")
  13. public class MyServlet extends HttpServlet {
  14. @Override
  15. protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
  16. System.out.println("doGet====================");
  17. }
  18. @Override
  19. protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
  20. System.out.println("doPost====================");
  21. }
  22. }

4、添加Servlet的依赖库,这里需要注意下,别弄错了!

Tomcat 10是第一个不再使用javax.servlet和相关包的版本。在Tomcat 10中,Servlet API已经迁移到了Jakarta EE命名空间(jakarta.servlet)。这是因为Java EE已经转移到了Eclipse基金会,并更名为Jakarta EE。因此,Servlet API也需要进行相应的更改。

在Tomcat 10之前的版本中,Servlet API仍然使用javax.servlet和相关包。但是,如果您使用的是Tomcat 10或更高版本,则需要使用jakarta.servlet和相关包。如果您的应用程序使用旧的javax.servlet包,则需要将其迁移到新的jakarta.servlet包。

  1. <!--tomcat 10+-->
  2. <dependency>
  3. <groupId>jakarta.servlet</groupId>
  4. <artifactId>jakarta.servlet-api</artifactId>
  5. <version>5.0.0</version>
  6. <scope>provided</scope>
  7. </dependency>
  8. <!--tomcat 10之前版本-->
  9. <dependency>
  10. <groupId>javax.servlet</groupId>
  11. <artifactId>javax.servlet-api</artifactId>
  12. <version>4.0.1</version>
  13. </dependency>

5、编辑configuration文件,关联到本地已安装的tomcat,配置相关内容

6、这样直接运行可能会报如下错误,需要指定一下编译版本

在pom.xml文件中添加下面一段内容

  1. <properties>
  2. <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
  3. <maven.compiler.source>17</maven.compiler.source>
  4. <maven.compiler.target>17</maven.compiler.target>
  5. </properties>

在Project Struture中选择一下Language level,这里为了保持一致,我选了17版本。

 最后,访问http://localhost:8080/servlet_test_war/myservlet,可以在控制台看到doGet方法已经被调用了。

注意:当添加完Artifact后,即servlet-test:war,在编辑configuration的server下的url,会自动给从http://localhost:8080变成http://localhost:8080/servlet_test_war/,所以最终访问路径就变成了http://localhost:8080/servlet_test_war/myservlet。

完结!

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/木道寻08/article/detail/860716
推荐阅读
相关标签
  

闽ICP备14008679号