news 2026/4/23 19:25:35

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/23 12:58:39

【高精度气象预测实现路径】:基于Agent的多源数据融合与实时校准技术

第一章&#xff1a;气象 Agent 的预测精度在现代智能系统中&#xff0c;气象 Agent 作为环境感知与决策支持的核心组件&#xff0c;其预测精度直接影响到交通调度、农业管理及灾害预警等多个关键领域。高精度的气象预测依赖于高质量的数据输入、先进的算法模型以及实时反馈机制…

作者头像 李华
网站建设 2026/4/23 16:16:33

EdgeDeflector终极方案:完全掌控Windows系统浏览器选择

EdgeDeflector终极方案&#xff1a;完全掌控Windows系统浏览器选择 【免费下载链接】EdgeDeflector A tiny helper application to force Windows 10 to use your preferred web browser instead of ignoring the setting to promote Microsoft Edge. Only runs for a microsec…

作者头像 李华
网站建设 2026/4/23 11:37:55

AndroidAutoSize终极指南:5分钟搞定屏幕适配难题

在Android开发中&#xff0c;屏幕适配一直是困扰开发者的难题。面对市场上成千上万种不同尺寸、分辨率的设备&#xff0c;如何确保应用在各种屏幕上都能完美显示&#xff1f;AndroidAutoSize框架给出了一个极低成本且高效的解决方案&#xff0c;让屏幕适配变得前所未有的简单。…

作者头像 李华
网站建设 2026/4/23 11:39:02

【金融图 Agent 安全防线构建】:基于图神经网络的风险识别技术突破

第一章&#xff1a;金融图 Agent 的风险评估在复杂金融系统中&#xff0c;基于图结构的智能 Agent 正逐渐成为风险识别与传播分析的核心工具。这类 Agent 能够通过节点与边的关系建模金融机构、交易行为及信用依赖&#xff0c;实现对系统性风险的动态追踪。风险传播建模机制 金…

作者头像 李华
网站建设 2026/4/23 16:10:48

31、Bash脚本编程:循环、错误处理与测试

Bash脚本编程:循环、错误处理与测试 1. 循环控制 在Bash脚本中,循环是一种强大的工具,可用于重复执行特定的代码块。以下是几种常见的循环控制结构及其应用。 1.1 while循环实现菜单重复显示 通过将菜单置于 while 循环中,程序可以在每次用户选择后重复显示菜单。只要…

作者头像 李华
网站建设 2026/4/23 12:54:49

5、Linux 命令使用与重定向全解析

Linux 命令使用与重定向全解析 一、文件管理器创建符号链接 在 GNOME 和 KDE 桌面环境中,文件管理器都提供了简单自动的创建符号链接的方法。 - GNOME :在拖动文件时按住 CTRL - SHIFT 键,会创建链接而非复制或移动文件。 - KDE :放下文件时会弹出一个小菜单,提供…

作者头像 李华