Java Web——TomcatWeb服务器

news2024/12/23 18:02:45

目录

1. 服务器概述

1.1. 服务器硬件

1.2. 服务器软件

2. Web服务器

2.1. Tomcat服务器

2.2. 简单的Web服务器使用


1. 服务器概述

服务器指的是网络环境下为客户机提供某种服务的专用计算机,服务器安装有网络操作系统和各种服务器的应用系统服务器的具有高速CPU运算能力、长时间可靠运行、强大I/O外部数据吞吐能力以及更好的扩展性.

简单概括来说,服务器可分为服务器软件和服务器硬件两部分:

  • 服务器硬件:这是服务器的物理基础,包括能够提供CPU、内存等计算资源的设备。这些硬件设备通常被设计为大规模、高性能,以确保服务器能够处理大量的请求和数据。
  • 服务器软件:这是运行在服务器硬件上的应用程序和系统,它们能够提供特定的服务。这些软件负责接收客户端的请求,并根据这些请求提供相应的数据和服务。服务器软件是服务器的“大脑”,负责处理和解释来自客户端的指令,然后调用硬件资源来完成任务。

总的来说,服务器硬件和软件共同构成了一个完整的服务器,使我们能够享受到各种各样的网络服务。

1.1. 服务器硬件

服务器硬件指的也是计算机,只不过服务器要比我们日常使用的计算机大很多。

服务器是一种高级计算机,它比我们平常用的电脑更强大、更稳定。服务器的作用是

提供特定的服务给其他电脑用。为了让服务器能提供更好的服务,它里面安装了一些

特别的软件和系统。所以,服务器的运算速度很快,可以长时间运行不出问题,也能

处理很多数据。并且,如果以后需要更多的服务,服务器也可以升级来满足需求。


1.2. 服务器软件

服务器软件是一种特殊的软件程序,它是基于ServerSocket编写的。这个程序是运行在服务器上的,服务器是一台非常强大的电脑。这个服务器软件可以接收来自客户端的请求,客户端可以是手机、电脑或其他设备。当客户端发出请求时,服务器软件会根据这些请求来给出相应的回应和数据。就像你向一个服务员点菜,服务员会把你点的菜给你送过来一样。服务器软件就是这样一个“服务员”,它负责接收请求并回应数据。


2. Web服务器

Web服务器是一个特殊的软件程序。它的作用是把复杂的HTTP协议操作进行简化封装,这样程序员在开发Web应用的时候,就不需要花费很多时间和精力去自己编写解析HTTP协议的代码。这就像是Web服务器为程序员提供了一个方便的“工具箱”,让他们能更高效地开发Web应用。

此外,Web服务器的主要功能是提供网上信息浏览服务。也就是说,它负责存储和发布我们可以通过浏览器查看的网页信息。

当我们开发好自己的Web项目后,我们需要把它“部署”到Web服务器软件上,比如Tomcat。这个部署过程就是把我们的Web项目“放到”Web服务器上,让服务器能够知道如何展示和运行我们的项目。当Web服务器软件启动后,我们部署在服务器上的网页就可以通过浏览器直接访问了。这样,其他人就能通过互联网查看和使用我们开发的Web应用。


2.1. Tomcat服务器

Tomcat服务器软件是一个免费、开源的web应用服务器,它是由Apache软件基金会主导的一个核心项目,并且由Apache、Sun以及其他公司和个人共同开发和维护的。

Tomcat是一个轻量级的Web服务器,因为它只支持少量的JavaEE(Java Enterprise Edition,即Java企业版)规范,主要是Servlet和JSP。JavaEE规范是Java企业级开发中的各种技术规范的总和,包括13项规范,如JDBC、JNDI、EJB等。

由于Tomcat支持Servlet/JSP规范,因此它也被人们称作Web容器或Servlet容器。这意味着,JavaWeb程序需要依赖Tomcat来运行。

Tomcat的官网: Apache Tomcat® - Welcome!


2.2. 简单的Web服务器使用

使用步骤

  • 准备静态资源
  • 下载安装Web服务器软件
  • 将静态资源部署到Web服务器上
  • 启动Web服务器使用浏览器访问对应的资源

  1. 准备静态资源

准备一个简单的用于前端显示的html代码

如上图显示,直接双击打开的话,地址会显示该html文件的磁盘地址,证明是本地打开,而不是通过Web服务器打开


  1. 下载安装Web服务器软件

