JavaWeb(十)

一、JavaWeb概述

Web:全球广域网,也称为万维网(www),能够通过浏览器访问的网站。

JavaWeb:使用 Java技术进行web互联网开发。

二、JavaWeb 技术栈

2.1、B/S 架构

B/S 架构:Browser/Server,浏览器/服务器架构模式,它的特点是,客户端只需要浏览器,应用程序的逻辑和数据都存储在服务器端。浏览器只需要请求服务器,获取Web资源,服务器把Web资源发送给浏览器即可。

好处:易于维护升级,服务器端升级后,客户端无需任何处理就可以使用到新的版本。

三、浏览器访问服务器的基本流程

1、浏览器发送一个请求到服务端,去请求所需要的相关资源(包括静态资源和动态资源)。

2、服务端接收到请求后,在Java代码可以进行业务处理也可以从数据库中读取数据;

3、拿到数据后,服务端将数据响应给浏览器;

4、浏览器将这些资源进行解析,解析完后数据交给HTML页面进行展示,再结合CSS和JavaScript使展示效果更好。

5、解析后将效果展示在浏览器,用户就可以看到最终的结果。

三、Tomcat

3.1、什么是tomcat

Tomcat是web服务器,和我们平常所说的服务器是不一样的,我们平常所说的服务器通常指的是一台电脑,而Tomcat是安装在这台电脑上的应该程序(软件),用来专门负责接收http请求的

普通的电脑是不能当做服务器直接使用的,因为别人访问都是HTTP协议访问,使用HTTP协议访问普通电脑,都会被直接拒绝。因为没有软件提供HTTP服务,表现为浏览器打不开页面。但是安装了Tomcat之后,Tomcat会在80或者8080开一个端口,监听看有没有连接这个电脑的HTTP请求。

这时候再访问那台电脑,就能返回网页了,因为有Tomcat提供HTTP服务了

所以就有了Tomcat服务器这一说法,意思是说这台服务器的服务是由Tomcat提供的。

总结:

Tomcat是安装在服务器上的一个软件,用来接收HTTP请求,再将HTTP请求转发到对应的Java代码中,在Java代码中完成逻辑处理后,将响应再以HTTP协议的方式返回给前端页面。

Spring、Springboot等项目中Tomcat的执行流程和上面一样,但是他们内置了Tomcat,所以不用额外的再去配置Tomcat。

所以我们本地启动的项目,通过页面输入localhost+端口号进行访问,首先是被Tomcat监听到,再由Tomcat转发到对应的代码中。

如果spring项目需要挂到网上被外部访问,则需要打成war包,在Tomcat中部署。

参考网址:

Tomcat的作用(自用)_tomcat有什么用_w_3123454的博客-CSDN博客

3.2、Tomcat的基本使用

3.2.1、启动Tomcat

双击Tomcat安装目录bin下面的 startup.bat

启动后,通过浏览器访问 http://localhost:8080能看到Apache Tomcat的内容就说明Tomcat已经启动成功

3.2.2、修改端口

Tomcat默认的端口是8080,要想修改Tomcat启动的端口号,需要修改安装目录conf下的server.xml文件。

3.2.3、部署

一般JavaWeb项目会被打成war包,然后将war包放到Webapps目录下,Tomcat会自动解压缩war包。

四、Idea中集成Tomcat

artifacts不出现的解决办法

https://blog.csdn.net/qq_28245905/article/details/121467743

五、HTTP

5.1、HTTP概念

HyperText Transfer Protocol,超文本传输协议,规定了浏览器和服务器之间数据传输的规则。

数据传输的规则指的是请求数据响应数据需要按照指定的格式进行传输 。 

大白话:HTTP规定了浏览器和服务器之间请求数据和响应数据的格式(就这么简单)

比如:请求报文要有请求行、请求头、请求体。

5.2、HTTP协议特点

1、基于TCP协议:面向连接,安全

2、基于请求-响应模型的:一次请求对应一次响应

3、HTTP协议是无状态的协议:对于事物处理没有记忆能力。每次请求-响应都是独立的

4、缺点:因为每次请求-响应都是独立的,所以多次请求间不能共享数据,Java中可以使用会话技术(cookie、session)解决这个问题。

5、优点:因为每次请求-响应都是独立的,所以不用记录前一次请求的数据,所以速度快。

5.3、F12开发者工具包查看请求数据

