JavaWeb学习打卡05(在IDEA中创建并使用MavenWeb项目详解、POM.XML文件)

创建MavenWeb项目

  1. 启动Idea
  2. 创建MavenWeb项目(以下为IDEA 19版演示),如图

等待项目初始化完成,随后点自动导入包:

Maven在Idea 中配置:

进入Settings:

注意:IDEA项目创建成功后,要看一眼Maven的配置,避免IDEA将Maven的配置改为它默认的
项目文件夹解析:

IDEA中标记文件夹功能的使用:

在IDEA中配置Tomcat:

解决警告问题

必须要的配置:为什么会有(上图)这个警告问题呢?是因为我们访问一个网站,需要指定一个文件夹名字(eg:webapps),必须手动进行配置;

启动Tomcat

解决IDEA 2024版中,没有web文件夹显示问题,创建Mavenweb项目:

创建好之后,我们发现项目中没有出现 webapps文件夹,我们接下来进行手动配置web框架:


Maven侧边栏的使用:

POM文件

pom.xml 是Maven的核心配置文件

XML 复制代码
	<!-- package :项目的打包方式
		jar:java应用
		war:javaweb应用
		-->
	<!--配置 -->
    <properties>
		<!--编码版本 -->
        <maven.compiler.source>22</maven.compiler.source>
        <maven.compiler.target>22</maven.compiler.target>
		<!--项目的默认构造编码 -->
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    </properties>

    <!--添加内容: 添加依赖java包-->
    <!--Maven的高级之处在于,它会帮你导入这个JAR包所依赖的其他的jar包-->
    <dependencies>
        <!-- https://mvnrepository.com/artifact/com.alibaba/druid -->
        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>druid</artifactId>
            <version>1.1.21</version>
        </dependency>
        <!-- https://mvnrepository.com/artifact/org.projectlombok/lombok -->
        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
            <version>1.18.30</version>
        </dependency>
        <!-- https://mvnrepository.com/artifact/mysql/mysql-connector-java -->
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>8.0.28</version>
<!--            <version>5.1.40</version>-->
        </dependency>
        <!-- https://mvnrepository.com/artifact/javax.servlet/javax.servlet-api -->
        <dependency>
            <groupId>javax.servlet</groupId>
            <artifactId>javax.servlet-api</artifactId>
            <version>4.0.1</version>
            <scope>provided</scope>
        </dependency>
        <!-- https://mvnrepository.com/artifact/junit/junit -->
        <dependency>
            <groupId>org.junit.jupiter</groupId>
            <artifactId>junit-jupiter-engine</artifactId>
            <version>5.7.2</version>
            <scope>test</scope>
        </dependency>
    </dependencies>

maven由于它的约定大于配置,我们之后可能遇到我们写的配置文件,无法被导出或者生效问题,解决方案(在pom.xml文件中):

XML 复制代码
    <!--在build中配置resources,来防止我们的资源导出失败的问题 -->
    <build>
        <resources>
            <resource>
                <directory>src/main/resources</directory>
                <includes>
                    <include>**/*.properties</include>
                    <include>**/*.xml</include>
                </includes>
                <filtering>true</filtering>
            </resource>
            <resource>
                <directory>src/main/java</directory>
                <includes>
                    <include>**/*.properties</include>
                    <include>**/*.xml</include>
                </includes>
                <filtering>true</filtering>
            </resource>
        </resources>
    </build>
相关推荐
我的xiaodoujiao1 小时前
使用 Python 语言 从 0 到 1 搭建完整 Web UI自动化测试学习系列 19--测试框架Pytest基础 3--前后置操作应用
python·学习·测试工具·pytest
lzj_pxxw1 小时前
嵌入式开发技巧:舍弃标志位,用宏定义函数实现程序单次运行
笔记·stm32·单片机·嵌入式硬件·学习
江苏世纪龙科技2 小时前
【世纪龙科技】新能源汽车动力电池拆装与检测虚拟实训软件介绍
学习
whale fall2 小时前
与deepseek用英语聊天的第一天
学习
dxnb223 小时前
Datawhale25年10月组队学习:math for AI+Task3线性代数(下)
人工智能·学习·线性代数
Century_Dragon3 小时前
【世纪龙科技】新能源汽车动力电池拆装与检测虚拟实训软件介绍
学习
w2vmany3 小时前
postmessage xss初步学习
前端·学习·xss
立志成为大牛的小牛3 小时前
数据结构——二十五、邻接矩阵(王道408)
开发语言·数据结构·c++·学习·程序人生
wdfk_prog3 小时前
[Linux]学习笔记系列 -- [kernel][irq]softirq
linux·笔记·学习
71-33 小时前
C语言——关机小程序(有system()和strcmp()函数的知识点)
c语言·笔记·学习