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

前言

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

什么是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进行打包

4. 启动tomcat

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

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

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

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

此时直接在浏览器测试:

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

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

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

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

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

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

总结

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/1125412.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Pelco KBD300A 模拟器:07+2.Python 专题:线程安全与信号槽机制——项目多线程最佳实践

第72篇 &#x1f9f5; Python 专题&#xff1a;线程安全与信号槽机制——项目多线程最佳实践 ✨ 引言 在上篇《7. 宏脚本编辑器设计与解释器实现》中&#xff0c;我们构建了宏系统的完整链路&#xff0c;从语法解析到线程化执行&#xff0c;实现了自动化巡航和联动功能。然而&…

深度测评!9款AI论文工具测评:本科生毕业论文全攻略

深度测评&#xff01;9款AI论文工具测评&#xff1a;本科生毕业论文全攻略 2026年AI论文工具测评&#xff1a;为什么你需要这份指南&#xff1f; 随着人工智能技术的不断进步&#xff0c;越来越多的本科生开始依赖AI论文工具来提升写作效率、优化内容结构以及规范格式。然而&am…

Docker启动安装nacos(详情讲解,全网最细)

前言 安装之前你需要准备一个mysql&#xff0c;当前安装方式是将数据持久化到数据库中的&#xff0c;这里的部署是单机模式 1、Docker 拉取镜像 docker pull nacos/nacos-serverPS&#xff1a;这是拉取最新的nacos版本&#xff0c;如果需要拉取别的版本可以加&#xff1a;版…

batmeter.dll文件丢失找不到 打不开问题 免费下载方法分享

在使用电脑系统时经常会出现丢失找不到某些文件的情况&#xff0c;由于很多常用软件都是采用 Microsoft Visual Studio 编写的&#xff0c;所以这类软件的运行需要依赖微软Visual C运行库&#xff0c;比如像 QQ、迅雷、Adobe 软件等等&#xff0c;如果没有安装VC运行库或者安装…

Go环境搭建(vscode调试)

文章目录 下载安装环境变量与包管理(重要)创建项目VScode配置与debug 下载 首先下载go环境 下载 我这里选择的是Windows的64位免安装版本。 安装 我们下载的免安装版本&#xff0c;直接解压就可以 环境变量与包管理(重要) 配置GOROOT就可以&#xff1a; 在把go的bin目…

交通仿真软件:Aimsun_(7).交通信号控制

交通信号控制 在交通仿真软件中&#xff0c;交通信号控制是模拟城市道路交通流的重要组成部分。通过合理的信号控制策略&#xff0c;可以显著提高交通系统的效率&#xff0c;减少拥堵&#xff0c;提高安全性。本节将详细介绍如何在Aimsun中进行交通信号控制的二次开发&#xf…

计算机深度学习毕设实战-基于深度学习的玉米粒品质检测基于人工智能的玉米粒品质检测

博主介绍&#xff1a;✌️码农一枚 &#xff0c;专注于大学生项目实战开发、讲解和毕业&#x1f6a2;文撰写修改等。全栈领域优质创作者&#xff0c;博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围&#xff1a;&am…

Golang 构建学习

Golang 构建学习 如何搭建Golang开发环境 1. 下载GOlang包 https://golang.google.cn/dl/ 在地址上下载Golang 2. 配置包环境 修改全局环境变量&#xff0c;GOPROXY&#xff0c;GOPATH&#xff0c;GOROOT GOPROXYhttps://goproxy.cn,direct GOROOT“” // go二进制文件的路…

【异常】Unable to create ‘/.git/index.lock‘: File exists. Another git process seems to be running

一、报错内容 添加文件时发生以下问题: Unable to create E:/00 Inbox/Winston Obsidian Vault/szu_education/.git/index.lock: File exists. Another git process seems to be running in this repository, e.g. an editor opened by git commit. Please make sure all …

C语言全景解读:从诞生到现代应用,揭秘其核心优势、编程技巧与开发实践

一、C语言的历史背景C语言诞生于1972年&#xff0c;由Dennis Ritchie在贝尔实验室开发&#xff0c;最初是作为UNIX操作系统的编程语言而设计的。C语言的诞生有其深刻的历史背景和技术动因。1. 从B语言到C语言的进化在C语言之前&#xff0c;存在着一门名为B语言的编程语言&#…

