news 2026/5/4 17:12:04

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

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
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作用域):

<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
    packagecom.example.web;importjavax.servlet.annotation.WebServlet;importjavax.servlet.http.HttpServlet;importjavax.servlet.http.HttpServletRequest;importjavax.servlet.http.HttpServletResponse;importjava.io.IOException;@WebServlet("/hello")// 访问路径:http://localhost:8080/simple-web/hellopublicclassHelloServletextendsHttpServlet{@OverrideprotectedvoiddoGet(HttpServletRequestreq,HttpServletResponseresp)throwsIOException{resp.getWriter().write("Hello from Servlet (Tomcat 9)!");}}
    • 注意:Tomcat 9 使用javax.servlet(Jakarta EE 9 之前)。

二、打包项目

1. 执行打包

  • 在 IDEA 右侧Maven 面板→ 选择Lifecycle → package
  • 或终端运行:
    mvn clean package
  • 生成simple-web.war文件在target/目录下。

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

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

  1. 上传 WAR 文件
    • 通过 SCP/SFTP 将target/simple-web.war复制到远程服务器的 Tomcat 的webapps/目录:
      scptarget/simple-web.war user@remote_ip:/path/to/tomcat/webapps/
    • Tomcat 会自动解压 WAR 文件(或重启 Tomcat 强制加载):
      ./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。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/27 9:45:32

NSMusicS容器化部署架构深度解析与实战优化

NSMusicS容器化部署架构深度解析与实战优化 【免费下载链接】NSMusicS NSMusicS&#xff08;Nine Songs Music World&#xff1a;九歌 音乐世界&#xff09;&#xff0c;open-source music software 项目地址: https://gitcode.com/GitHub_Trending/ns/NSMusicS 本文将…

作者头像 李华
网站建设 2026/5/4 1:32:53

为什么你的MCP Azure扩展总是失败?剖析量子配置中的3大致命误区

第一章&#xff1a;MCP Azure 量子扩展配置的现状与挑战随着量子计算在企业级应用场景中的逐步落地&#xff0c;MCP&#xff08;Microsoft Cloud Platform&#xff09;Azure 平台提供的量子扩展功能正面临日益复杂的配置需求。当前&#xff0c;开发人员在集成 Azure Quantum 服…

作者头像 李华
网站建设 2026/4/28 19:21:43

33、Shell编程进阶:流程控制、字符串与数字处理

Shell编程进阶:流程控制、字符串与数字处理 1. 命令行参数处理 在编写Shell脚本时,命令行参数处理是一项重要的功能。以 sys_info_page 程序为例,我们可以添加多个命令行选项,如指定输出文件、交互式模式和帮助信息。 指定输出文件 :使用 -f file 或 --file file…

作者头像 李华
网站建设 2026/5/4 1:17:19

Windows系统完美体验:Apple触控板驱动终极指南

Windows系统完美体验&#xff1a;Apple触控板驱动终极指南 【免费下载链接】mac-precision-touchpad Windows Precision Touchpad Driver Implementation for Apple MacBook / Magic Trackpad 项目地址: https://gitcode.com/gh_mirrors/ma/mac-precision-touchpad 想要…

作者头像 李华
网站建设 2026/4/25 8:21:17

【实践原创】使用 FastAPI 实现 Coze 流式聊天 SSE 接口

使用 FastAPI 实现 Coze 流式聊天 SSE 接口 在开发 AI 助手或聊天应用时&#xff0c;我们通常希望服务端能够 实时向前端推送消息&#xff0c;让用户看到逐字打字效果。本文演示如何使用 FastAPI Coze Python SDK&#xff08;cozepy&#xff09; 实现 流式聊天 SSE 接口&…

作者头像 李华
网站建设 2026/4/29 4:47:24

MCP DP-420图Agent性能骤降?7个关键指标必须立即检查

第一章&#xff1a;MCP DP-420图Agent性能骤降的典型现象在部署MCP DP-420图Agent的实际生产环境中&#xff0c;部分用户反馈其数据处理吞吐量出现显著下降&#xff0c;响应延迟从正常的200ms上升至超过2秒&#xff0c;严重影响上层业务调用。该问题通常出现在高并发或长时间运…

作者头像 李华