Tomcat

2023-09-18 19:18:02

1 常见的客户端/服务器架构模型

1.1 C/S架构(Client/Server Architecture)

C/S架构(Client/Server Architecture)指的是客户端通过安装在本地的软件(客户端)访问服务器上的应用程序,客户端与服务端之间通过网络进行通信和数据交换。

优点:

  • 快速响应:由于客户端软件安装在本地,可以更快速地响应用户请求。
  • 离线支持:C/S架构中,应用程序的核心业务逻辑和数据处理可以完全离线地在客户端上进行,保证了系统对于网络连通性的依赖性不强。
  • 功能强大:客户端具有丰富的功能和交互性,提供了更好的用户体验和操作效率。
  • 数据安全:客户端将核心业务逻辑和数据处理放置在客户端上,可保证数据安全性和隐私性。

1.2 B/S架构(Browser/Server Architecture)

B/S架构(Browser/Server Architecture),又称为三层架构,指的是客户端通过浏览器访问服务器上的应用程序,网页服务器接收并处理请求后,向客户端返回相应的HTML、CSS、JavaScript等静态资源。应用服务器接收客户端的请求并调用相应的业务逻辑,访问数据库进行数据处理,最终将结果返回给客户端。

优点:

  • 可跨平台:由于Web浏览器具有良好的跨平台性,B/S架构能够在各种不同的操作系统和设备上运行。
  • 维护方便:B/S架构将应用程序的核心业务逻辑放置在应用服务器上,可以减少客户端的复杂性和维护成本。
  • 灵活性:B/S架构可以支持多种不同的Web浏览器和操作系统,客户端只需要浏览器即可。
  • 安全性:B/S架构中,服务器承担了应用程序的核心逻辑和数据处理,客户端只能通过浏览器发起请求,安全性相对较高。

2 Web服务器

2.1 Web服务器介绍

Web服务器是一种用于处理和响应HTTP请求的软件程序或计算机系统。它扮演着连接客户端和Web应用程序之间的中间层角色。

2.2 主要功能

  • 处理HTTP请求:Web服务器接收来自客户端的HTTP请求,解析请求头和请求体,并根据请求的URL路径和其他参数确定要执行的操作。
  • 提供静态资源:Web服务器可以直接提供静态内容(例如HTML、CSS、JavaScript文件、图像和视频等),当客户端请求这些静态资源时,服务器会将文件发送给客户端。
  • 路由和请求转发:Web服务器可以根据请求的URL路径将请求路由到相应的后端应用程序或处理程序。它可以转发请求到不同的应用程序,实现负载均衡和高可用性。
  • 处理动态内容:对于动态内容,Web服务器通常会将请求转发给后端应用程序服务器(如PHP、Python或Java服务器),处理逻辑并生成动态内容,然后将结果返回给客户端。
  • 状态管理和会话:Web服务器可以管理客户端的状态和会话信息。通过使用Cookie或其他会话管理机制,服务器可以跟踪特定用户的状态,并提供个性化的服务。
  • 安全性和身份验证:Web服务器可以通过使用加密协议(如HTTPS)来保护数据传输的安全性。它还可以实施身份验证和访问控制,确保只有经过授权的用户可以访问受限资源。

2.3 web服务器应用

客户端在浏览器的地址栏上输入地址 ,然后web服务器软件,接收请求,然后响应消息。 处理客户端的请求, 返回资源 | 信息

Web应用 需要服务器支撑。 index.html

  • Tomcat apache
  • WebLogic BEA
  • Websphere IBM
  • IIS 微软

2.4 web资源

web 资源按实现的技术和呈现的效果的不同, 又分为静态资源和动态资源两种。

  • 静态资源: html、 css、 js、 txt、 mp4 视频 , jpg 图片
  • 动态资源: jsp 页面、 Servlet 程序

3 Tomcat

3.1 简介

Tomcat是一个由Apache软件基金会开发的开源Web服务器和Java Servlet容器。它是目前在Java平台上最常用的Web应用程序服务器之一。

3.2 安装

3.2.1 下载Tomcat及解压

官网:http://tomcat.apache.org/
安装, 直接解压 ,然后找到bin/startup.bat, 前提必须配置JAVA_HOME