5.3.1、请求数据的格式

请求数据总共分为三部分内容,分别是请求行、请求头、请求体

请求行: HTTP请求中的第一行数据,请求行包含三块内容,分别是 请求方式请求URL路径HTTP协议及版本。请求方式最常用的就是:GETPOST

请求头:第二行开始,格式为key: value形式。

请求体: POST请求的最后一部分,存储请求参数。(get请求没有请求体)

5.3.2、通过开发者工具包查看请求数据

打开谷歌浏览器,单击F12,打开开发者工具,选择network

Request Headers旁边的raw一定要勾选才会出现最原始的请求报文

请求行下面的全是请求头,格式为key: value形式。

如果是post请求还有请求体。

总结:

  1. 请求数据中包含三部分内容,分别是请求行、请求头和请求体

  2. POST请求数据在请求体中,GET请求数据在请求行上

5.4、 F12开发者工具包查看响应数据

5.4.1、响应数据的格式

响应数据总共分为三部分内容,分别是响应行响应头响应体。  

页面抓包的响应数据:

 

常见响应头的的含义:

 

 5.5、常见响应状态码

 

5.6、开发中开发者工具包的常用方式 

5.6.1、General

 5.6.2、查看响应数据:response

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

ELK的日志解决方案

ELK的日志解决方案 ELK是什么 ELK 是一个缩写,代表 Elastic Stack,而不是三个独立的产品名称。Elastic Stack 是一个开源的数据处理和分析平台,用于实时搜索、分析和可视化大规模数据。ELK 是由三个主要的组件构成: Elasticsea…

[MySQL--进阶篇]存储引擎的体系结构、简介、特点、选择

前言 ⭐Hello!这里是欧_aita的博客。 ⭐今日语录:不要在乎别人怎么看你,因为他们根本就没有时间,他们只关心他们自己。 ⭐个人主页:欧_aita ψ(._. )>⭐个人专栏: 数据结构与算法 MySQL数据库 存储引擎 前言MySQL体…

泽攸科技桌面型扫描电子显微镜(SEM)技术解析

台式扫描电子显微镜是一种利用电子束扫描样品表面并检测样品反射或发射的电子信号,从而获得样品表面形貌、结构和成分信息的仪器。它的工作原理是由电子枪发出的电子束经过栅极静电聚焦后成为直径50微米的点光源,然后在加速电压作用下,经两三…

分类预测 | SSA-HKELM-Adaboost麻雀算法优化混合核极限学习机的数据分类预测

分类预测 | SSA-HKELM-Adaboost麻雀算法优化混合核极限学习机的数据分类预测 目录 分类预测 | SSA-HKELM-Adaboost麻雀算法优化混合核极限学习机的数据分类预测分类效果基本描述程序设计参考资料 分类效果 基本描述 1.SSA-HKELM-Adaboost麻雀算法优化混合核极限学习机的数据分类…

【Spring Boot 源码学习】ApplicationListener 详解

Spring Boot 源码学习系列 ApplicationListener 详解 引言往期内容主要内容1. 初识 ApplicationListener2. 加载 ApplicationListener3. 响应应用程序事件 总结 引言 书接前文《初识 SpringApplication》,我们从 Spring Boot 的启动类 SpringApplication 上入手&am…

我对迁移学习的一点理解——领域适应(系列3)

文章目录 1. 领域适应(Domain Adaptation)的基本概念2.领域适应(Domain Adaptation)的目标3.领域适应(Domain Adaptation)的实现方法4.领域适应(Domain Adaptation)的可以解决的问题…

RC522(RFID射频模块)读卡ID的简单应用

