Tomcat的初步学习

news2024/11/24 19:39:32

Tomcat

~~ 一个 HTTP 服务器

HTTP协议就是HTTP客户端和HTTP服务器之间通信使用的协议,
HTTP客户端就是浏览器(当然也有别的).
HTTP服务器,则有很多种实现.
tomcat 是 Java 圈子中, 最知名, 最广泛使用的 HTTP 服务器

Tomcat的下载安装

官网链接

image-20231205114228448

Apache (阿帕奇)最早也是个开源的 http 服务器.后来逐渐影响力越来越大,形成了一个开源社区,开源社区又进一步的搞出了很多的开源产品. 开源社区: 一群大佬,凑到一起去研发一些开源软件.

  1. 在左侧的 Download 中选择Tomcat 8

image-20231205140656008

  1. 下载应该 zip 压缩包, 解压缩到任意路径就行了

image-20231205141938337

博主在这里使用的就是tomcat 8 .因为tomcat 的版本,和后续学习的 servlet版本是有强相关的 , 此处使用tomcat 8,对应的servlet就是 3.1.

当然,有些学校要求的是tomcat的其它版本,也不需要担心,选择其它版本下载即可.tomcat是个绿色软件,解压缩就能用,一个电脑上完全可以同时装多个版本的tomcat ,没什么影响.
博主提醒: tomcat是基于 java 实现的.要求你的机器上得有 jdk ! 如果你没 jdk, 显然tomcat是运行不起来的.


Tomcat的目录结构

针对 tomcat 目录解压缩之后, 可以看到如下结构

image-20231205151308305


启动 Tomcat 服务器

打开 bin目录 ,找到startup.batstartup.sh.
startup.bat: 给 windows 使用启动 Tomcat 服务器的
startup.sh: 给 linux 和 mac 使用启动 Tomcat 服务器的

image-20231205152524857

由于博主的是windows电脑,于是选择双击startup.bat.

image-20231205153040706

注: 服务器,都是上述这样的命令行程序.

此处乱码的原因: Tomcat 默认按照 UTF-8 的编码方式处理中文, 而 windows 的 cmd 默认是 GBK 编
码. 由于是 IDEA 中的终端来启动 Tomcat, 则没有乱码问题, 因此此处的乱码我们暂时不处理.


访问一下tomcat的欢迎页面

tomcat的欢迎页面: tomcat自带的一个 webapp

在浏览器中输入 127.0.0.1:8080 即可看到 Tomcat 的默认欢迎页面.

这个就是tomcat的欢迎页面(tomcat必须是运行状态,才能访问)

image-20231205232310582

127.0.0.1:8080
127.0.0.1=> IP 地址.
8080 => tomcat默认的端口号.
类似于mysql默认端口是3306.默认的端口号是可以修改的(当前没必要修改)


Tomcat启动异常的解决

如果你运行 startup.bat, tomcat启动不了,窗口一闪而逝.

这种情况原因可能有很多种,最关键的是能够看到出错信息!!! (把.bat这个程序拖到cmd中运行)

最常见的一种原因是端口号被占用.

Tomcat 启动的时候默认会绑定 8080 和 8005 端口.
如果有其他进程已经绑定了这两个端口中的任意一个, 都会导致 Tomcat 不能启动.
在命令行中使用 netstat -ano | findstr 8080 确定看 8080 是否被其他进程绑定, 把对方进程杀掉,
再重新启动 Tomcat 一般就可以解决问题

  1. 查看 8080 是否被其他进程绑定

image-20231206000036755

  1. 可以在任务管理器中找到这个进程, 并干掉这个进程

image-20231206003505784

image-20231206130332287

image-20231206130825715

还有一种典型的错误原因.

就是是没有配置环境变量(JAVA_HOME, JRE_HOME,CATALINA_HOME...).你看报错缺哪个就配置哪个即可.
其实理论上来说,不用配置环境变量,也能正常运行, 但是有的电脑就是得配环境电脑.

博主带你们配一下:

image-20231207143533945

image-20231207143734376

image-20231207144240865

image-20231207144657483

image-20231207144913674



tomcat的使用 ~~ 部署纯前端的页面

使用tomcat最大的用途,就是把我们写好的网站,给部署上去
网站 = 前端+后端
以部署博客系统页面设计的前端代码为例,来进行示范.

