Tomcat介绍

        Tomcat是Apache 软件基金会(Apache Software Foundation)的Jakarta 项目中的一个核心项目,由Apache、Sun 和其他一些公司及个人共同开发而成。最新的Servlet 和JSP 规范总是能在Tomcat 中得到体现,因为Tomcat 技术先进、性能稳定,而且免费,因而深受Java 爱好者的喜爱并得到了部分软件开发商的认可,成为目前比较流行的Web 应用服务器。

一、环境准备

在安装 Tomcat 之前,需要确保你的系统满足以下条件:

        Tomcat 是基于 Java 开发的,所以需要先安装JDK。你可以从 Oracle 官方网站下载所需版本的JDK,按照安装向导完成安装。安装完成后,配置好JAVA_HOME、PATH和CLASSPATH环境变量。(缺少配置的话在bin目录下的startup.bat文件运行会闪退)

二、下载 Tomcat 安装包

  1. 打开浏览器,访问 Apache Tomcat 官方网站:https://tomcat.apache.org/ 。
  1. 在网站首页找到 “Download” 按钮,点击进入下载页面。
  2. 在下载页面中,你会看到不同版本的 Tomcat 可供选择。建议选择最新的稳定版本,以获取更好的性能和安全性。例如,当前最新版本为 Tomcat 10.0.x,点击对应的下载链接,选择适合你操作系统的安装包(如 Windows 系统下载.zip格式的压缩包)。

三、安装 Tomcat

  1. 下载完成后,找到下载的 Tomcat 压缩包,将其解压到你希望安装的目录。例如,解压到C:\Program Files\Tomcat目录下。注意,解压目录的路径中不要包含中文和空格,以免出现不必要的问题。
  2. 解压完成后,进入 Tomcat 的安装目录,你会看到以下主要目录结构:
    1. bin:存放启动和停止 Tomcat 的脚本文件,以及一些命令行工具。
    2. conf:存放 Tomcat 的配置文件,如server.xml、web.xml等,这些文件对于 Tomcat 的运行和配置至关重要。
    3. lib:存放 Tomcat 运行所需的各种类库文件。
    4. logs:存放 Tomcat 运行过程中产生的日志文件,方便排查问题。
    5. webapps:这是部署 Web 应用的目录,将 Web 应用打包成 WAR 文件后,放置在此目录下,Tomcat 会自动解压并部署。
    6. work:存放 Tomcat 运行时产生的临时文件。

四、配置环境变量

  1. 为了方便在命令行中启动和停止 Tomcat,需要配置CATALINA_HOME环境变量。在设置中搜索环境变量
  2. 在 “环境变量” 窗口中,点击 “新建” 按钮,在 “变量名” 中输入CATALINA_HOME,在 “变量值” 中输入 Tomcat 的安装目录,如C:\Program Files\Tomcat,然后点击 “确定”。
  3. 接着,在 “系统变量” 中找到Path变量,点击 “编辑”。
  4. 在Path变量的末尾添加%CATALINA_HOME%\bin,然后点击 “确定” 保存设置。

五、启动和测试 Tomcat

  1. 在bin目录下打开命令提示符(CMD),输入startup命令,按下回车键。如果一切正常,你会看到 Tomcat 启动的日志信息,显示 Tomcat 正在监听默认端口 8080。
  1. 打开浏览器,在地址栏中输入http://localhost:8080,如果看到 Tomcat 的欢迎页面,说明 Tomcat 安装成功。如果无法访问,可能是端口被占用,可以修改 Tomcat 的配置文件server.xml(在conf目录下),将默认端口 8080 改为其他未被占用的端口。

六、部署 Web 应用

  1. 将你的 Java Web 应用打包成 WAR 文件。如果使用 Maven 项目,可以在项目根目录下执行mvn clean package命令,生成 WAR 文件。
  2. 将生成的 WAR 文件复制到 Tomcat 的webapps目录下。Tomcat 会自动检测到新添加的 WAR 文件,并将其解压部署。
  3. 部署完成后,在浏览器中输入http://localhost:8080/应用名(应用名即 WAR 文件的文件名,不包含.war后缀),即可访问你的 Web 应用。

