当前位置: 首页 > news >正文

浅谈Tomcat

文章目录

  • 一、什么是Tomcat?
  • 二、Tomcat的下载安装
  • 三、使用tomcat访问资源

一、什么是Tomcat?

Tomcat 就是一个 HTTP 服务器。

前面我们聊了HTTP服务器,像我们在网页输入URL,其实就是在给人家的HTTP服务器发送请求,既然有HTTP服务器,那就肯定有HTTP客户端。

HTTP客户端,就是我们日常使用的浏览器。

我们自己也可以搭建一个HTTP服务器,其实就是搭建网站的 ”后端部分“,本质上就是写个 TCP socket 服务器。但是会比较麻烦,有许多重复性的工作。

因此就可以使用别人已经实现了的现成 HTTP 服务器进行网站开发,此时就不用自己从头到尾开发一个服务器了,只需要基于这些HTTP服务器进行二次开发即可。

学习了Tomcat之后,需要能够熟练运用Tomcat的api,并且基于Tomcat开发网站后端程序。

二、Tomcat的下载安装

1)、打开官网下载:官网链接
在这里插入图片描述
在这里插入图片描述

(上面的 Apache 是一个开源组织,开发了很多程序)
安装好tomcat后,可以将其文件夹解压缩,看看文件夹里的目录:
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

2)、双击 start.bat ,启动 tomcat
在这里插入图片描述
启动成功。

然后在浏览器中输入 127.0.0.1:8080 就可以看到 tomcat 这个欢迎界面了。
在这里插入图片描述

三、使用tomcat访问资源

test.html:

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>testhtml</title>
</head>
<body><h1 style="font-weight: 90%; font-size: 90px; color: aquamarine;">hello world!</h1>
</body>
</html>

在这里插入图片描述
那我们如何通过 tomcat 的 http 服务器获取到这个页面,而不是直接双击本地打开呢??

我们需要将这个页面 test.html 放到 tomcat 的 目录webapps 下的 ROOT 目录:
在这里插入图片描述
此时就可以通过 tomcat 的 http服务器访问本机电脑的资源了,而不再是通过
双击打开的方式。
在这里插入图片描述
但是既然可以通过双击就能打开此网站,为啥还要通过http服务器访问呢?双击打开时,显示的资源只有你自己能看到,因为此资源只存在你的主机上,但是通过 tomcat ,别人就可以通过这个URL,在他自己的电脑上访问我们主机上的资源,我们也可以访问别人主机上的资源。

但是现在如果你访问我上面这个URL :localhost:8080/test.html ,你是没办法访问到我的这个网页资源的,这是因为NAT机制,由于在不同的局域网里,ip地址能够重复,因此你没办法访问。当我将tomcat放到云服务器上时,云服务器就会提供一个公网ip,此时才能访问到。

如果资源比较多,可以不用将文件放到 ROOT 目录下,而是在 webapps 目录下创建一个新目录,将文件放在新目录下即可。

相关文章:

  • FastGPT 手动部署错误:MongooseServerSelectionError: getaddrinfo EAI_AGAIN mongo
  • CSRF是什么攻击 该如何解决
  • 合同网协议实现无人机分布式任务分配的原理介绍和代码逻辑框架
  • 6月28日PolarDB开源社区长沙站,NineData联合创始人周振兴将带来《数据库DevOps最佳实践》主题分享
  • 深入探索 WebKit 的事件处理模型:机制与实践
  • 汽车IVI中控开发入门及进阶(三十三):i.MX linux开发之开发板
  • 【linux学习---1】点亮一个LED---驱动一个GPIO
  • 使用python做飞机大战
  • Android Service两种启动方式的区别
  • 无人机云台的类型及其作用
  • deepstream 6.2版本下载链接
  • 为什么我感觉 C 语言在 Linux 下执行效率比 Windows 快得多?
  • 什么是嵌入式,单片机又是什么,两者有什么关联又有什么区别?
  • Dubbo负载均衡策略都有哪些(简单描述)
  • CS2黑屏、闪退、掉线的解决方法一览
  • 2017届校招提前批面试回顾
  • Brief introduction of how to 'Call, Apply and Bind'
  • CSS 专业技巧
  • fetch 从初识到应用
  • Gradle 5.0 正式版发布
  • Java深入 - 深入理解Java集合
  • Linux中的硬链接与软链接
  • NSTimer学习笔记
  • React中的“虫洞”——Context
  • socket.io+express实现聊天室的思考(三)
  • Tornado学习笔记(1)
  • vue-cli在webpack的配置文件探究
  • 编写高质量JavaScript代码之并发
  • 回顾2016
  • 适配mpvue平台的的微信小程序日历组件mpvue-calendar
  • 正则表达式小结
  • ​油烟净化器电源安全,保障健康餐饮生活
  • !!Dom4j 学习笔记
  • ### Error querying database. Cause: com.mysql.jdbc.exceptions.jdbc4.CommunicationsException
  • (14)目标检测_SSD训练代码基于pytorch搭建代码
  • (2024最新)CentOS 7上在线安装MySQL 5.7|喂饭级教程
  • (7)摄像机和云台
  • (C语言)逆序输出字符串
  • (八)Flask之app.route装饰器函数的参数
  • (附源码)python旅游推荐系统 毕业设计 250623
  • (附源码)spring boot基于小程序酒店疫情系统 毕业设计 091931
  • (附源码)springboot电竞专题网站 毕业设计 641314
  • (函数)颠倒字符串顺序(C语言)
  • (力扣记录)1448. 统计二叉树中好节点的数目
  • (三)docker:Dockerfile构建容器运行jar包
  • (一)为什么要选择C++
  • .NET Core WebAPI中封装Swagger配置
  • .NET delegate 委托 、 Event 事件
  • .NET Micro Framework初体验(二)
  • .Net MVC4 上传大文件,并保存表单
  • .NET/C# 使用反射调用含 ref 或 out 参数的方法
  • .Net8 Blazor 尝鲜
  • .net连接MySQL的方法
  • .NET使用HttpClient以multipart/form-data形式post上传文件及其相关参数
  • .Net转Java自学之路—SpringMVC框架篇六(异常处理)