相关代码链接:

百度网盘链接
夸克网盘链接

  1. 就是把你的代码,拷贝到 webapps 目录中

image-20231207093350860

  1. 需要重启下tomcat

image-20231207093628853

  1. 再通过浏览器访问博客系统页面.

访问结果如下:

image-20231207151154353

image-20231207152112459

image-20231207152355855

image-20231207152533327



image-20231207153605750

BlogSystem为第一级路径,也叫做application path / context path

http://127.0.0.1:8080/BlogSystem/blog_list.html => 通过网络来访问的
file:///D:/S/Tomcat/apache-tomcat-8.5.96/webapps/BlogSystem/blog_list.html => 通过文件路径来访问的

区别: 通过网络,可以跨主机访问,而通过文件路径不行!

博主的遗憾:

当前博主电脑上的tomcat这里的博客系统页面,能够让你们访问一下嘛??
答案是不能的! NAT惹的祸!要想能让你们访问,需要有外网IP,博主得买个云服务器.等博主过段时间学习linux,购买云服务器之后,再来给你们操作.

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

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

相关文章

【Python】 Python web开发库大全

库排序是按照使用人数和文档的活跃度为参考进行的,建议大家使用排名靠前的框架,因为它们的文档更齐全,技术积累要更多,社区更繁盛,能得到更好的支持,这样在遇到自己无法解决的问题,可以更快更高…

收藏!当今最流行的10 种人工智能算法

人工智能的概念始于1956年的达特茅斯会议,由于受到数据、计算力、智能算法等多方面因素的影响,人工智能技术和应用发展经历了多次高潮和低谷。 2022年以来,以ChatGPT为代表的大模型一夜爆火,它能够基于在预训练阶段所见的模式和统…

Unity UGUI TextMeshPro实现输入中文和表情包(Emoji)表情

目录 实现中文显示 准备工作 1、打开Window——TextMeshPro——FontAssetCreator 2、把字体文件放入SourceFont中 3、把CharacterSet改为Characters from File 4、把字体库文件放入Characters File 5、设置好参数点击Generate Font Atlas等待完成后保存 6、把生成后保存…

代码随想录算法训练营第44天| 完全背包 518. 零钱兑换 II 377. 组合总和 Ⅳ

JAVA代码编写 52. 携带研究材料 题目描述 小明是一位科学家,他需要参加一场重要的国际科学大会,以展示自己的最新研究成果。他需要带一些研究材料,但是他的行李箱空间有限。这些研究材料包括实验设备、文献资料和实验样本等等,…

在Ascend昇腾硬件用npu加速paddleLite版本ocr(nnadapter)

在Ascend昇腾硬件用npu加速paddleLite版本ocr(nnadapter) 参考文档* nnadapter参考文档地址* 华为昇腾 NPU参考文档地址* PaddleLite的CAPI参考文档 一.确保cpu版本运行正常二.编译Ascend上npu加速库三.跑通npu加速版本Demo1.Demo下载地址2.参考手册网址…

Python 作业答疑

1. 哥德巴赫猜想 问题描述: 2000以内的不小于4的正偶数都能够分解为两个素数之和(即验证歌德巴赫猜想对2000以内的正偶数成立)。 问题分析: 根据问题描述,为了验证歌德巴赫猜想对2000以内的正偶数都是成立的&#…

html+css+js 三亚旅游网页设计与制作实例(6个页面)

一、作品介绍 HTMLCSSJS网页设计与制作,三亚旅游网页设计与制作实例, 本实例适合于初学HTMLCSSJS的同学。该案例里面有divcss的样式布局设置,这个实例比较全面,有一级页、二级页、详情页、输入表单等,共6个页面。本文…

(Gemini)双子座:一系列高能力多模态模型的前世今生

🌷🍁 博主猫头虎 带您 Go to New World.✨🍁 🦄 博客首页——猫头虎的博客🎐 🐳《面试题大全专栏》 文章图文并茂🦕生动形象🦖简单易学!欢迎大家来踩踩~🌺 &a…

推荐一个开源的监控程序-Uptime

先放几张截图介绍一下 现场演示 尝试一下! 东京演示服务器:https://demo.uptime.kuma.pet(由 Uptime Kuma 赞助商 赞助) 这是一个临时的现场演示,所有数据将在10分钟后删除。使用距离您较近的一个,但我建…

