Tomcat基本用法

news2024/12/29 9:15:33

Tomcat基本用法

  • 一、Tomcat 是什么
  • 二、下载安装
  • 三、目录结构
  • 四、启动服务器
  • 五、部署静态页面

一、Tomcat 是什么

汤姆猫?
在这里插入图片描述

事实上,Java 世界中的 “汤姆猫” 完全不是一回事,但是同样大名鼎鼎 ~
在这里插入图片描述
Tomcat 是一个 HTTP 服务器
前面我们已经学习了 HTTP 协议,知道了 HTTP 协议就是 HTTP 客户端和 HTTP 服务器之间交互数据的格式。
同时也通过 ajax 和 Java Socket 等 分别构造了 HTTP 客户端。
HTTP 服务器我们也同样可以通过 Java Socket 来实现。而 Tomcat 就是基于 Java 实现的一个开源免费,也是被广泛使用的 HTTP 服务器。

HTTP客户端,就是大家平时用的浏览器。需要开发实现一个服务器,搭建网站的"后端部分"。
开发实现一个服务器本质上就是写个 TCP socket 服务器。比较麻烦,有很多重复性工作。业界就有一些大佬,实现了一些现成的 HTTP 服务器,我们进行开发网站,就不必从头去写了,只需要基于这些 HTTP 服务器进行二次开发即可!
学习 Tomcat 目的就是能够熟练掌握 Tomcat 的 API,基于 Tomcat 开发网站后端程序。

HTTP 服务器,本质上就是一个 TCP 服务器,只不过在此基础上加了一些按照 HTTP 协议格式进行解析 / 构造的代码。咱们写网站后端,要做的就是调用Tomcat 提供的API进行二次开发.

二、下载安装

在 Tomcat 官网下载即可。这里我们使用的是 Tomcat 8 ~
链接:https://tomcat.apache.org/download-80.cgi

在这里插入图片描述
选择其中的 zip 压缩包,下载后解压缩即可。

解压缩的目录最好不要带 “中文” 或者 特殊符号。

三、目录结构

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

apache-tomcat-8.5.47\
  bin\ 存放各种启动、停止脚本的。*.sh 是以后在 linux 上用的,*.bat 是在 windows 上用的
 	startup.bat 启动服务,双击即可使用
 	startup.sh (linux、mac的启动服务)
  conf\ 相关的配置文件,目前我们不用关心
  	server.xml 这里可以配置 Tomcat 绑定哪个端口,以及 Tomcat 是否启用 https 啥的
  lib\ 运行 tomcat 需要的类库,我们不关心
  logs\ 运行时的日志文件,我们有时需要查看日志,来发现定位一些问题
  temp\ 临时文件夹,不关心
  webapps\ 存放我们要运行的 web application 的文件夹,对于我们最常用的一个文件夹
  work\ Tomcat 内部进行预编译的文件夹,我们不关心
  下面都是一些文档,有兴趣的同学可以自行阅读
  BUIDING.txt
  CONTRIBUTING.md
  LICENSE
  NOTICE
  README.md
  RELEASE-NOTES
  RUNNING.txt

其中我们最关注的目录就是 webapps 目录。web applications 的简称,意思是用来存放 web 应用的文件夹。
理解 “web 应用”:
一个具有独立完整功能的 “网站”,我们就可以称为一个 “web 应用”。
例如搜狗搜索实现了独立完整的 “搜索引擎功能”,淘宝网 实现了独立完整的 “电商功能”。
一个 Tomcat 服务器上是可以同时部署多个这样的 web 应用的,这些 web 应用以目录的形式被放到 webapps 目录中。

进入 webapps 目录:

在这里插入图片描述
每个文件夹都对应着一个 web 应用,可以在浏览器中分别访问每个 web 应用。

四、启动服务器

在 bin 目录中,双击 startup.bat 即可启动 Tomcat 服务器。
看到形如以下内容的日志,说明启动成功:
在这里插入图片描述