docker启动redis

最简单的方法 如果只是希望启动redis&#xff0c;不想去繁琐的配置&#xff0c;建议使用以下run命令 docker run --name redis --restartalways -d -p 6379:6379 redis:7.2 --requirepass 12345600这个命令会启动最新版redis 常规方法 1. 下载redis镜像 先到dockerhub官网…

docker拉取mysql5.7镜像报错Error response from daemon Get “httpsregistry-1.docker.iov2“

解决方法&#xff1a; 进入/etc/docker/daemon.json [vagrantlocalhost ~]$ sudo vi /etc/docker/daemon.json 修改配置文件&#xff08;删除源数据&#xff0c;直接复制粘贴&#xff0c;wq退出即可&#xff09; {"registry-mirrors": ["https://2a6bf1988cb64…

智能体迈入 Agent RL 新架构时代,非常详细收藏这一篇就够了

0、序章&#xff1a;三大核心认知基石 在探索 Agent RL 技术浪潮之前&#xff0c;我们需先锚定三个根本性认知&#xff1a;人类的本质&#xff1a;生物界中&#xff0c;人类凭借高等智慧脱颖而出&#xff0c;而制造与使用工具的能力&#xff0c;正是人与动物的核心分野。 大模型…

多模态基础篇VLMo详解,非常详细收藏我这一篇就好了

该模型提出了一种统一的视觉-语言预训练模型 VLMO&#xff08;Vision-Language Mixture-of-Experts&#xff09;&#xff0c;其核心创新在于引入了 Mixture-of-Modality-Experts&#xff08;MOME&#xff09;Transformer 架构&#xff0c;使得一个模型既能作为双编码器&#xf…

docker设置redis密码

docker设置redis密码 方法一&#xff1a;创建redis容器并设置密码 docker run -itd --name redis-6379 -p 6379:6379 redis --requirepass 123456说明: --name (启动容器的名称) -p 映射端口:redis启动端口 redis --requirepass 启动密码方法二&#xff1a;为现有的redis创建…

Go-Gin Web 框架完整教程

1. 环境准备 1.1 Go 环境安装 Go 语言&#xff08;或称 Golang&#xff09;是一个开源的编程语言&#xff0c;由 Google 开发。在开始使用 Gin 框架之前&#xff0c;我们需要先安装 Go 环境。 安装步骤&#xff1a; 访问 Go 官网下载页面&#xff1a;https://golang.org/dl/根据…

FlinkCDC实战:将 MySQL 数据同步至 ES

?? 当前需要处理的业务场景: 将订单表和相关联的表(比如: 商品表、子订单表、物流信息表)组织成宽表, 放入到 ES 中, 加速订单数据的查询. 同步数据到 es. 概述 1. 什么是 CDC 2. 什么是 Flink CDC 3. Flink CDC Connectors 和 Flink 的版本映射 实战 1. 宽表查询 1.1 …

从原理切入,看大模型的未来,非常详细收藏我这一篇就够了

相信大家都接触过大模型&#xff0c;比如 DeepSeek、豆包、ChatGPT 等生成式 AI 应用&#xff0c;当用户输入相关信息后&#xff0c;大模型就会快速输出相应的结果&#xff1a;文字、图片&#xff0c;甚至是视频。这是大家对大模型最常见的认识——效率工具。可当笔者看到25年底…

DBeaver连接本地MySQL、创建数据库表的基础操作

一、连接本地MySQL 1、新建连接 打开DBeaver,点击左上角的文件或者点击箭头所指的连接按钮。新建数据库连接-选择数据库&#xff08;mysql&#xff09;&#xff0c;点击“下一步”输入服务器地址、端口、用户名、密码(数据库自己选填&#xff0c;不填则连接所有数据库&#xff…

docker网络模式及配置

一、Docker网络模式 docker run 创建docker容器时&#xff0c;可以用-net选项指定容器的网络模式&#xff0c;docker有以下4种网络模式&#xff1a; host 模式&#xff0c;使用-nethost指定。container模式&#xff0c;使用-netcontainer:NAME_or_ID指定。none模式&#xff0…