JavaWeb项目打包、部署至Tomcat并启动的全程指南(图文详解)

news/2025/1/2 0:01:13/

前言

我们想要部署一个javaWeb项目到tomcat上,需要了解一些概念

tomcat_9">什么是tomcat

Tomcat 是 Apache 软件基金会(Apache Software Foundation)下的一个开源项目,主要用于实现 Java Servlet、JavaServer Pages(JSP)、Java Expression Language(JSTL)、Java WebSocket 技术以及 Java API for WebSocket 的容器。简而言之,Tomcat 是一个 Web 应用服务器(也称为 Servlet 容器),它主要用于在服务器上运行 Java 编写的 Web 应用程序。

Tomcat 提供了对 Servlet 和 JSP 的支持,使得开发者能够编写出功能强大的交互式 Web 应用程序。Servlet 是一种运行在服务器上的 Java 应用程序,它主要用于处理客户端的请求并返回响应;而 JSP 是一种用于创建动态网页内容的技术,它允许将 Java 代码嵌入到 HTML 页面中。

Tomcat 通常被部署在服务器上,用于运行 Web 应用程序。开发者可以在本地计算机上安装 Tomcat 以进行开发和测试,然后将应用程序部署到生产环境中的 Tomcat 服务器上,以提供给最终用户使用。

什么是maven项目?

maven是管理和构建java项目的工具,JavaWeb项目时在maven项目的基础上进行创建的。

maven中最重要的就是pom.xml配置文件,通过一小段描述来管理和构建java项目

创建一个Javaweb项目

使用idea继承开发环境创建第一个JavaWeb程序(前提:已经在idea配置了maven)

打开idea–>点击New Project

项目结构如下:

此时,已经创建了一个基本的JavaWeb项目,只不过此时不包含任何东西,如何创建Servlet等操作,这里不在赘述,直接演示如何打包JavaWeb项目,在Tomcat服务器运行

打包JavaWeb项目

JavaWeb项目打包成war包

在Maven项目中,将项目打包成WAR(Web Application Archive)包是一个常见的需求,特别是在开发Web应用程序时。WAR包是一个包含了所有Servlet类文件、JSP文件、Java类库、资源文件(如图片和HTML)以及Web页面所需的META-INF/和WEB-INF/目录的JAR文件。Maven通过其maven-war-plugin插件来支持WAR包的打包。

以下是将Maven项目打包成WAR包的基本步骤:

1. 检查pom.xml文件

首先,确保你的pom.xml文件中包含了正确的打包类型。对于Web应用程序,你通常不需要显式设置<packaging>元素,因为Maven默认将pom.xml中带有<webappDirectory>或包含Web资源目录(如src/main/webapp)的项目视为WAR包项目。但如果你需要明确指定,可以添加如下配置:

<packaging>war</packaging>

2. 配置maven-war-plugin

尽管Maven的默认配置通常足以生成WAR包,但有时你可能需要自定义WAR包的某些方面。这时,你可以在pom.xml中配置maven-war-plugin。(如果不配置war插件的版本,在tomcat无法运行)以下是一个简单的配置示例:

<build>  <plugins>  <plugin>  <groupId>org.apache.maven.plugins</groupId>  <artifactId>maven-war-plugin</artifactId>  <version>3.3.2</version> <!-- 请使用最新的稳定版本 -->  <configuration>  <!-- 自定义WAR包的名称 -->  <warName>web/warName>  <!-- 其他配置... -->  </configuration>  </plugin>  </plugins>  
</build>

执行完以上操作后,记得重新加载POM.XML文件更新

3. 打包maven项目

找到Maven的生命周期插件,双击package进行打包

tomcat_84">4. 启动tomcat

在本地资源管理器打开项目,找到我们打包后的war包 ,把它放在tomcat的webapps目录下:

双击tomcat的bin目录下的startup.bat命令,启动本地的tomcat服务器,如下所示:

如果出现中文乱码,是字符编码集出现不匹配导致,不会影响项目的运行

tomcat启动完成后,会自动解压我们的war包:

此时直接在浏览器测试:

