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内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Java分布式锁几种常见的实现方式

    Java分布式锁几种常见的实现方式

    在java的分布式系统中,有时候会出现不同的服务操作同一个资源的情况,如交易系统和充值系统都要操作用户账户,分布式锁为解决分布式系统中多个应用同时访问同一个资源的问题,这篇文章主要介绍了Java分布式锁几种常见的实现方式,需要的朋友可以参考下
    2025-07-07
  • Java中16条的代码规范

    Java中16条的代码规范

    如何更规范化编写Java 代码的重要性想必毋需多言,其中最重要的几点当属提高代码性能、使代码远离Bug、令代码更优雅,
    2021-07-07
  • IDEA包下不能建包问题的解决过程

    IDEA包下不能建包问题的解决过程

    在IDEA中,新建包时出现问题,是因为勾选了“Compact Middle Packages”选项,导致包结构 becoming紧凑型,取消该选项后,包结构恢复正常
    2026-03-03
  • 微信公众号服务号推送模板消息设置方法(后端java)

    微信公众号服务号推送模板消息设置方法(后端java)

    公众号时经常会需要写推送消息,从网上找了一大堆,都不是很全,所以这篇文章主要介绍了微信公众号服务号推送模板消息设置方法的相关资料,需要的朋友可以参考下
    2023-02-02
  • Java并发之ReentrantLock类源码解析

    Java并发之ReentrantLock类源码解析

    这篇文章主要为大家详细介绍了Java并发系列之ReentrantLock源码,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-03-03
  • 如何获取java类中的属性注释

    如何获取java类中的属性注释

    在开发中,有时需要获取Java类的属性注释,尤其是当JPA生成的表缺少注释时,可以通过jdk自带的tools.jar工具包来实现,方法类似于生成javadoc文档,需要在pom.xml文件中导入tools.jar的依赖,该jar文件一般位于JAVA_HOME/lib目录下
    2024-09-09
  • Java中类变量和类方法的基本使用

    Java中类变量和类方法的基本使用

    这篇文章主要介绍了Java中类变量和类方法的基本使用,类变量也叫静态变量/静态属性,是该类的所有对象共享的变量,任何一个该类的对象访问它时,取到的都是相同的值,同样任何一个该类的对象去修改它时,修改的也是同一个变量,需要的朋友可以参考下
    2023-07-07
  • 微信开发准备第一步 Maven仓库管理新建WEB项目

    微信开发准备第一步 Maven仓库管理新建WEB项目

    这篇文章主要为大家详细介绍了微信开发准备第一步,Maven仓库管理新建WEB项目,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-04-04
  • maven springboot如何将jar包打包到指定目录

    maven springboot如何将jar包打包到指定目录

    这篇文章主要介绍了maven springboot如何将jar包打包到指定目录,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-12-12
  • 使用java采集京东商城区划数据示例

    使用java采集京东商城区划数据示例

    这篇文章主要介绍了java采集京东的全国区划数据示例,保存成json形式,如想转换到数据库只需反序列化为对象保存到数据库即可
    2014-03-03

最新评论