注意:在 Windows 上通过 cmd 方式启动 Tomcat 会出现乱码,但是不影响 Tomcat 的使用。
乱码的原因是 Tomcat 默认按照 UTF-8 的编码方式处理中文,而 windows 的 cmd 默认是 GBK 编码。
如果使用 Linux 或者 IDEA 中的终端来启动 Tomcat,则没有乱码问题,因此此处的乱码我们暂时不
处理 ~~

Tomcat 跑起来之后,在浏览器中输入 127.0.0.1:8080 (Tomcat默认端口8080) 即可看到 Tomcat 的默认欢迎页面:
在这里插入图片描述

如果看不到欢迎页面,检查 URL 的 IP 地址以及端口号是否正确,同时也要检查 Tomcat 是否启动成功。

如果启动失败怎么办?
最常见的启动失败原因是端口号被占用,Tomcat 启动的时候默认会绑定 80808005 端口。如果有其他进程已经绑定了这两个端口中的任意一个,都会导致 Tomcat 不能启动。
在命令行中使用 netstat -ano | findstr 8080 确定看 8080 是否被其他进程绑定,把对方进程干掉,再重新启动 Tomcat 一般就可以解决问题 ~~

在这里插入图片描述
形如这样的结果说明 8080 端口已经被占用,占用的进程是 13348 这个进程。然后就可以在任务管理器中找到并干掉这个进程。

五、部署静态页面

理解 “静态”
静态页面也就是内容始终固定的页面。即使 用户不同/时间不同/输入的参数不同,页面内容也不会发生变化 (除非网站的开发人员修改源代码,否则页面内容始终不变) ~~
对应的,动态页面指的就是 用户不同/时间不同/输入的参数不同,页面内容会发生变化。

举个例子:
Tomcat 的主页 https://tomcat.apache.org/ 就是一个静态页面:
在这里插入图片描述

而 B 站的主页 https://www.bilibili.com/ 则是一个动态页面:

在这里插入图片描述

前面写的 HTML,都是写成固定的内容,就可以理解成是 “静态页面” ~~

部署单个 HTML
我们可以把自己写好的 HTML 部署到 Tomcat 中。

  1. 创建 hello.html
<!doctype html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport"
        content="width=device-width, user-scalable=no, initial-scale=1.0, 
maximum-scale=1.0, minimum-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>hello</title>
    <style>
        div {
            font-size: 200px;
            color: red;
        }
    </style>
</head>
<body>
    <div>hello</div>
</body>
</html>
  1. 把 hello.html 拷贝到 Tomcat 的 webapps/ROOT 目录中
    在这里插入图片描述

index.jsp 就是欢迎页面 ~~

  1. 在浏览器中通过 URL http://127.0.0.1:8080/hello.html 来访问

直接这么写,就是找 /ROOT 下的文件 ~~
若要访问在其他文件夹里的文件,需要加上文件夹的路径!

在这里插入图片描述

这个页面就是通过 Tomcat 这个 HTTP 服务器来获取到的!

既然都可以直接双击本地打开,为啥还要通过 Tomcat 折腾一下???
双击本地打开只能访问自己电脑的;使用 Tomcat 可以通过网络访问到别人电脑的网页!但是此时并不可以,因为不在同一个局域网中 (NAT机制)!
注意: 127.0.0.1 为环回 IP,表示当前主机。此时别人无法通过这个 IP 访问到本地电脑上的页面。内网 IP 是会重复的!要想能够远程访问,势必要有一个外网 IP,怎样才能有外网 IP?可以使用云服务器 ~~ (后续讲解)

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

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

相关文章

公司如何做好舆情监控,舆情监控解决方案有哪些?

随着互联网快速发展&#xff0c;企业网络舆情动态成为决策发展的重要依据&#xff0c;所以做好网络舆情监控至关重要&#xff0c;接下来TOOM舆情监测小编带您简单了解公司如何做好舆情监控&#xff0c;舆情监控解决方案有哪些? 一、公司如何做好舆情监控 舆情监控是指通过不…

Spring Boot 使用 SpringDoc 库的 Swagger3.0

