【 Tomcat 】

article/2025/8/18 12:43:28

文章目录

  • 一、了解 Tomcat
  • 二、目录结构
  • 三、如何使用
    • 3.1 启动tomcat
    • 3.2 启动失败的原因
  • 四、部署静态页面
    • 4.1 部署单个 HTML
    • 4.2 部署带有 CSS / JavaScript / 图片 的 HTML
    • 4.3 部署 HTML 到单独的目录中

一、了解 Tomcat

Tomcat 是一个 HTTP 服务器.

前面我们已经学习了 HTTP 协议, 知道了 HTTP 协议就是 HTTP 客户端和 HTTP 服务器之间的交互数据的格式.同时也通过 ajax 和 Java Socket 分别构造了 HTTP 客户端.HTTP 服务器我们也同样可以通过 JavaSocket 来实现. 而 Tomcat 就是基于 Java 实现的一个开源免费,也是被广泛使用的 HTTP 服务器

那什么是HTTP服务器呢?

HTTP服务器可以理解为就是在TCP服务器的基础上加上了一些额外的功能,能够解析请求中的HTTP报文,将请求转换成结构化数据(对象),能够很方便地构造HTTP响应。同时HTTP服务器提供了一组API方便程序猿直接调用来操作HTTP协议,从而简化开发

对来Tomcat来说它提供了 servlet API,后续我们会详细讲解


二、目录结构

下载解压缩后我们来观察下其目录结构:下载地址

在这里插入图片描述

常用的目录:

  1. bin: 存放各种启动、停止脚本的。.sh 是以后在 linux 上用的,.bat 是在 windows上用的.
    startup 即打开,shutdown 即关闭,双击即可使用
  2. conf: 相关的配置文件,是通过xml的格式来组织. 例如server.xml中就可以修改端口号
  3. logs: 记录了很多的日志,表示了tomcat的一些运行细节
  4. webapps: web applications 的简称, 意思是用来存放 web 应用的文件夹

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

一个web 应用可以理解为一个 servlet 程序.每个servelet程序都是一个war后缀的文件,tomcat会自动把这个war包解压缩得到一个目录。每个war就对应了一个webapp,而tomcat的webapps中可以部署多个servlet程序,所以tomcat也被称为 servelet 容器


三、如何使用

3.1 启动tomcat

若在windows系统上,双击bin目录中的 startup.bat,出现如下即成功

在这里插入图片描述

注意圈红的地方,出现这种情况是因为乱码了,解决乱码我们就要统一编码方式

在这里插入图片描述

但是,修改注册表是不明智的操作,稍不注意就可能让你的系统挂掉从而要重装系统。所以在cmd上我们就不用管乱码问题了,后面结合IDEA或在Linux上使用就不会乱码


若一切顺利地启动成功了,我们就可以通过 127.0.0.1:8080 看到 Tomcat 的默认欢迎页面如下:

在这里插入图片描述

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

3.2 启动失败的原因

3.2.1 端口号被占用

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

在这里插入图片描述

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

注意:不要重复启动 tomcat,会闪退


3.2.2 环境变量问题

在这里插入图片描述

具体如何解决环境变量问题导致的启动失败,观察报错提示并修改。如下:
在这里插入图片描述

上面提示了 CATALINA HOME的环境有问题,需要修改。在电脑中找到环境变量配置处做出如下修改:

在这里插入图片描述

其他问题与上面类似,需要配置好每一个环境变量即可成功,如下:

在这里插入图片描述

如果还没懂,可以参考下大佬的详细笔记!!!


四、部署静态页面

配置好了tomcat,我们先尝试部署静态页面,后面学习了 servlet 我们再来部署动态页面.

理解 “静态” :

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

举个栗子:

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

而 B 站的主页 https://www.bilibili.com/ 则是一个动态页面
在这里插入图片描述

4.1 部署单个 HTML

  1. 创建 hello.html

  2. 把 hello.html 拷贝到 Tomcat 的 webapps/ROOT 目录中
    在这里插入图片描述

  3. 在浏览器中通过 URL http://127.0.0.1:8080/hello.html 来访问
    在这里插入图片描述

4.2 部署带有 CSS / JavaScript / 图片 的 HTML

实际开发时我们的 HTML 不仅仅是单一文件, 还需要依赖一些其他的资源: CSS, JavaScript, 图片等.这些资源也要一起部署过去

在这里插入图片描述

通过 Fiddler 抓包, 可以发现此时浏览器和服务器之间有 4 个 HTTP 请求/响应的交互

在这里插入图片描述

  1. 在浏览器地址栏里输入 http://127.0.0.1:8080/hello2.html 会触发一次 GET 请求. 这个请求会拿到 hello2.html 的内容.
  2. 浏览器解析 hello2.html, 其中的 link 标签, img 标签, script 标签都会分别触发一次 GET 请求. 请求的 路径 分别为 /style.css , /doge.jpg , /app.js