文章目录 一、RFID是什么?二、RC522模块三、使用步骤1.硬件1.硬件连接2.引脚定义 2.软件1.初始化配置代码如下(示例):2.引脚配置代码如下(示例):3.模块复位代码如下(示例&#xff09…

芯片量产导入知识

什么是芯片量产 从芯片功能设计到生产制造、测试等环节,每一个环节都至关重要。 对于保障大规模发货后芯片指标表现的一致性,以及产品应用生命周期内的稳定性和可靠性,需要考虑多种因素。以下是一些相关的观点: 可量产性设计&am…

蓝桥杯2021年5月青少组Python程序设计国赛真题

30 个人在一条船上,超载,需要 15 人下船于是人们排成一队,排队的位置即为他们的编号。报数,从1开始,数到9的人下船。如此循环,直到船上仅剩15 人为止,问都有哪些编号的人下船了呢? 2】判断101-200之间有多少个素数,并输出所有素数…

零基础一看就会?Python实现性能自动化测试竟然如此简单

一、思考❓❔ 1.什么是性能自动化测试? 性能 系统负载能力超负荷运行下的稳定性系统瓶颈自动化测试 使用程序代替手工提升测试效率性能自动化 使用代码模拟大批量用户让用户并发请求多页面多用户并发请求采集参数,统计系统负载能力生成报告 2.Python中的性能自动化…

TCP数据粘包的处理

TCP数据粘包的处理 背锅侠TCP解决方案2.1 发送端2.2 接收端 背锅侠TCP 在前面介绍套接字通信的时候说到了TCP是传输层协议,它是一个面向连接的、安全的、流式传输协议。因为数据的传输是基于流的所以发送端和接收端每次处理的数据的量,处理数据的频率可…

周周爱学习之Redis重点总结

redis重点总结 在正常的业务流程中,用户发送请求,然后到缓存中查询数据。如果缓存中不存在数据的话,就会去数据库查询数据。数据库中有的话,就会更新缓存然后返回数据,数据库中也没有的话就会给用户返回一个空。 1.缓…

Cephadm部署使用rgw对象网关(s3cmd和Java)

文章目录 前提重要概念部署rgw使用对象存储(s3cmd)创建radosgw user安装s3cmd配置s3cmds3cmd使用 使用对象存储(Java代码)引入依赖编码测试 参考 前提 RGW的部署基于以下集群,集群信息如下: 重要概念 区域…

网页设计中增强现实的兴起

目录 了解增强现实 增强现实的历史背景 AR 和网页设计的交叉点 AR 在网页设计中的优势 增强参与度和互动性 个性化的用户体验 竞争优势和品牌差异化 AR 在网页设计中的用例 结论 近年来,增强现实已成为一股变革力量,重塑了我们与数字领域互动的方式。它被…

科研绘图配色方案

科研绘图配色方案 在撰写论文的时候,美观,大气,上档次的图表能够很好地给自己的论文加分。但是在绘制图表的时候往往会面临色彩搭配的问题,选择合适的色彩搭配能够有效地展示自己的方法,但是色彩搭配选择不当的话往往会…

coding创建远程分支。并拉取远程新分支+推送代码

进入coding ----项目----代码仓库---点击 下拉之后查看全部----创建分支 创建分支之后执行下面命令 git branch -a // 查看所有分支 这个时候发现自己创建的分支没有显示这是因为自己在远程创建了分支但是本地还没有分支 执行 git fetch命令 用于从远程仓库获取最新的提交…

《深入理解计算机系统》学习笔记 - 第四课 - 浮点数

Floating Point 浮点数 文章目录 Floating Point 浮点数分数二进制示例能代表的数浮点数的表示方式浮点数编码规格化值规格化值编码示例 非规格化的值特殊值 示例IEEE 编码的一些特殊属性四舍五入,相加,相乘四舍五入四舍五入的模式二进制数的四舍五入 浮…

2024 年甘肃省职业院校技能大赛中职组 电子与信息类“网络安全”赛项竞赛样题-A

2024 年甘肃省职业院校技能大赛中职组 电子与信息类“网络安全”赛项竞赛样题-A 目录 2024 年甘肃省职业院校技能大赛中职组 电子与信息类“网络安全”赛项竞赛样题-A 需要环境或者解析可以私信 (二)A 模块基础设施设置/安全加固(200 分&…

golang学习笔记——sync.Pool

文章目录 sync.Pool示例sync.Pool数据结构TCP连接池总结参考资料 sync.Pool示例 代码 sync.Pool对外提供的New、Get和Put方法。 var buffers sync.Pool{New: func() interface{} { return new(bytes.Buffer)}, }func GetBuffer() *bytes.Buffer {return buffers.Get().(*byt…

怎么查看mysql Connector/J实现的JDBC规范的版本号

打开mysql-connector-j的jar包,例如mysql-connector-j-8.2.0.jar,在Jar包的META-INF目录下面有个MANIFEST.MF文件,打开该文件: 文件内容中Specification-Version: 4.2这一项,就代表实现的JDBC规范的版本号&#xff0c…