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>
相关推荐
mysla3 分钟前
嵌入式学习day45-硬件—汇编
汇编·学习
永日4567032 分钟前
学习日记-HTML-day51-9.9
前端·学习·html
xy_recording1 小时前
Day20 K8S学习
学习·容器·kubernetes
Lynnxiaowen1 小时前
今天继续昨天的正则表达式进行学习
linux·运维·学习·正则表达式·云计算·bash
qq_172805592 小时前
Go 装饰器模式学习文档
学习·golang·装饰器模式
自强的小白3 小时前
vlan(局部虚拟网)
网络·学习
一只乔哇噻4 小时前
java后端工程师进修ing(研一版 || day41)
java·开发语言·学习·算法
知识分享小能手4 小时前
React学习教程,从入门到精通,React 使用属性(Props)创建组件语法知识点与案例详解(15)
前端·javascript·vue.js·学习·react.js·前端框架·vue
_BugMan6 小时前
【IDEA】干活?一个IDEA即可,集成开发平台打造攻略
java·ide·intellij-idea
知识分享小能手10 小时前
React学习教程,从入门到精通, React 属性(Props)语法知识点与案例详解(14)
前端·javascript·vue.js·学习·react.js·vue·react