这里用的Apache旗下的Tomcat,从官网下载,解压并安装到本地电脑

Tomcat的官网: Apache Tomcat® - Welcome!


  1. 将静态资源部署到Web服务器上

把刚刚要演示的前端html文件移动到tomcat的webapps文件夹下


  1. 启动Web服务器使用浏览器访问对应的资源

在tomcat的bin文件下双击startup.bat

在浏览器地址栏输入http://localhost:8080/demo/demo.html

表示从本地服务器(localhost,也就是刚才安装的tomcat)的8080端口访问demo目录下的demo.html文件。在这里,localhost指的是当前计算机,也就是你的服务器所在的计算机。8080是Web服务器的端口号,而/demo/demo.html则是服务器上的资源路径,指向了服务器中demo文件夹下的demo.html文件。

所以当你在浏览器中输入这个URL并按下回车后,浏览器会向本地计算机的8080端口发送HTTP请求,请求获取`demo/demo.html`这个资源。如果Web服务器已经正确配置,并且demo.html文件存在于正确的位置,服务器就会返回这个HTML文件,并在浏览器中显示出来。

如果此时,别人知晓了我的IP地址,在浏览器地址栏去替换localhost,在我tomcat服务器正常开启的情况下就能访问到我的这个静态资源


这里只是一个简单的演示,实际开发中要比这个复杂

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

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

相关文章

linux入门---自旋锁和读写锁

自旋锁 首先通过一个例子来带着大家理解自旋锁,在生活中大家肯定都等过人比如你们一家人准备出去玩可是出发的时候妻子发现自己还没有化妆于是连忙赶回了家这个时候其他人就得在楼下等着,但是这个等又分为两种情况第一种是真的在楼下等其他的什么事都没…

Nginx:不同域名访问同一台机器的不同项目

Nginx很简单就可以解决同一台机器同时跑两个或者多个项目,而且都通过域名从80端口走。 以Windows环境下nginx服务为例,配置文件nginx.conf中,http中加上 include /setup/nginx-1.20.1/conf/conf.d/*.conf;删除server部分,完整如…

RT-Thread Studio开发 新手入门

文章目录 前言一、RT-Thread Studio 与 STM32CubeMX 下载安装二、新建工程三、点亮LED灯四、按键中断五、串口通信六、OLED显示 前言 软件开发环境:RT-Thread Studio、STM32CubeMX 硬件:STM32F407ZGT6 一、RT-Thread Studio 与 STM32CubeMX 下载安装 …

【图像处理:OpenCV-Python基础操作】

【图像处理:OpenCV-Python基础操作】 1 读取图像2 显示图像3 保存图像4 图像二值化、灰度图、彩色图,像素替换5 通道处理(通道拆分、合并)6 调整尺寸大小7 提取感兴趣区域、掩膜8 乘法、逻辑运算9 HSV色彩空间,获取特定…

哈希表之闭散列的实现

闭散列实现哈希表 在闭散列实现哈希表中,我们选择线性探测法来解决哈希冲突。在哈希表的简介部分,我们已经介绍过线性探测法啦! 线性探测:从发生冲突的位置开始,依次向后探测,直到寻找到下一个空位置为止…

【Springboot】基于注解式开发Springboot-Vue3整合Mybatis-plus实现分页查询(二)——前端el-pagination实现

系列文章 【Springboot】基于注解式开发Springboot-Vue3整合Mybatis-plus实现分页查询—后端实现 文章目录 系列文章系统版本实现功能实现思路后端传入的数据格式前端el-table封装axois接口引入Element-plus的el-pagination分页组件Axois 获取后台数据 系统版本 后端&#xf…

Day58_《MySQL索引与性能优化》

文章目录 一、SQL执行顺序二、索引简介1、关于索引2、索引的类型Btree 索引Btree 索引 三、Explain简介四、Explain 详解1、id2、select_type3、table4、type5、possible_keys6、key7、key_len8、ref9、rows10、Extra11、小案例 五、索引优化1、单表索引优化2、两表索引优化3、…

Spring Boot 整合xxl-job实现分布式定时任务

xxl-job介绍 XXL-JOB是一个分布式任务调度平台,其核心设计目标是开发迅速、学习简单、轻量级、易扩展。现已开放源代码并接入多家公司线上产品线,开箱即用。 xxl是xxl-job的开发者大众点评的许雪里名称的拼音开头。 设计思想 将调度行为抽象形成“调度…

multilinear多项式承诺方案benchmark对比

1. 引言 前序博客有: Lasso、Jolt 以及 Lookup Singularity——Part 1Lasso、Jolt 以及 Lookup Singularity——Part 2深入了解LassoJolt Lasso lookup中,multilinear多项式承诺方案的高效性至关重要。 本文重点关注4种multilinear多项式承诺方案的实…

linux 不同用户不同jdk

0、 解压一个新版本的jdk 1、 检查root用户下的环境变量,是否配置了JAVA_HOME,基于这个变量再配置的PATH变量是实现切换的前提。 2、 创建新用户 adduser jdk11 passwd jfjfjfjfjfjfj123 3、 编辑改用下的 .bashrc 文件 执行命令进行编辑&#xff0…

【Nginx】深入浅出搞懂Nginx

Nginx是一款轻量级的Web服务器、反向代理服务器,由于它的内存占用少,启动极快,高并发能力强,在互联网项目中广泛应用。 反向代理服务器? 经常听人说到一些术语,如反向代理,那么什么是反向代理&a…

BGP基本配置实验

目录 一、实验拓扑 二、实验需求 三、实验步骤 1、IP地址配置 2、内部OSPF互通,配置OSPF协议 3、BGP建立邻居关系 4、R1和R5上把业务网段宣告进BGP 5、消除路由黑洞,在R2、R4上做路由引入 6、业务网段互通 一、实验拓扑 二、实验需求 1、按照图…

开发者测试2023省赛--UnrolledLinkedList测试用例

测试结果 官方提交结果 EclEmma PITest 被测文件UnrolledLinkedList.java /** This source code is placed in the public domain. This means you can use it* without any restrictions.*/package net.mooctest;import java.util.AbstractList; import java.util.Collectio…