4.3 部署 HTML 到单独的目录中

实际开发中我们的 HTML 可能不止一个, 依赖的 CSS / JavaScript 文件也可能比较多. 这个时候就不适合全都拷贝到 webapps/ROOT 目录中了(这就会显的比较乱).我们可以创建一个单独的目录, 和 ROOT 并列, 来存放我们要部署的内容

  1. 在 webapps 中创建目录 HelloApp, 和 ROOT 目录并列.
    在这里插入图片描述

  2. 把刚才创建的 hello2.html, style.css, doge.jpg, app.js 拷贝到 HelloApp 目录中

为了结构更清楚, 我们在 HelloApp 中又创建了一些子目录, css , img , js 来分别放 css , 图片,
JavaScript 文件

在这里插入图片描述

  1. 调整 hello2.html 的代码, 把引用 css, js, 图片的路径进行微调
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>静态页面</title>
<link rel="stylesheet" href="css/style.css">
</head>
<body>
<img src="img/doge.jpg" alt="">
<script src="js/app.js"></script>
</body>
</html>

形如 img/doge.jpg 这样的路径为相对路径.相对路径需要向确定当前路径, 然后再找到目标路径.其中 “当前路径” 是根据当前的 HTML 文件确定的. hello2.html 这个文件和 js/css/img 这些目录处在统计目录中. 因此就直接通过 img/doge.jpg 这样的方式来进行访问了

通过抓包可以看到, 浏览器和服务器之间同样是 4 次 HTTP 请求/响应 的交互
在这里插入图片描述

但是可以看到路径上和之前发生了变化.由于我们把这些文件都放到了 HelloApp 目录中, 通过 GET 请求访问这些文件时的路径也要带上HelloApp 此处的 HelloApp 称为 Application Path (应用路径) 或者 Context Path (上下文路径)



http://chatgpt.dhexx.cn/article/ne0SMjOI.shtml

相关文章

如何安装Tomcat 8.0

一.打开下载地址&#xff1a;https://tomcat.apache.org/download-80.cgi 根据需要下载不同版本的Tomcat&#xff0c;并根据操作系统选择不同的下载文件。建议下载zip格式的文件&#xff0c;这样可以免于安装。能够直接使用。当然&#xff0c;一些配置工作还是得做好。 二.解压…

Tomcat 8(一)Tomcat常用配置

操作系统&#xff1a;win8 Jdk版本&#xff1a;1.7.0_51 Jdk目录&#xff1a;C:ProgramFilesJavajdk1.7.0_51 Tomcat版本&#xff1a;8.0.3 Tomcat目录&#xff1a;D:ProgramFilesapache-tomcat-8.0.3 Tomcat8下载地址&#xff1a;http://tomcat.apache.org/download-80.c…

FTP协议详细解析

FTP的工作原理 FTP&#xff08;File Transfer Protocol&#xff09;协议&#xff0c;文件传输协议。提供交互式的访问&#xff0c;对传输文件的格式和类型有分类&#xff0c;允许文件具有存取权限。适合异构网络任意计算机的传送。 FTP有以下基本功能&#xff1a; 1.提供不同…

FTP(文件传输协议)

ftp &#xff08;文件传输协议&#xff09; FTP 是File Transfer Protocol&#xff08;文件传输协议&#xff09;的英文简称&#xff0c;是 TCP/IP 协议组中的协议之一。用于Internet上的控制文件的双向传输。同时&#xff0c;它也是一个应用程序&#xff08;Application&…

网络协议之FTP协议

1、什么是FTP协议&#xff1f; FTP 是File Transfer Protocol&#xff08;文件传输协议&#xff09;。用于ftp客户端和ftp服务器之间进行文本、文件传输的协议。与http的短连接不同&#xff0c;FTP协议是一种基于socket的长连接。 2、FTP协议的原理 FTP协议实际上是工作在TC…

FTP协议及使用

FTP协议概述FTP协议使用总结 FTP协议概述 FTP&#xff08;File Transfer Protocol&#xff0c;文件传输协议&#xff09;是典型的C/S架构的应用层协议&#xff0c;需要由服务端软件、客户端软件俩个部分共同实现文件传输功能。FTP客户端和服务器之间的连接是可靠的&#xff0…

FTP协议,带你了解FTP协议

目录 一、FTP的概述 1.FTP的理念 2.FTP数据连接模式 3.连接模式分类 4.主动和被动模式的工作原理 二、配置FTP服务 1、配置匿名用户FTP服务 1. 1安装FTP服务器软件 1.2 配置FTP服务器 1.3 重启FTP服务器 1.4 测试FTP服务器 2.关闭防火墙安装vsftpd软件包 3.开启FTP…

FTP协议的原理及配置

一、FTP概述 1、FTP&#xff08;File Transfer Protocol&#xff0c;超文本传输协议&#xff09; 是典型的c/s架构的应用层协议&#xff0c;需要由服务端软件、客户端软件两个部分共同实现文本传输功能。FTP客户端和服务器之间的连接是可靠的&#xff0c;面向连接的&#xff…

