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 下创建 java、resources 目录,并标记为源码 / 资源根目录。
  4. 补全 web.xml :确保 WEB-INF 下存在 web.xml 配置文件。

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

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

  1. 新建项目 :选择 Maven,取消勾选 Create from archetype,直接创建空 Maven 项目。
  2. 配置打包方式 :在 pom.xml 中添加 <packaging>war</packaging>。
  3. 补全目录结构 :手动创建 src/main/java、src/main/resources、src/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 Maven → tomcat7:run(正常启动)
    • 如需断点调试,选择 Debug Maven → tomcat7:run
    • 也可在 IDEA 底部 Maven 工具栏中,直接执行 tomcat7:run 命令

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

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

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

四、关键注意事项

  1. WEB-INF 目录 :名称必须严格为 WEB-INF,否则 Tomcat 无法识别项目
  2. 打包方式 :Web 项目必须配置 <packaging>war</packaging>,否则 Maven 不会打包成可部署的 war 包
  3. 目录标记 :java 目录需标记为 Sources Root,resources 标记为 Resources Root,否则代码 / 资源无法编译
  4. Tomcat 插件版本 :tomcat7-maven-plugin 兼容 Tomcat 7/8/9,高版本 Tomcat 可使用 tomcat8-maven-plugin
  5. 虚拟路径 :path 配置项目访问前缀,如 /hello 对应访问地址 http://localhost:8080/hello
相关推荐
Wang's Blog16 小时前
Java 项目实战: 交友项目 - FastDFS:入门案例
java·开发语言·交友
apcipot_rain17 小时前
C++转Java日记(03)
java·开发语言·c++
皮皮林55117 小时前
Java实现微信扫码登录
java
Yyyyyy~19 小时前
【Java】Day4Web基础知识
java·spring boot
灿飞屋21 小时前
Kotlin与Java虚拟机三:控制流
android·java·开发语言·后端·python·kotlin·安卓
NE_STOP21 小时前
Spring AI Alibaba - MCP入门
java
nice_lcj52021 小时前
【从零理解 Spring AI · 07】对话记忆:让模型记住上一句说了什么
java·spring ai·ai应用开发·chatmemory·对话记忆
SL_staff1 天前
制造业交付崩盘?用跨部门节点协同计划打通销售、生产与质量链路
java·开源·产品
文丑颜不良啊1 天前
LeetCode2261~2280题目解析
java·leetcode
SL_staff1 天前
告别规则黑盒:JVS-Rules 在金融风控中的可视化决策编排实践
java·产品·全栈