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项目的全部流程。

相关推荐
炸鸡配泡面2 小时前
Qt 12.28 day3
java·开发语言
get_money_2 小时前
代码随想录Day37 动态规划:完全背包理论基础,518.零钱兑换II,本周小结动态规划,377. 组合总和 Ⅳ,70. 爬楼梯(进阶版)。
java·笔记·算法·动态规划
get_money_2 小时前
代码随想录38 322. 零钱兑换,279.完全平方数,本周小结动态规划,139.单词拆分,动态规划:关于多重背包,你该了解这些!背包问题总结篇。
java·开发语言·笔记·算法·动态规划
憶巷4 小时前
设计模式的分类及作用
java·设计模式
向宇it4 小时前
【从零开始入门unity游戏开发之——C#篇36】C#的out协变和in逆变如何解决泛型委托的类型转换问题
java·开发语言·unity·c#·游戏引擎
天空之外1364 小时前
Spring Boot Actuator、Spring Boot Actuator使用、Spring Boot Actuator 监控、Spring程序监控
java·spring boot·spring
baihb10244 小时前
Docker 默认安装位置迁移
java·docker
B1nnnn丶5 小时前
通用导出任何对象列表数据的excel工具类
java·spring boot·excel
陶然同学5 小时前
什么是大数据?2022大数据时代
java·大数据
赛博末影猫5 小时前
SpringBoot(Ⅱ-2)——,SpringBoot版本控制,自动装配原理补充(源码),自动导包原理补充(源码),run方法
java·spring boot·后端