3.2.2 测试

启动startup.bat,如果能够正常看到黑窗口,表明已经成功安装。
为了确保万无一失, 最好在浏览器的地址栏上输入 : http://localhost:8080 , 如果有看到内容 就表明成功了。

注意:: 如果双击了startup.bat, 看到一闪而过的情形,一般都是 JDK的环境变量没有配置。

3.3 目录

  • bin 专门用来存放 Tomcat 服务器的可执行程序
  • conf 专门用来存放 Tocmat 服务器的配置文件
  • lib 专门用来存放 Tomcat 服务器的 jar 包
  • logs 专门用来存放 Tomcat 服务器运行时输出的日记信息
  • temp 专门用来存放 Tomcdat 运行时产生的临时数据
  • webapps 专门用来存放部署的 Web 工程。
  • work 是 Tomcat 工作时的目录, 用来存放 Tomcat 运行时 jsp 翻译为 Servlet 的源码, 和Session 钝化的目录。

3.4 修改端口号

启动tomcat

/bin/startup.bat

server.xml中修改8080端口为80端口

<Connector port="80" protocol="HTTP/1.1"
	connectionTimeout="20000"
	redirectPort="8443" />

3.5 发布项目到tomcat

需求:如何能让其他的电脑访问我这台电脑上的文件,例如:文件shuiguo

2.5.1 直接拷贝

  • 拷贝目标文件shuiguo到webapps/ROOT底下,删除root下的原有内容
    • 在浏览器里面访问
http://localhost:8080/
  • 在webapps下面新建一个文件夹shuiguo,将拷贝文件放置到这个文件夹中
    • 使用IP地址访问
http://192.168.37.48:80/shuiguo/index.html

2.5.2 配置虚拟路径

方式一

配置虚拟路径Context的帮助

  • 在conf/server.xml 找到host元素节点。
    • 加入以下内容:
<!-- docBase : 项目的路径地址 如: e:\temp\dir\ path : 对应的虚拟路径 一定要以"/"打头。
对应的访问方式为: http://localhost:8080/shuiguo2/index.html -->
<Context docBase="e:\temp\shuiguo\" path="/shuiguo2"></Context>
  • 在浏览器里面访问
http://localhost:80/shuiguo2/index.html
方式二
  • 在tomcat/conf/catalina/localhost/ 文件夹下新建一个xml文件,名字可以自己定义为 shuiguo3.xml
    • 加入以下内容:
<?xml version='1.0' encoding='utf-8'?>
<Context docBase="e:\temp\shuiguo3"></Context>
  • 在浏览器里面访问
http://localhost:80/shuiguo3/index.html

3.6 idea整合tomcat

3.6.1 创建web项目

在这里插入图片描述

3.6.2 增加web framework支持

3.6.3 发布项目到tomcat


3.6.4 以war文件方式发布项目

打包war文件

把war文件拷贝到tomcat,tomcat启动会自动解压这个war文件,部署运行,context_path是文件名

更多推荐

积木报表 JimuReport v1.6.2-GA5版本发布—高危SQL漏洞安全加固版本

项目介绍一款免费的数据可视化报表,含报表和大屏设计,像搭建积木一样在线设计报表!功能涵盖,数据报表、打印设计、图表报表、大屏设计等!Web版报表设计器,类似于excel操作风格,通过拖拽完成报表设计。秉承“简单、易用、专业”的产品理念,极大的降低报表开发难度、缩短开发周期、节省成本、解决各类报表难题。领先的企业级Web

乐鑫科技全球首批支持蓝牙 Mesh Protocol 1.1 协议

乐鑫科技(688018.SH)非常高兴地宣布,其自研的蓝牙Mesh协议栈ESP-BLE-MESH现已支持最新蓝牙MeshProtocol1.1协议的全部功能,成为全球首批在蓝牙技术联盟(BluetoothSIG)正式发布该协议之前支持该更新的公司之一。这意味着乐鑫在低功耗蓝牙无线通信领域潜心专研产品和方案,其技术实力和

BLE Mesh蓝牙mesh传输大数据包传输文件照片等大数据量通讯