七、生成War文件的方法

  1. 确保项目结构正确
    • 确认项目具有标准的 Web 项目结构,通常包含src目录用于存放 Java 源代码,WebContentwebapp目录用于存放 Web 相关资源,如 HTML、CSS、JavaScript、JSP 文件等。在WebContentwebapp目录下,还应有WEB-INF目录,其中包含web.xml文件,用于配置 Web 应用的相关信息。
  2. 配置 Artifacts
    • 打开 IDEA,选择 “File” -> “Project Structure”。
    • 在弹出的窗口中,选择 “Artifacts”。
    • 点击 “+” 按钮,选择 “Web Application: Archive”,然后选择 “Empty”。
    • 配置 WAR 文件结构

      • 添加 Web 资源:将项目中的 HTML、CSS、JavaScript 等静态资源添加到 WAR 文件的根目录。点击 + 号,选择 Directory Content,指定静态资源所在的目录(如 src/main/webapp)。
      • 添加 lib 目录:在 WEB - INF 目录下,创建 lib 目录。将项目依赖的所有 JAR 文件添加到该 lib 目录中。点击 + 号,选择 JARs or directories,然后逐个选择所需的 JAR 文件。
      • 添加 classes 目录:在 WEB - INF 目录下,再次点击 + 号,选择 Directory,创建 classes 目录。然后,将项目编译后的 .class 文件添加到该 classes 目录中。你可以通过点击 + 号,选择 Directory Content,然后指定项目编译输出目录(通常是 out/production/<项目名>)。
      • 添加 Web 资源:将项目中的 HTML、CSS、JavaScript 等静态资源添加到 WAR 文件的根目录。点击 + 号,选择 Directory Content,指定静态资源所在的目录(如 src/main/webapp)。
  3.  构建 WAR 文件
    • 完成上述配置后,关闭 Project Structure 窗口。
    • 选择 Build -> Build Artifacts,在弹出的菜单中选择你刚刚创建的 WAR Artifact,然后选择 Build
    • 构建完成后,你可以在 out/artifacts 目录下找到生成的 WAR 文件。

八、总结

通过以上步骤,你已经成功安装和部署了 Tomcat,并可以将自己的 Java Web 应用部署到 Tomcat 上进行测试和运行。在实际开发中,还可以根据项目需求对 Tomcat 进行进一步的配置和优化,如调整线程池大小、配置虚拟主机等。希望本文能帮助你顺利开启 Java Web 开发之旅,享受 Tomcat 带来的便捷与高效。

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

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

相关文章

DeepSeek-R1-Zero:基于基础模型的强化学习

注&#xff1a;此文章内容均节选自充电了么创始人&#xff0c;CEO兼CTO陈敬雷老师的新书《自然语言处理原理与实战》&#xff08;人工智能科学与技术丛书&#xff09;【陈敬雷编著】【清华大学出版社】 文章目录 DeepSeek大模型技术系列四DeepSeek大模型技术系列四》DeepSeek-…

Redis初识

Redis是什么 Redis是一个在内存中存储数据的中间件&#xff0c;它可以用于作为数据库&#xff0c;用于作为数据的缓存&#xff0c;市面上作为数据缓存的不止Redis一家&#xff0c;但为啥我们要学习Redis呢&#xff1f;因为Redis有一些特性和优点&#xff0c;让Reids在市面上脱…

DeepSeek今日连开3源!针对优化的并行策略,梁文锋本人参与开发

DeepSeek开源周第四天&#xff0c;直接痛快「1日3连发」&#xff0c;且全都围绕一个主题&#xff1a; 优化并行策略。 DualPipe&#xff1a;一种创新的双向流水线并行算法&#xff0c;能够完全重叠前向和后向计算-通信阶段&#xff0c;并减少“流水线气泡”。它通过对称的微批…

打印九九乘法表