担忧CentOS停服?KeyarchOS系统来支撑

担忧CentOS停服?KeyarchOS系统来支撑 近年发生的“微软黑屏门”、“微软操作系统停更”、“棱镜门”、“中兴华为”等安全事件,敲响了我国 IT 产业的警钟,建立由我国主导的 IT 产业生态尤为迫切。对此,我国信息技术应用创新行业乘…

数字媒体技术基础之:分辨率

分辨率 Resolution,中国大陆译为“分辨率”,中国香港地区、中国台湾地区分别译为“解像度”和“解析度”,泛指测量设备对细节的分辨能力。 ◆ ◆ ◆ 图像尺寸 在数字图像处理中,像素 Pixel是一个无具体物理尺寸的抽象单位。 一张…

序列化模块-json和pickle

一、json json是所有语言都通用的一种序列化格式 ,只支持 列表、 字典、 字符串、 数字 , 字典的key必须是字符串 1、dumps、loods # 在内存中做数据转换 : # durps 数据类型 转成 字符串 序列化 # loods 字符串 转成 数据类型 反序…

基于STC12C5A60S2系列1T 8051单片机定时器/计数器应用

基于STC12C5A60S2系列1T 8051单片机定时器/计数器应用 STC12C5A60S2系列1T 8051单片机管脚图STC12C5A60S2系列1T 8051单片机I/O口各种不同工作模式及配置STC12C5A60S2系列1T 8051单片机I/O口各种不同工作模式介绍STC12C5A60S2系列1T 8051单片机定时器/计数器介绍STC12C5A60S2系…

No179.精选前端面试题,享受每天的挑战和学习

🤍 前端开发工程师(主业)、技术博主(副业)、已过CET6 🍨 阿珊和她的猫_CSDN个人主页 🕠 牛客高级专题作者、在牛客打造高质量专栏《前端面试必备》 🍚 蓝桥云课签约作者、已在蓝桥云课上架的前后端实战课程《Vue.js 和 Egg.js 开发企业级健康管理项目》、《带你从入…

C++算法:完美矩形

题目 给你一个数组 rectangles ,其中 rectangles[i] [xi, yi, ai, bi] 表示一个坐标轴平行的矩形。这个矩形的左下顶点是 (xi, yi) ,右上顶点是 (ai, bi) 。 如果所有矩形一起精确覆盖了某个矩形区域,则返回 true ;否则&#xf…

C语言基础篇3:函数

1 函数简介 C源程序是由函数组成的,一个程序往往由多个函数组成,函数是程序实现模块化变成的基本的单元,一般是为了完成某一个特定的功能,相当于其他语言中的子程序。一个较大程序的各项功能都是由各个子程序共同完成的&#xff0…