在IDEA中手动创建基于Maven的Servlet项目

近期在自学javaweb的内容,记录学习过程。欢迎大家讨论交流、批评指正。

java版本:11;IDEA版本:2021.2;maven版本:3.8.3;Tomcat版本:10.0

创建新项目

打开IDEA,选择【新建项目】

创建项目1

设置项目名称和路径

创建项目2

先将【src】目录删除

创建项目3

配置pom.xml

在pom.xml中添加<dependencies>标签,在Maven Repository(Maven仓库)中搜索jakarta.servletjakarta.servlet.jsp-api(Tomcat10以上版本的servlet依赖包名是jakarta.servlet)(依赖包众多,注意检查图中框出的内容是否正确)

创建项目4

创建项目5

找到Maven依赖(此处以jakarta.servlet为例,其他依赖包操作相同)

创建项目6

创建项目7

创建项目8

将内容粘贴到pom.xml的<dependencies>标签下,并更新配置

创建项目9

点击更新后等待IDEA下载依赖,成功后可以看到项目Meven标签页中项目的依赖项下出现了我们导入的依赖

创建项目10

创建子工程

在项目中添加新模块

创建项目11

创建项目12

设置子工程名称

创建项目13

设置maven及其设置文件和仓库路径

创建项目14

点击【完成】等待项目创建完成。

配置子工程

我们发现子工程的依赖项没有继承父工程,此时我们打开父工程的pom文件检查是否在<modules>标签中标明了子工程,打开子工程的pom文件检查是否在<parent>标签中标明父工程。

创建项目15

打开父工程的pom文件,看到<modules>标签标明了子工程

创建项目16

打开子工程的pom文件,发现没有<parent>标签,我们添加标签到文件中(注意检查每一个标签值是否正确)

<parent>
    <!-父工程工件ID-->
    <artifactId>test</artifactId>
    <!-父工程组ID-->
    <groupId>org.example</groupId>
    <!-父工程版本-->
    <version>1.0-SNAPSHOT</version>
</parent>

修改完成后更新配置,可以看到子工程继承了父工程的依赖

创建项目23

在子工程【main】目录下创建目录【java】和【resources】。将【java】目录标记为 Source Roots;将【resources】目录标记为 Resource Roots

创建项目17

创建项目18

(可选)在子工程的【src】目录下创建【test】目录,再在【test】目录下创建【java】和【resources】目录,将【java】目录标记为 Test Source Roots;将【resources】目录标记为 Test Resource Roots

创建项目19

创建项目20

在标记目录时也可以在【项目结构】中标记。

顶部工具栏【文件】 --> 【项目结构】打开项目结构设置,选择【模块】,选择子工程,选择【源】,在此页面中可以选择目录,在上方的【标记为:】选择需要标记的目录类型

创建项目21

创建项目22

配置Tomcat

创建项目24

创建项目25

创建项目26

创建项目27

创建项目28

在【main】 --> 【java】文件夹下添加java类文件,让该类继承HttpServlet

创建项目29

至此,项目创建完毕

创建项目30

### 回答1: 在创建Maven项目时,如果没有添加servlet-api依赖,可能会出现无法编译和运行Web应用程序的问题。这是因为servlet-api是一组Java类和接口,用于开发Servlet程序。如果没有这些类和接口,Java编译器将无法识别HttpServletRequest和HttpServletResponse等Servlet相关的类和方法。 要解决这个问题,可以手动添加servlet-api依赖。在pom.xml文件,添加以下依赖: ``` <dependency> <groupId>javax.servlet</groupId> <artifactId>servlet-api</artifactId> <version>2.5</version> </dependency> ``` 这将让Maven自动下载并包含所需的servlet-api JAR文件。如果使用了其他版本的servlet-api,则需要相应地更改版本号。 另外,可以选择使用Web项目模板来创建Maven项目。这将自动包括servlet-api依赖项,从而避免了手动添加依赖项的步骤。在Eclipse和IntelliJ IDEA等现代IDE,都提供了Web项目模板来简化Web应用程序的创建和管理。 总之,为了顺利编译和运行Web应用程序,需要在Maven项目添加servlet-api依赖项。可以手动添加依赖项,也可以使用Web项目模板来自动添加依赖项。 ### 回答2: 在使用IDEA创建Maven项目时,可能会出现没有servlet-api的情况。这是因为servlet-api不是Maven默认依赖的部分。如果需要在项目使用servlet相关的API,需要手动添加servlet-api的依赖。 解决此问题的步骤如下: 第1步:在pom.xml文件添加servlet-api依赖。 在pom.xml文件添加以下依赖: ```xml <dependencies> <dependency> <groupId>javax.servlet</groupId> <artifactId>javax.servlet-api</artifactId> <version>4.0.1</version> <scope>provided</scope> </dependency> </dependencies> ``` 第2步:更新项目Maven项目,应该从Maven Projects面板更新项目以让Maven解析新依赖项。 第3步:重新构建项目 在更新项目之后,应该重新构建项目以确保servlet-api包已包含在项目。重新构建可以通过执行以下操作完成: - 选择“Build”菜单; - 选择“Rebuild Project”选项。 第4步:使用servlet API 在添加依赖和重新构建项目后,可以在项目使用servlet API了。 总结:在使用IDEA创建Maven项目时,如果需要使用servlet API,需要手动添加servlet-api的依赖。添加依赖项、更新项目、重新构建项目后,即可使用servlet API了。 ### 回答3: 当我们使用IDEA创建一个Maven项目时,会发现servlet-api并没有被包含在项目。这是因为servlet-api是JavaEE的标准,而Maven项目入门模板是基于JavaSE的,没有包含这一扩展。 那么,如何解决这个问题呢?下面是具体的解决方案: 1. 手动添加servlet-api依赖 可以在项目的pom.xml文件手动添加servlet-api依赖,如下所示: ``` <dependency> <groupId>javax.servlet</groupId> <artifactId>servlet-api</artifactId> <version>{servlet-api版本号}</version> </dependency> ``` 其servlet-api版本号可以根据自己的需要进行设置。 2. 通过Maven导入servlet-api 在Maven的仓库servlet-api是可以找到的。因此,我们可以通过在项目添加如下依赖,直接从Maven仓库导入servlet-api: ``` <dependency> <groupId>javax.servlet</groupId> <artifactId>servlet-api</artifactId> <version>{servlet-api版本号}</version> <scope>provided</scope> </dependency> ``` 其,scope为provided,表示该依赖只在编译和测试时使用,在运行时会由应用服务器提供。 3. 使用webapp Maven archetype创建项目 webapp Maven archetype是一种特殊的Maven模板,它已经包含了servlet-api和其他Web相关依赖。因此,使用这个模板创建项目就不会有缺少servlet-api的问题了。 以上是关于解决IDEA创建Maven项目没有servlet-api的三种方法。不同的方法适合不同的场景,在使用要根据实际情况进行选择。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值