javaweb--03

一、Maven Web 项目结构详解

1. 开发环境结构(src 目录)

plaintext

复制代码
hello (项目名)
├── src
│   ├── main
│   │   ├── java          # 存放 Java 源代码
│   │   ├── resources     # 存放配置等资源文件
│   │   └── webapp        # Web 项目特有目录
│   │       ├── html      # 自定义 HTML 等静态资源目录(可改名)
│   │       └── WEB-INF   # 核心目录,名称必须为 WEB-INF
│   │           └── web.xml  # Web 项目核心配置文件
│   └── test              # 测试代码目录
└── pom.xml               # Maven 核心配置文件

2. 部署环境结构(package 打包后)

plaintext

复制代码
hello (项目访问虚拟目录)
├── html                  # 静态资源目录(与开发目录对应)
└── WEB-INF               # 核心目录,名称必须为 WEB-INF
    ├── classes           # 存放编译后的 Java 字节码 + resources 资源文件
    ├── lib               # 存放 pom.xml 中依赖的所有 jar 包
    └── web.xml           # Web 项目配置文件

3. pom.xml 核心配置:打包方式

Web 项目必须在 pom.xml 中指定打包方式为 war,否则无法部署:

xml

复制代码
<!-- 打包方式:jar 为普通 Java 项目(默认),war 为 Web 项目 -->
<packaging>war</packaging>

二、IDEA 创建 Maven Web 项目的两种方式

方式一:使用骨架(archetype)创建

适合快速生成标准结构,步骤如下:

  1. 新建项目 :选择 Maven,勾选 Create from archetype,选择 org.apache.maven.archetypes:maven-archetype-webapp 骨架。
  2. 清理冗余配置 :删除 pom.xml 中多余的坐标、插件配置。
  3. 补全目录结构 :手动在 src/main 下创建 javaresources 目录,并标记为源码 / 资源根目录。
  4. 补全 web.xml :确保 WEB-INF 下存在 web.xml 配置文件。

方式二:不使用骨架创建(推荐,更灵活)

适合自定义项目结构,步骤如下:

  1. 新建项目 :选择 Maven取消勾选 Create from archetype,直接创建空 Maven 项目。
  2. 配置打包方式 :在 pom.xml 中添加 <packaging>war</packaging>
  3. 补全目录结构 :手动创建 src/main/javasrc/main/resourcessrc/main/webapp/WEB-INF 目录。
  4. 配置 Web Facets
    • 打开 File → Project Structure → Facets,添加 Web facet。
    • 配置 Deployment Descriptors,指定 web.xml 的正确路径(src/main/webapp/WEB-INF/web.xml),选择 3.0+ 版本。
    • 配置 Web Resource Directories,指定 webapp 为资源根目录。
  5. 创建 web.xml :在 WEB-INF 下生成标准的 web.xml 配置文件。

三、Tomcat 部署项目的两种方式

方式一:使用 Tomcat Maven 插件(推荐,开发调试用)

无需安装本地 Tomcat,直接通过 Maven 启动,步骤如下:

  1. 在 pom.xml 中添加插件

    xml

    复制代码
    <build>
        <plugins>
            <!-- Tomcat7 Maven 插件 -->
            <plugin>
                <groupId>org.apache.tomcat.maven</groupId>
                <artifactId>tomcat7-maven-plugin</artifactId>
                <version>2.2</version>
                <!-- 可选:配置端口号、访问路径 -->
                <configuration>
                    <port>8080</port>          <!-- 访问端口,默认 8080 -->
                    <path>/hello</path>        <!-- 项目虚拟路径,默认 / 项目名 -->
                </configuration>
            </plugin>
        </plugins>
    </build>
  2. 启动项目

    • 选中项目,右键 → Run Maventomcat7:run(正常启动)
    • 如需断点调试,选择 Debug Maventomcat7:run
    • 也可在 IDEA 底部 Maven 工具栏中,直接执行 tomcat7:run 命令

方式二:集成本地 Tomcat(生产部署用)

适合部署到本地安装的 Tomcat 服务器,步骤如下:

  1. 打开配置 :点击 IDEA 右上角 ServerEdit Configurations...
  2. 添加 Tomcat 配置 :点击 +Tomcat ServerLocal
  3. 配置 Tomcat home :点击 Configure...,选择本地 Tomcat 的安装目录,IDEA 会自动识别版本
  4. 部署项目 :切换到 Deployment 标签页,点击 +Artifact...,选择项目对应的 war
  5. 保存并启动 :点击 ApplyOK,点击右上角绿色启动按钮,即可启动 Tomcat 并部署项目

四、关键注意事项

  1. WEB-INF 目录 :名称必须严格为 WEB-INF,否则 Tomcat 无法识别项目
  2. 打包方式 :Web 项目必须配置 <packaging>war</packaging>,否则 Maven 不会打包成可部署的 war 包
  3. 目录标记java 目录需标记为 Sources Rootresources 标记为 Resources Root,否则代码 / 资源无法编译
  4. Tomcat 插件版本tomcat7-maven-plugin 兼容 Tomcat 7/8/9,高版本 Tomcat 可使用 tomcat8-maven-plugin
  5. 虚拟路径path 配置项目访问前缀,如 /hello 对应访问地址 http://localhost:8080/hello
相关推荐
m0_677904842 小时前
K8s学习
java·学习·kubernetes
Fate_I_C2 小时前
Kotlin 内部类和嵌套类
java·开发语言·kotlin
宸津-代码粉碎机3 小时前
Spring Boot 4.0 实战技巧全解析
java·大数据·spring boot·后端·python
Makoto_Kimur3 小时前
Java Scanner 的 ACM 常用输入模板
java·数据结构·算法
0xDevNull3 小时前
Spring 核心教程:@Component vs @Bean 深度解析
java·后端
小碗羊肉3 小时前
【从零开始学Java | 第三十二篇】方法引用(Method Reference)
java·开发语言
满满和米兜3 小时前
【Java基础】- 集合-HashSet与TreeSet
java·开发语言·算法
网安INF3 小时前
数据结构第二章复习:线性表
java·开发语言·数据结构
aq55356003 小时前
Laravel10.X核心特性全解析
java·开发语言·spring boot·后端