基于FTP协议的文件传输与下载

文章目录 一、FTP协议二、文件上传1.连接服务器2.登录操作3.上传操作 三.文件下载1.连接服务器2.登录操作3.下载操作 四. 总结 一、FTP协议 FTP(文件传输协议)&#xff0c;基于TCP/IP协议&#xff1b;也是C/S架&#xff0c;分为两部分&#xff1a;FTP服务器、FTP客户端。服务器…

基于FTP协议实现文件上传与下载

目录 一、FTP简介 二、关于FTP服务器 三、文件上传 分步讲解&#xff1a; 完整实现代码&#xff1a; 四、下载文件 分步讲解&#xff1a; 完整实现代码&#xff1a; 小结 一、FTP简介 FTP&#xff08;File Transfer Protocol&#xff09;即文件传输协议&#xff0c;是…

【FTP】——文件传输协议

文章目录 1.FTP简介1.1 FTP概述1.2 FTP主动模式1.3 FTP被动模式 2. 实例&#xff1a;匿名用户访问FTP服务3. 实例&#xff1a;本地用户访问FTP服务 1.FTP简介 1.1 FTP概述 FTP服务——用来传输文件的协议。 FTP服务器默认使用TCP协议的20、21端口与客户端进行通信. 20端口…

FTP协议使用

FTP协议大家都知道是文件传输协议&#xff0c;那这个协议到底是怎么样的呢&#xff0c;怎么用C语言是实现一个客户端呢&#xff1f; 我想通过这篇文章你能够理解FTP协议。 1-首先我们先了解一下FTP的工作流程 FTP分为 FTP服务器&#xff0c;FTP客户端&#xff0c;一般我们只…

FTP协议分析

一、实验名称 FTP协议分析 二、实验目标 1、理解FTP协议的工作原理&#xff1b; 2、了解FTP协议的常用命令&#xff1b; 3、了解应用层协议与传输层协议的关系 三、实验原理 FTP&#xff08;File Transfer Protocal&#xff09;&#xff0c;是文件传输协议的简称。FTP使…

FTP 文件传输协议

FTP&#xff1a; 使用FTP进行文件传输时&#xff0c;会使用两个TCP连接。第一个连接是FTP客户端和FTP服务器间的控制连接。FTP服务器开启21号端口&#xff0c;等待FTP客户端发送连接请求。FTP客户端随机开启端口&#xff0c;向服务器发送建立连接的请求。控制连接用于在服务器…

在互联网上传输文件 —— FTP协议

文章目录 FTP协议是什么FTP协议传输过程FTP命令和回答参考文献 FTP协议是什么 FTP&#xff08;File Transfer Protocol&#xff0c;文件传输协议&#xff09; 是TCP/IP 协议组中的协议之一。 FTP协议包括两个组成部分&#xff0c;其一为FTP服务器&#xff0c;其二为FTP客户端。…

文件传输协议(FTP)

因特网上使用的最广泛的文件传输协议。FTP提供交互式的访问&#xff0c;允许客户指明文件的类型与格式&#xff0c;并允许文件具有存储权限。它屏蔽了各个计算系统的细节&#xff0c;因而适合于在异构网络中的任意计算机之间传输文件。 FTP提供以下功能&#xff1a; 提供不同种…

FTP协议完全详解

1. 介绍 FTP的目标是提高文件的共享性&#xff0c;提供非直接使用远程计算机&#xff0c;使存储介质对用户透明和可靠高效地传送数据。虽然我们也可以手工使用它&#xff0c;但是它的主要作用是供程序使用的。在阅读本文之前最好能够阅读TCP协议标准规范和Telnet协议标准规范。…

FTP协议(文件传输协议)

FTP是FileTransferProtocol&#xff08;文件传输协议&#xff09;的英文简称&#xff0c;而中文简称为“文传协议”。用于Internet上的控制文件的双向传输。同时&#xff0c;它也是一个应用程序&#xff08;Application&#xff09;。基于不同的操作系统有不同的FTP应用程序&am…

FTP文件传输协议详解

简介&#xff1a;FTP是基于TCP协议之上的具有C/S架构的文件服务器。 需要通过控制连接20端口来控制双方的通信 需要通过数据连接21端口来进行双方的通信 主动模式&#xff1a;最大的特点是数据连接由服务器的20端口主动发起连接&#xff0c;这种情况可能会被客户端的防火墙拒绝…

FTP协议讲解

FTP 概述 文件传输协议&#xff08;FTP&#xff09;作为网络共享文件的传输协议&#xff0c;在网络应用软件中具有广泛的应用。FTP的目标是提高文件的共享性和可靠高效地传送数据。 在传输文件时&#xff0c;FTP 客户端程序先与服务器建立连接&#xff0c;然后向服务器发送命…