26.IDEA 专业版中创建简单的 Web 项目并打包部署到本地Tomcat 9

IDEA 中创建简单的 Web 项目并打包部署到本地Tomcat 9

一、创建最简单的 Web 项目

1. 使用 IDEA 创建 Java Web 项目

  1. File → New → Project → 选择 Maven → 勾选 Create from archetype → 选择 maven-archetype-webapp (最简单结构,仅含 index.jsp)。

    • GroupId : com.example
    • ArtifactId : simple-web
    • Version : Java 8 + Tomcat 9(兼容 javax.servlet)。
  2. 项目结构

    复制代码
    simple-web/
    ├── src/
    │   └── main/
    │       ├── resources/
    │       └── webapp/
    │           ├── WEB-INF/
    │           │   └── web.xml (可选)
    │           └── index.jsp (默认首页)
    └── pom.xml


2. 配置 pom.xml

确保 packagingwar,并添加 Servlet API 依赖(provided 作用域):

xml 复制代码
<packaging>war</packaging>

<dependencies>
    <!-- Tomcat 9 使用 javax.servlet -->
    <dependency>
        <groupId>javax.servlet</groupId>
        <artifactId>javax.servlet-api</artifactId>
        <version>4.0.1</version>
        <scope>provided</scope>
    </dependency>
</dependencies>

<build>
    <finalName>simple-web</finalName> <!-- 指定 WAR 文件名 -->
</build>

3. 添加一个简单的 Servlet(可选)

如果希望用 Java 代码处理请求(而非仅 JSP),创建一个 Servlet:

  1. src/main/java 下创建包 com.example.web

  2. 添加 HelloServlet.java

    java 复制代码
    package com.example.web;
    
    import javax.servlet.annotation.WebServlet;
    import javax.servlet.http.HttpServlet;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    import java.io.IOException;
    
    @WebServlet("/hello")  // 访问路径:http://localhost:8080/simple-web/hello
    public class HelloServlet extends HttpServlet {
        @Override
        protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws IOException {
            resp.getWriter().write("Hello from Servlet (Tomcat 9)!");
        }
    }
    • 注意 :Tomcat 9 使用 javax.servlet(Jakarta EE 9 之前)。

二、打包项目

1. 执行打包

  • 在 IDEA 右侧 Maven 面板 → 选择 Lifecycle → package

  • 或终端运行:

    bash 复制代码
    mvn clean package
  • 生成 simple-web.war 文件在 target/ 目录下。


三、部署到远程服务器的 Tomcat 9

1. 手动部署(备用方案)

  1. 上传 WAR 文件
    • 通过 SCP/SFTP 将 target/simple-web.war 复制到远程服务器的 Tomcat 的 webapps/ 目录:

      bash 复制代码
      scp target/simple-web.war user@remote_ip:/path/to/tomcat/webapps/
    • Tomcat 会自动解压 WAR 文件(或重启 Tomcat 强制加载):

      bash 复制代码
      ./bin/shutdown.sh
      ./bin/startup.sh
  1. 访问应用
    • 浏览器访问:http://remote_ip:8080/simple-web/(首页 index.jsp)。
    • 如果配置了 Servlet,访问:http://remote_ip:8080/simple-web/hello

常见问题

  1. 403 访问拒绝
    • 检查 tomcat-users.xml 是否配置了 manager-script 角色。
    • 确保 context.xml 未限制远程访问。
  2. Servlet 404
    • 确认 @WebServlet 路径是否正确。
    • 检查 Tomcat 9 是否兼容 javax.servlet(而非 jakarta.servlet)。
  3. JDK 版本冲突
    • 确保远程服务器的 JDK 版本与本地开发环境一致。

通过以上步骤,你可以在 IDEA 中创建简单的 Web 项目并部署到远程 Tomcat 9。

相关推荐
一叶飘零晋5 小时前
【(一)Electron 使用之如何用vite+vue3搭建初始框架】
前端·javascript·electron
光影少年5 小时前
前端SSR和ssg区别
前端·vue.js·人工智能·学习·react.js
广州华水科技5 小时前
北斗形变监测传感器在水库安全监测中的应用与发展
前端
凯瑟琳.奥古斯特6 小时前
Bootstrap快速上手指南
开发语言·前端·css·bootstrap·html
精益数智工坊6 小时前
拆解制造业仓库物料管理流程:如何通过标准化仓库物料管理流程解决账实不符难题
大数据·前端·数据库·人工智能·精益工程
恶猫6 小时前
网页自动化模拟操作时,模拟真实按键触发事件【终级方案】
前端·javascript·自动化·vue·网页模拟
小羊Yveesss6 小时前
2026年前端开发新趋势:智能协同、工具革新与场景深耕
前端·ai
Dxy12393102166 小时前
HTML中的Canvas可以干哪些事情
前端·html
悟乙己6 小时前
解析 Agent 时代的 HTML PPT SKILLS: html-ppt-skill
前端·html·powerpoint
ZC跨境爬虫6 小时前
跟着 MDN 学 HTML day_2:(表单分组与高级输入控件实战)
前端·javascript·css·ui·html