《使用ThinkPHP6开发项目》 - 安装ThinkPHP框架

1.安装ThinkPHP6框架 这里我们使用的是composer安装的安装方式,请确保电脑已经安装了composer,如未安装可查看Composer 安装与使用 | 菜鸟教程 composer create-project topthink/think tp 上面命令安装的是稳定版的,也是最新的稳定版&…

Pygame游戏实战七:求解迷宫

介绍模块 本游戏使用的是由Pycharm中的pygame模块来实现的,也可以在python中运行。通过Pygame制作一个迷宫,迷宫可以自定义,出入口,通过移动来逃离迷宫,走到出口,看看这个是你小时候玩的游戏吗&#xff1f…

FFA 2023 明日开幕,Flink 智能诊断、小红书流批一体实践精彩来袭

近年来,流批一体的技术思想势头火热,即“将批处理和流处理相结合,实现更好的数据处理能力”,已成功从理论层面走进现实世界。Flink 是一款高吞吐量、低延迟的流处理引擎,具备统一接口、高性能、低延迟、容错性和可扩展…

软著项目推荐 深度学习验证码识别 - 机器视觉 python opencv

文章目录 0 前言1 项目简介2 验证码识别步骤2.1 灰度处理&二值化2.2 去除边框2.3 图像降噪2.4 字符切割2.5 识别 3 基于tensorflow的验证码识别3.1 数据集3.2 基于tf的神经网络训练代码 4 最后 0 前言 🔥 优质竞赛项目系列,今天要分享的是 &#x…

@德人合科技 | 数据透明加密防泄密系统\文件文档加密\设计图纸加密|源代码加密防泄密软件系统,——防止内部办公终端核心文件数据/资料外泄!

一款专业的数据防泄密管理系统,它采用了多种加密模式,包括透明加密、半透明加密和落地加密等,可以有效地保护企业的核心数据安全。 PC端访问地址: https://isite.baidu.com/site/wjz012xr/2eae091d-1b97-4276-90bc-6757c5dfedee …

AWR1642 boost开发板支持的TI参考设计

打开radar_toolbox_1_30_00_05\source\ti\examples\examples_overview,通过输入“1642”查找AWR1642 BOOST支持的参考设计,通过筛选,支持AWR1642 BOOST的参考设计如下: 挑选出两个参考设计上手,一个是“nonos_oob_16xx",不带OS;另一个是”short range radar“,比较…

单月创作15个10w+作品,内容创作迎来新浪潮

据11月16日腾讯发布的Q3财报显示,本季度视频号总播放量同比增长超过50%,原创内容播放量增长强劲,视频号作为微信生态内最具增长潜力的产品之一,已然成为腾讯营收新动力。 为帮助大家更好地洞察视频号平台的内容趋势及创作风向&…

矿山数字孪生-只需要这几步就能快速构建智慧矿山管理系统

在万物互联、智慧协同的技术浪潮下,矿山日常管理及运营中使用到的智慧化平台越来越丰富,而各个管理子系统间往往独立,相互为数据孤岛。智慧矿山管理平台就是将各个孤岛中的数据及功能汇集起来,形成统一的、联动的管理门户。 智慧…

负债127万美元的【后羿国际】申请1亿美元纳斯达克IPO上市

来源:猛兽财经 作者:猛兽财经 猛兽财经获悉,总部位于深圳的后羿国际(HOUYI DIGITAL INTERNET INDUSTRY TECHNOLOGY CO., LTD)近期已向美国证券交易委员会(SEC)提交招股书,申请在纳斯…

LabVIEW使用单板RIO开发远程监控电源信号

LabVIEW使用单板RIO开发远程监控电源信号 设计和构建用于智能电网的本地功耗分析系统,主要服务于领先的电力监控设备设计者和制造商。随着智能电网投资的增加,对于能够有效处理替代电源(如太阳能和风能)间歇性功率水平的技术需求…

Swift 中 User Defaults 的读取和写入

文章目录 前言介绍 User Defaults共享 User DefaultsUser Defaults 存储数据类型响应更改监控 User Defaults 更改覆盖User Defaults 设置考虑的替代方案Keychain 用于安全性用于跨平台的 CloudKit 结论 前言 User Defaults 是 Swift 应用程序存储在应用启动之间保持的首选项的…