Swagger 定义 Swagger 是一个规范和完整的框架&#xff0c;用于生成、描述、调用和可视化 RESTful 风格的 Web 服务。总体目标是使客户端和文件系统作为服务器以同样的速度来更新。文件的方法&#xff0c;参数和模型紧密集成到服务器端的代码&#xff0c;允许API来始终保持同步…

房产管理系统平台安全性分析?

房产管理系统是数图互通公司自主研发的FMCenterV5.0平台&#xff0c;是针对中国高校房产的管理特点和管理要求&#xff0c;研发的一套标准产品&#xff1b;通过在中国100多所高校的成功实施和迭代&#xff0c;形成了一套成熟、完善、全生命周期的房屋资源管理解决方案。 以下是…

FL Studio21电脑版免费音乐编曲宿主软件下载

编曲主要考验电脑的处理器&#xff08;CPU&#xff09;性能、声卡。所以配置电脑的时候有条件的伙伴可以着重考虑这两方面。现在市面上惠普、戴尔、华为、苹果等品牌的电脑&#xff0c;在四五千这个范围的商务本&#xff0c;就可以胜任编曲工作。但是在一些较为庞大的工程中可能…

SolarMesh(微服务监管平台)安装教程

SolarMesh简介 SolarMesh是基于服务网格构建的微服务监管平台。SolarMesh基于 Istio 及容器技术&#xff0c;提供微服务流量监控和管理&#xff0c;提供完善的非侵入式服务治理解决方案&#xff0c;在提供Istio流量管理等基础能力外&#xff0c;还提供多集群纳管、监控告警、W…

为什么全球科技巨头都在布局超高清?

我们能明显地感受到&#xff0c;进入21世纪以来&#xff0c;影像视频所占用人类生活的时间、空间已达到人类诞生以来的最大值。根据《2022全球互联网现象报告》&#xff0c;2021年流媒体视频占互联网带宽流量的53.7%&#xff0c;比2020年提升了4.8%。衣食住行&#xff0c;休闲娱…

十亿人都在用的健康码,运维体系是怎么设计的?

导读&#xff5c;随着疫情防控模式的迭代&#xff0c;健康码访问DAU逐渐趋于下跌&#xff0c;意味着健康码将逐步完成历史使命&#xff0c;见证着疫情的结束。本文特邀腾讯研发工程师李雄政将从技术架构、可观测体系、运营保障体系等运维体系多方面&#xff0c;总结回顾健康码业…

骨传导耳机到底怎么样,五款好用的骨传导耳机推荐

还有很多人不知道骨传导耳机使用感受到底如何&#xff0c;骨传导耳机是开放式的听音方式&#xff0c;在使用骨传导耳机时&#xff0c;会更加安全、耳机的声音相对于入耳式的声音会更加具有空间立体感&#xff0c;具体使用感感受到底如何&#xff0c;看下文大家就有一定的了解了…

服务器ssl证书升级

最近服务器扫描出ssl证书是使用弱哈希算法签名的SSL证书(CVE-2004-2761)【原理扫描】&#xff0c;要求联系证书颁发机构重新颁发证书。使用弱哈希算法签名SSL证书的端口有1433&#xff0c;3389。所有要对这俩端口配置一个新的证书。算法且满足sha256。 下面是我我服务器证书升…

国际原子时(TAI),GPS时间,协调世界时(UTC)以及rinex文件起止时间

最近学习使用PRIDE-PPPAR处理GNSS原始数据&#xff0c;判断rinex文件是不是单天的问题实在让人费解。必应搜索了一下&#xff0c;结合手头上的软件&#xff0c;问题大致弄清楚了。 比如现在有1个rinex文件&#xff1a;GPSR0190.19O&#xff0c;如果用PRIDE-PPPAR 的命令pdp3处…

零售行业R公司对接亚马逊Amazon Device EDI项目案例

为了满足平台货物的多样性&#xff0c;亚马逊Amazon邀请了来自全球各地的优秀供应商加入其供应链体系。要管理如此庞大的供应商群体&#xff0c;需要完成大量的数据处理工作&#xff0c;位列世界500强的Amazon是如何传输这些数据的呢&#xff1f; 答案是&#xff1a;通过EDI&a…