1、BLEMesh数据传输现状BLEMesh网络技术是低功耗蓝牙的一个进阶版,Mesh扩大了蓝牙在应用中的规模和范围,因为它同时支持超过三万个网络节点,可以跨越大型建筑物,不仅可以使得医疗健康应用更加方便快捷,还能监测像学校这类的大型公共场所随时监测学生的安全状况。BLEMesh覆盖范围通过mesh网络的relay(中

接口自动化测试(Python+Requests+Unittest)

(1)接口自动化测试的意义、前后端分离思想接口自动化测试的优缺点:优点:测试复用性。维护成本相对UI自动化低一些。为什么UI自动化维护成本更高?因为前端页面变化太快,而且UI自动化比较耗时(比如等待页面元素的加载、添加等待时间、定位元素、操作元素、模拟页面动作这些都需要时间)为什么接口自动化维护成本较低?因为接口较稳定

nova相机功能又㕛叒叕升级了!!!拍人像更自然

nova系列手机一直以其高颜值外观和性能体验,持续热销,成为当下年轻人追捧的手机之一。其出色的影像能力,无论是日常生活中的风景拍摄还是人物拍摄,都能够拍摄出非常清晰细腻的照片,同时还配备了多种摄影模式,让用户能够拍摄出更加专业和有创意的照片。而关于人像拍摄,广大用户如今更青睐于相对原生、人物真实且细节饱满的人像特写相片

棒球教学知识架构·棒球1号位

棒球教学知识架构1.棒球运动的基本认知棒球运动的起源和发展历程棒球运动起源于19世纪中叶的美国,最初是一种儿童游戏,使用木棒和石头或木头制成的球进行比赛。后来,人们开始使用橡胶球和棒子,并规定了比赛规则和场地标准,棒球运动逐渐发展成为一项正式的体育运动。随着时间的推移,棒球运动在美国和加拿大广受欢迎,并逐渐传播到世界各

Doris 2.0.1 Dockerfile制作

镜像编译准备工作1、创建目录└──docker-build//构建根目录└──fe//FE构建目录├──dockerfile//dockerfile脚本└──resource//资源目录├──init_fe.sh//启动及注册脚本└──apache-doris-x.x.x-bin-fe.tar.gz//二进制程序包mk

最新AI创作系统+ChatGPT商业运营源码+支持GPT4.0+支持国内AI模型/支持AI绘画

一、AI创作系统SparkAi系统是基于很火的GPT提问进行开发的Ai智能问答系统。本期针对源码系统整体测试下来非常完美,可以说SparkAi是目前国内一款的ChatGPT对接OpenAI软件系统。那么如何搭建部署AI创作ChatGPT系统?小编这里写一个详细图文教程吧!SparkAi程序使用Nestjs和Vue3框架

软件设计师笔记系列(一)

😀前言在日常生活和工作中,我们依赖于各种各样的计算机系统来完成一系列复杂的任务。计算机系统不仅仅是硬件设备的集合,它还包括一系列用于协调硬件工作的软件和协议。了解计算机系统的基础知识,包括其构造和功能,是理解现代技术世界的关键步骤。在这一章节中,我们将探讨计算机系统的核心组件和原理,从中央处理单元(CPU)的功能和组

Bash脚本学习:AWK, SED

1.AWKAWK是一种编程语言,设计用于处理文件或数据流中基于文本的数据,或者使用shell管道。可以将awk与shell脚本结合使用或直接在shell提示符下使用。以上展示使用AWK分别打印第一个位置变量和第二个位置变量。建立一个文档csvtest.csv。文档内容为:one,two,threeawk-F,'{pri

C语言每日一题(9):跳水比赛猜名次

文章主题:跳水比赛猜名次🔥所属专栏:C语言每日一题📗作者简介:每天不定时更新C语言的小白一枚,记录分享自己每天的所思所想😄🎶个人主页:[₽]的个人主页🏄🌊目录前言编程起因项目介绍设计思路1.整体逻辑2.具体逻辑代码展示效果展现结语前言编程起因最近牛客网刷到的一个编程题,综合运用了循环和条件判断语句,觉得该题

热文推荐