IDEA2023创建MavenWeb项目并搭建Servlet工程的全过程

 更新时间:2023年10月23日 16:09:08   作者:aiyakuaile  
Maven提供了大量不同类型的Archetype模板,通过它们可以帮助用户快速的创建Java项目,这篇文章主要给大家介绍了关于IDEA2023创建MavenWeb项目并搭建Servlet工程的相关资料,需要的朋友可以参考下

系统相关:

IntelliJ IDEA 2022.3.3

jdk v17+

tomcat v10.1.7

1、新建项目

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

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

3、创建一个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的依赖库,这里需要注意下,别弄错了!

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包。

<!--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文件,关联到本地已安装的tomcat,配置相关内容

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

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

  <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,可以在控制台看到doGet方法已经被调用了。

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

完结!

总结

到此这篇关于IDEA2023创建MavenWeb项目并搭建Servlet工程的文章就介绍到这了,更多相关IDEA创建MavenWeb项目搭建Servlet内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 关于springmvc报错404的问题

    关于springmvc报错404的问题

    这篇文章主要介绍了关于springmvc报错404的问题,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-03-03
  • 浅谈Java中static和非static的区别

    浅谈Java中static和非static的区别

    这篇文章主要介绍了Java中static和非static的相关内容,小编觉得还是很不错的,这里分享给大家,需要的朋友可以参考下。
    2017-10-10
  • MyBatis-Plus条件构造器Wrapper应用实例

    MyBatis-Plus条件构造器Wrapper应用实例

    QueryWrapper是用于查询的Wrapper条件构造器,可以通过它来构建SELECT语句中的WHERE条件,这篇文章主要介绍了MyBatis-Plus数据表操作条件构造器Wrapper,需要的朋友可以参考下
    2023-09-09
  • Java Synchronize下的volatile关键字详解

    Java Synchronize下的volatile关键字详解

    这篇文章主要介绍了Java Synchronize下的volatile关键字详解,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-03-03
  • springboot调用webservice-soap接口的实现

    springboot调用webservice-soap接口的实现

    接口协议目前广泛使用的有http协议和RPC协议和webservice,本文主要介绍了springboot调用webservice-soap接口的实现,具有一定的参考价值,感兴趣的可以了解一下
    2024-03-03
  • 为了多次读取ServletInputStream引发的一系列问题

    为了多次读取ServletInputStream引发的一系列问题

    这篇文章主要介绍了为了多次读取ServletInputStream引发的一系列问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-10-10
  • idea如何生成springboot单元测试用例

    idea如何生成springboot单元测试用例

    这篇文章主要介绍了idea生成springboot单元测试用例,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-08-08
  • java8时间 yyyyMMddHHmmss格式转为日期的代码

    java8时间 yyyyMMddHHmmss格式转为日期的代码

    这篇文章主要介绍了java8时间 yyyyMMddHHmmss格式转为日期的代码,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-09-09
  • Java依赖倒转原则_动力节点Java学院整理

    Java依赖倒转原则_动力节点Java学院整理

    这篇文章主要介绍了Java依赖倒转原则的定义及问题由来解决方案,感兴趣的朋友一起看看吧
    2017-08-08
  • MyBatis-Plus动态返回实体类示例详解

    MyBatis-Plus动态返回实体类示例详解

    这篇文章主要为大家介绍了MyBatis-Plus动态返回实体类示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-07-07

最新评论