基于Amlogic 安卓9.0, 驱动简说(三):使用misc框架,让驱动更简单

文章目录一、前文总结二、系列文章三、MISC框架驱动四、解析&#xff1a;完整源码4.1 helloworld_misc_amlogic_driver.c4.2 Makefile五、编译执行&#xff08;1&#xff09;编译及部署&#xff08;2&#xff09;运行六、应用层调用6.1 APP源码6.2 命令及运行效果七、源码下载八…

思考札记1

2022年12月26日 今天看了荣耀新出的80GT&#xff0c;主处理器是第一代骁龙8&#xff0c;以及一个辅助处理器&#xff0c;性能怎么样不知道&#xff0c;但是12256价格来到了 3299&#xff0c;主摄5400万像素&#xff0c;感觉偏贵&#xff0c;我是不会买的 可能这机子就是主打性能…

【杂谈】一个项目获得10倍学费收入,我在有三AI学以致用的故事

各位有三AI的读者朋友们大家好&#xff0c;作为一名在职AI算法工程师和有三AI的读者&#xff0c;今天和大家分享一下我和有三AI几年来结识和学习的经历&#xff0c;希望对大家有所帮助。结识有三AI2019年我刚工作时对AI理论基础和实践经验还非常不足&#xff0c;因此工作之余我…

质数距离 acwing

196. 质数距离 - AcWing题库 题意是给你一个区间[l,r]&#xff0c;相当于让你把这个区间里面所有的质数提出来&#xff0c;然后找到相邻质数距离最近和最远的第一个点在什么地方 看一下数据范围&#xff0c;不同的数据范围决定了用什么方法去做&#xff1a; 两个数据范围&…

Linux多路转接or多路复用模型

目录 一、功能 二、应用场景 三、多路转接模型的实现 1.select模型 1.1操作流程 1.2相关接口 1.3示例 1.4常见使用方式 1.5优缺点 2.poll模型 2.1操作流程 2.2相关接口 2.3示例 2.4优缺点 3.epoll模型 3.1操作流程 3.2相关接口 3.3常见使用方式 3.4epoll的事…

这一年,熬过许多夜,也有些许收获 | 2022年终总结

弹指一挥间&#xff0c;时间如白驹过隙。光阴似箭&#xff0c;日月如梭&#xff0c;时间如闪电&#xff0c;转瞬即逝。回望来时路&#xff0c;不觉潸然泪下… 一说到年终总结&#xff0c;好像都离不开这样煽情的开场白。但不可否认的是&#xff0c;时间确实过得很快&#xff0…

操作指南|通过Snapshot进行投票

Snapshot是一个去中心化的治理平台&#xff0c;包括Moonbeam社区在内的许多Web3社区都使用此平台进行民意投票。民意投票是一种非正式的链下治理流程&#xff0c;允许社区在链上投票之前就某件事发表意见。通过Snapshot进行的民意投票&#xff0c;以及在Moonbeam治理论坛上的讨…

canopen6.0-PDO发送

1、发送PDO 2、发送PDO参数说明 发送PDO标识符:180+NODEID 传输类型 0xff为跟随定时器发送 进制时间:防止某一个报文长时间占用总线设定的时间 envent timer:单位为ms,传输类型设置0xff,定时发送时间 3、发送PDO映射参数说明 PDO映射数目:PDO传输变量数量 7100 01 10h含义…

南卡和漫步者蓝牙耳机哪个好?国产蓝牙耳机南卡和漫步者360度对比评测

现如今&#xff0c;随着蓝牙技术的发展&#xff0c;越来越多的蓝牙耳机出现在我们的日常生活当中&#xff0c;国产蓝牙耳机也不遑多让&#xff0c;在制作上也更为精湛。现在的国产蓝牙耳机品牌有很多&#xff0c;但相较于一些新兴的国产品牌&#xff0c;人们更信赖一些国货老牌…