tomcat_102">1.查看tomcat是否启动成功:

访问localhost:8080出现如下页面,tomcat启动成功

2.查看JavaWeb项目是否启动成功:

此时需要带上我们定义的项目名路径:这里我设置成了web(可以任意设置,不要出现非法字符)

因为没有写任何内容,会直接访问默认首页:(即index.jsp中的HTML页面)

访问成功!(这表示JavaWeb项目部署成功!)

总结

本博客主要是为了介绍如何将一个JavaWeb项目打包成war包,并且部署到tomcat服务器上,并没有书写Servlet和JSP等内容,目的是为了快速了解tomcat部署Java项目的全部流程。


http://www.ppmy.cn/news/1559223.html

相关文章

电商的主要功能包括:用户管理、商品管理、订单管理、支付管理、C端页面、搜索、支付、浏览、下单等关键功能。请评估4台ECS资源是否充足,并修正报价。

为了评估4台ECS资源是否足够支持电商网站的关键功能&#xff08;如用户管理、商品管理、订单管理、支付管理、C端页面、搜索、支付、浏览、下单等&#xff09;&#xff0c;我们需要考虑以下几个方面&#xff1a; ### 1. 评估4台ECS资源 #### 假设配置 - **每台ECS实例**: 4核…

UI自动化测试框架:PO模式+数据驱动

&#x1f345; 点击文末小卡片&#xff0c;免费获取软件测试全套资料&#xff0c;资料在手&#xff0c;涨薪更快 1. PO 设计模式简介 什么是 PO 模式&#xff1f; PO&#xff08;PageObject&#xff09;设计模式将某个页面的所有元素对象定位和对元素对象的操作封装成一个 Pa…

无人机驾驶证对入伍有帮助吗?

无人机驾驶证对入伍确实有一定的帮助&#xff0c;主要体现在以下几个方面&#xff1a; 一、提升专业技能 无人机操作是一项高度专业化的技能&#xff0c;需要掌握飞行原理、航电系统、任务规划、紧急处理等多方面的知识。通过考取无人机驾驶证&#xff0c;个人可以系统地学习这…

leetcode hot100 翻转二叉树

226. 翻转二叉树 已解答 简单 相关标签 相关企业 给你一棵二叉树的根节点 root &#xff0c;翻转这棵二叉树&#xff0c;并返回其根节点。 # Definition for a binary tree node. # class TreeNode(object): # def __init__(self, val0, leftNone, rightNone): # …

Python基于OpenCV和wxPython的人脸识别监控打卡系统【附源码】

博主介绍&#xff1a;✌Java老徐、7年大厂程序员经历。全网粉丝12w、csdn博客专家、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ &#x1f345;文末获取源码联系&#x1f345; &#x1f447;&#x1f3fb; 精彩专栏推荐订阅&#x1f447;&…

windows C#-对象和集合初始值设定项(下)

集合初始值设定项 在初始化实现 IEnumerable 的集合类型和初始化使用适当的签名作为实例方法或扩展方法的 Add 时&#xff0c;集合初始值设定项允许指定一个或多个元素初始值设定项。 元素初始值设定项可以是值、表达式或对象初始值设定项。 通过使用集合初始值设定项&#xf…

《Vue.js设计与实现》权衡的艺术、框架设计的核心要素

最近在阅读霍春阳的《Vue.js设计与实现》&#xff0c;记录了其中一些重点内容&#xff0c;刚读第一遍有些章节还是有些难以理解&#xff0c;多读几遍就会有不一样的收获~~ vue是一个声明式、运行时编译时的框架&#xff0c; 那么它为什么要采用这种方式&#xff1f; 1. 权衡的…

Vue.js组件开发-实现列表无缝动态滚动

Vue.js组件开发中&#xff0c;实现列表的无缝动态滚动可以通过结合CSS动画和Vue的响应式数据绑定来完成。 步骤&#xff1a; ‌1.准备数据和模板‌&#xff1a; 在Vue组件的data中定义一个数组来存储列表项。 在模板中使用v-for指令来渲染列表。 ‌2.设置CSS样式‌&#xf…