打印九九乘法表 package struct; ​ public class ForDemo04 {public static void main(String[] args) { ​for (int i 1; i < 9; i) {//System.out.println(1"*"i""(1*i));for (int j 1; j < i; j) {System.out.print(i"*"j"&qu…

机器学习的起点:线性回归Linear Regression

机器学习的起点&#xff1a;线性回归Linear Regression 作为机器学习的起点&#xff0c;线性回归是理解算法逻辑的绝佳入口。我们从定义、评估方法、应用场景到局限性&#xff0c;用生活化的案例和数学直觉为你构建知识框架。 回归算法 一、线性回归的定义与核心原理 定义&a…

DeepSeek 提示词:常见指令类型

&#x1f9d1; 博主简介&#xff1a;CSDN博客专家&#xff0c;历代文学网&#xff08;PC端可以访问&#xff1a;https://literature.sinhy.com/#/?__c1000&#xff0c;移动端可微信小程序搜索“历代文学”&#xff09;总架构师&#xff0c;15年工作经验&#xff0c;精通Java编…

查询NFT图片地址

前言 有人给我发了nft&#xff0c;但是没有图片&#xff0c;我就很纳闷为什么&#xff0c;所以想一探究竟 解决思路 先说下环境吧 Sepolia 测试网 metamask钱包 需要获取nft的合约地址和token id 钱包内 nft可以查得到 思路&#xff1a; 我的理解就是ERC721有标准的…

一个滑块可变色的Seekbar

因项目需要&#xff0c;做一个如下图的滑动条&#xff0c;要求如下&#xff1a; 1、滑块跟着进度条改变颜色 2、滑块有白色边和内部颜色组成 大体思路&#xff0c;就是背景需要UI按照需求提供&#xff0c;然后变色时&#xff0c;根据滑动回调动态设置对应的颜色。 直接上代码…

重大更新!锂电池剩余寿命预测新增 CALCE 数据集

往期精彩内容&#xff1a; 单步预测-风速预测模型代码全家桶-CSDN博客 半天入门&#xff01;锂电池剩余寿命预测&#xff08;Python&#xff09;-CSDN博客 超强预测模型&#xff1a;二次分解-组合预测-CSDN博客 VMD CEEMDAN 二次分解&#xff0c;BiLSTM-Attention预测模型…

实时时钟(RTC)/日历芯片PCF8563的I2C读写驱动(2):功能介绍

0 参考资料 PCF8563数据手册&#xff08;第 11 版——2015 年 10 月 26 日&#xff09;.pdf 1 功能介绍 1.1 实时时钟&#xff08;RTC&#xff09;/日历 &#xff08;1&#xff09;PCF8563支持实时时钟&#xff08;RTC&#xff09;&#xff0c;提供时、分、秒信息。对应寄存器…

Xcode如何高效的一键重命名某个关键字

1.选中某个需要修改的关键字&#xff1b; 2.右击&#xff0c;选择Refactor->Rename… 然后就会出现如下界面&#xff1a; 此时就可以一键重命名了。 还可以设置快捷键。 1.打开Settings 2.找到Key Bindings 3.搜索rename 4.出现三个&#xff0c;点击一个地方设置后其…

Grok 3 的崛起:AI 的新时代

AI 领域再次震动&#xff0c;一款全新的深度思考大型语言模型正式亮相。它不仅碾压了现有的各项基准测试&#xff0c;还成功登顶 LM Marina 排行榜&#xff0c;夺得第一名。这款 AI 不是别人&#xff0c;正是埃隆马斯克那款“基于事实、敢言无忌”的 Grok 3——一个号称既极为聪…

ros安装rqt_joint_trajectory_controller

有时候&#xff0c;我们可以看到别人的代码里面有这个&#xff0c;但是这个是需要安装的。 <node name"gui_controller" pkg"rqt_joint_trajectory_controller" type"rqt_joint_trajectory_controller" />sudo apt-get install ros-noeti…

ARM Linux LCD上实时预览摄像头画面

文章目录 1、前言2、环境介绍3、步骤4、应用程序编写4.1、lcd初始化4.2、摄像头初始化4.3、jpeg解码4.4、开启摄像头4.5、完整的程序如下 5、测试5.1、编译应用程序5.2、运行应用程序 6、总结 1、前言 本次应用程序主要针对支持MJPEG格式输出的UVC摄像头。 2、环境介绍 rk35…

是德科技keysight N5173B信号发生器,是一款经济高效的仪器

是德科技keysight N5173B信号发生器安捷伦N5173B信号源 是德N5173B微波模拟信号发生器&#xff0c;拥有 9 kHz 至 40 GHz 的频率覆盖范围&#xff0c;N5173B为宽带滤波器、放大器、接收机等器件的参数测试提供了必要的信号&#xff0c;是一款经济高效的仪器。 N5173B特点&…

【Redis】在Java中以及Spring环境下操作Redis

Java环境下&#xff1a; 1.创建maven 项目 2.导入依赖 <!-- redis --><dependency><groupId>redis.clients</groupId><artifactId>jedis</artifactId><version>4.3.2</version></dependency> 此处使用的是Jedis&…

registry 容器镜像测试

registry 封装容器部署环境测试 封装打包镜像 dockerfile # 阶段 1&#xff1a;构建阶段&#xff08;使用多阶段构建以减少最终镜像大小&#xff09; FROM golang:1.22-alpine AS builder # 安装构建所需工具 RUN #apk add --no-cache git # 设置工作目录 WORKDIR /app # 将…

Python视频网站(Django框架)

有需要请加文章底部Q哦 可远程调试 Python视频网站(Django框架) 一 介绍 此Python视频网站基于Django框架开发&#xff0c;数据库mysql&#xff0c;前端jquery.js。系统角色分为用户和管理员。 技术栈:Python3(Django框架)MySQLjquery.jsPyCharmnavicat 二 功能 用户 1 注册…

多元数据直观表示(R语言)

一、实验目的&#xff1a; 通过上机试验&#xff0c;掌握R语言实施数据预处理及简单统计分析中的一些基本运算技巧与分析方法&#xff0c;进一步加深对R语言简单统计分析与图形展示的理解。 二、实验内容&#xff1a; bank.csv文件中数据来自1969-1971年美国一家银行的474名职…

在MacOS上打造本地部署的大模型知识库(一)

一、在MacOS上安装Ollama docker run -d -p 3000:8080 --add-hosthost.docker.internal:host-gateway -v open-webui:/app/backend/data --name open-webui --restart always ghcr.io/open-webui/open-webui:main 最后停掉Docker的ollama&#xff0c;就能在webui中加载llama模…