Java Web——TomcatWeb服务器

目录

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服务器正常开启的情况下就能访问到我的这个静态资源


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

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

stm32控制舵机sg90

一、sg90简介 首先介绍说一下什么是舵机。舵机是一种位置(角度)伺服的驱动器。适用于一些需要角度不断变化的,可以保持的控制系统。sg90就是舵机的一种。 舵机的工作原理比较简单。舵机内部有一个基准电压,单片机产生的PWM信号通…

C语言证明一个偶数总能表示为两个素数之和。输入一个偶数并将其分解为两个素数

完整代码&#xff1a; // 一个偶数总能表示为两个素数之和。输入一个偶数并将其分解为两个素数#include<stdio.h>//判断一个数n是否为素数 int isPrimeNumber(int n){//1不是素数if (n1){return 0;}for (int i 2; i <(n/2); i){//当有n能被整除时&#xff0c;不是素…

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

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

Excel中使用数据验证、OFFSET实现自动更新式下拉选项

在excel工作簿中&#xff0c;有两个Sheet工作表。 Sheet1&#xff1a; Sheet2&#xff08;数据源表&#xff09;&#xff1a; 要实现Sheet1中的“班级”内容&#xff0c;从数据源Sheet2中获取并形成下拉选项&#xff0c;且Sheet2中“班级”内容更新后&#xff0c;Sheet1中“班…

详解—搜索二叉树

一.二叉搜索树 1.1概念 二叉搜索树又称二叉排序树&#xff0c;它或者是一棵空树&#xff0c;或者是具有以下性质的二叉树: 若它的左子树不为空&#xff0c;则左子树上所有节点的值都小于根节点的值 若它的右子树不为空&#xff0c;则右子树上所有节点的值都大于根节点的值 它的…

如何安装Node.js? 创建Vue脚手架

1.进入Node.js官网&#xff0c;点击LTS版本进行下载 Node.js (nodejs.org)https://nodejs.org/en 2.然后一直【Next】即可 3.打开【cmd】,输入【node -v】注意node和-v中间的空格 查看已安装的Node.js的版本号&#xff0c;如果可以看到版本号&#xff0c;则安装成功 创建Vue脚手…

冯·诺依曼结构

一、约翰冯诺依曼---计算机之父 约翰冯诺依曼&#xff08;John von Neumann&#xff0c;1903年12月28日—1957年2月8日&#xff09;&#xff0c;出生于匈牙利布达佩斯&#xff0c;匈牙利裔美籍数学家、计算机科学家、物理学家和化学家&#xff0c;美国国家科学院院士&#xff…

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

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

Python基础入门例程53-NP53 前10个偶数(循环语句)

最近的博文&#xff1a; Python基础入门例程52-NP52 累加数与平均值(循环语句)-CSDN博客 Python基础入门例程51-NP51 列表的最大与最小(循环语句)-CSDN博客 Python基础入门例程50-NP50 程序员节&#xff08;循环语句&#xff09;-CSDN博客 目录 最近的博文&#xff1a; 描…

前端常用的开发工具有哪些?

目录 内置管理系统的通用场景 前后端代码生成器 权限管控 开放源码 运行性能 主流数据库 写在最后 目前使用的是JNPF框架。 前端采用Vue.js&#xff0c;这是一种流行的前端JavaScript框架&#xff0c;用于构建用户界面。Vue.js具有轻量级、可扩展性强和生态系统丰富等特点&…

解决XFCE桌面VirtualBox透明背景的问题

1 背景 笔者用的是ManjaroXFCE的组合&#xff0c;但是在使用VirtualBox时&#xff0c;会出现透明背景的问题&#xff1a; 然后发现这其实和Kvantum主题有关。下面将进行设置操作&#xff0c;去修正Kvantum相关配置修复该问题。 2 操作流程 打开Kvantum Manager&#xff1a; …

bibitem格式 添加参考文献

这次写论文时遇到一种bibitem格式的参考文献&#xff0c;latex中没有bib文件 分三步走 找到这篇文章的Bib Tex的引用&#xff0c;然后新建bib文件&#xff0c;命名为下图&#xff1a; 然后把Bib Tex引用的内容复制到上图的文件中&#xff0c;新建tex文件 内容为 \document…

代码随想录算法训练营第四十九天|121. 买卖股票的最佳时机、122. 买卖股票的最佳时机 II

第九章 动态规划part10 121. 买卖股票的最佳时机 给定一个数组 prices &#xff0c;它的第 i 个元素 prices[i] 表示一支给定股票第 i 天的价格。 你只能选择 某一天 买入这只股票&#xff0c;并选择在 未来的某一个不同的日子 卖出该股票。设计一个算法来计算你所能获取的最…

Leetcode—70.爬楼梯【简单】

2023每日刷题&#xff08;二十七&#xff09; Leetcode—70.爬楼梯 动态规划思想 动态规划算法的本质是使用空间换时间&#xff0c;通过计算和记录状态来得到最优解。 在分析动态规划类题目时&#xff0c;我们可以通过3个问题对题目进行基本的拆解。 1.问题是否分阶段&…

基于SSM的考研图书电子商务平台的设计与实现

末尾获取源码 开发语言&#xff1a;Java Java开发工具&#xff1a;JDK1.8 后端框架&#xff1a;SSM 前端&#xff1a;Vue 数据库&#xff1a;MySQL5.7和Navicat管理工具结合 服务器&#xff1a;Tomcat8.5 开发软件&#xff1a;IDEA / Eclipse 是否Maven项目&#xff1a;是 目录…

STM32F4之看门狗

1、 看门狗作用 单片机复位的方式&#xff1a;硬件复位 -- reset按键 上电复位 -- 电容 看门狗复位 看门狗的复位功能主要是用于一些平常难以操作的场合去帮助我们进行复位操作。当你单片机突然死机或者程序跑飞了&#xff0c;看门狗就可以检测得到并且及时帮你复位。看门狗也可…

WorkPlus即时通讯app:10分钟快速搭建,支持局域网私有化部署!

随着数字通讯的飞速发展&#xff0c;“IM办公”模式被越来越多的政企组织所接受和采用。然而&#xff0c;公有云IM服务的信息安全问题时有发生&#xff0c;这使得一些政府部门和事业单位对此存在着爱恨交加的复杂心态。在这样的背景下&#xff0c;私有化IM作为一种解决方案逐渐…

C 用户定义函数

C 用户定义函数 在本教程中&#xff0c;您将借助示例学习在C语言编程中创建用户定义的函数。 函数是执行特定任务的代码块。 C允许您根据需要定义函数。这些函数称为用户定义函数。例如&#xff1a; 假设您需要创建一个圆并根据半径和颜色为其着色。您可以创建两个函数来解…

459. 重复的子字符串

459. 重复的子字符串 原题链接&#xff1a;完成情况&#xff1a;解题思路&#xff1a;参考代码&#xff1a;__459重复的子字符串_枚举__459重复的子字符串_字符串匹配__459重复的子字符串_KMP算法__459重复的子字符串_优化的KMP算法 错误经验吸取 原题链接&#xff1a; 459. …

【Mybatis小白从0到90%精讲】16: Mybatis like语句四种传参方式

文章目录 前言方式一:Java代码拼接方式二:MySQL CONCAT函数方式三:Mybatis bind标签方式四:SQL拼接前言 在实际开发中,SQL中使用 模糊查询like使用非常普遍,在MyBatis中,为了防止SQL注入攻击,可以使用#{}来传递参数,切记like语句不要使用${}的方式! 这里我总结了 四…