JavaWeb之 Web概述

目录

  • 前言
  • 1.1 Web和 JavaWeb的概念
  • 1.2 JavaWeb技术栈
    • 1.2.1 B/S架构
    • 1.2.2 静态资源
    • 1.2.3 动态资源
    • 1.2.4 数据库
    • 1.2.5 HTTP协议
    • 1.2.6 Web服务器
  • 1.3 JavaWeb 学习内容

前言

博主将用 CSDN 记录 Java 后端开发学习之路上的经验,并将自己整理的编程经验和知识分享出来,希望能帮助到有需要的小伙伴。
博主也希望和一直在坚持努力学习的小伙伴们共勉!唯有努力钻研,多思考勤动手,方能在编程道路上行至所向。
由于博主技术知识有限,博文中难免会有出错的地方,还望各位大佬包涵并批评指正,博主会及时改正;如果本文对小伙伴你有帮助的话,求求给博主一个赞支持一下,可以一起交流,一起加油!!

本文是博主在学习B站尚硅谷、黑马程序员等机构的JavaWeb网课时整理的学习笔记,在这里感谢各个机构的优质网课,如果有兴趣的小伙伴也可以去看看。

1.1 Web和 JavaWeb的概念

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

在我们日常的生活中,经常会使用浏览器去访问百度、京东等网站,这些网站统称为Web网站。如下就是通过浏览器访问百度官网的界面:

image-20240229141531124

我们知道了什么是 Web,那么 JavaWeb又是什么呢?顾名思义, JavaWeb就是用 Java技术来解决相关Web互联网领域问题的技术栈。

等学习完 JavaWeb之后,同学们就可以使用 Java语言开发我们上述所说的网站。而国内很多大型网站公司也是首选 Java语言来解决 Web互联网相关的问题。那都有哪些公司的系统是使用 Java语言的呢?如下图:

在这里插入图片描述

使用 Java语言开发互联网系统是有很多技术栈需要大家了解,具体都有哪些呢?接着往下看。

1.2 JavaWeb技术栈

了解 JavaWeb技术栈之前,有一个很重要的概念要介绍:B/S架构

1.2.1 B/S架构

什么是 B/S架构?

B/S 架构Browser/Server,浏览器/服务器 架构模式。它的特点是,浏览器只需要使用浏览器,而应用程序的逻辑和数据都存储在服务器端。浏览器只需要请求服务器,获取Web资源,然后由服务器将 Web资源发送给浏览器即可。大家可以通过下面这张图来回想下我们平常的上网过程:

1627031933553

  • 打开浏览器访问百度首页,输入要搜索的内容,点击回车或百度一下,就可以获取和搜索相关的内容。
  • 思考下搜索的内容并不在我们自己的电脑上,那么这些内容从何而来?答案很明显,是从百度服务器中返回给我们的。
  • 日常百度的小细节,逢年过节百度的 logo会自动更换不同的图片。也就是说服务器的数据发生变化,浏览器不需做任务事情就能获取最新的数据。

所以说B/S架构的好处:易于维护升级,即服务器端升级后,浏览器无需任何部署就可以使用到新版本的服务器。

了解了什么是B/S架构后,作为后台开发工程师的我们将来主要关注的是服务器的开发和维护工作。在服务器将来会放很多资源,那都有哪些资源呢?接着往下看。

1.2.2 静态资源

静态资源主要包含HTMLCSSJavaScript、图片等,主要负责页面的展示。

  • 我们之前已经学过前端网页制作三剑客HTML+CSS+JavaScript),使用这些技术我们就可以制作出效果比较丰富的网页,用来展现给用户。但是由于做出来的这些网页内容都是静态的,这就会导致所有用户看到的网页内容都是一模一样的。
  • 在日常上网的过程中,我们除了可以看到这些好看的页面以外,还会碰到很多动态内容,比如我们常见的百度登录页面效果:

1627037814180

张三登录以后在网页的右上角看到的是 张三,而 李四登录以后看到的则是李四。所以不同的用户访问相同的网页看到的内容大多数是不一样的,而要想实现这样的效果,光靠静态资源是无法实现的。

1.2.3 动态资源

动态资源主要包含 ServletJSP等,主要用来负责业务逻辑处理。(后面我们会仔细解释Servlet,大家此处不用急着去弄懂,把它当成一个可以处理业务的资源即可)

  • 动态资源处理完业务逻辑后会把得到的结果交给静态资源来进行展示,动态资源和静态资源要结合一起使用。
  • 动态资源虽然可以处理业务逻辑,但是当用户来登录百度的时候,就需要输入用户名和密码。这个时候我们就又需要解决的一个问题是:用户在注册的时候填入的用户名和密码都是数据,而这些数据将会存储在哪里呢?当我们需要的获取这些数据的时候又应该从哪里取呢?这时候便出现了数据库的概念。

1.2.4 数据库

数据库主要负责存储数据。

整个网络的访问过程就如下图所示:

1627039320220

  1. 浏览器发送一个请求到服务器,去请求所需要的相关资源;
  2. 资源分为动态资源静态资源,动态资源可以是使用 Java代码按照ServletJSP的规范编写的内容;
  3. Java代码可以进行业务处理也可以从数据库中读取数据;
  4. 服务器拿到数据后,将数据交给HTML页面进行展示,再结合CSSJavaScript使展示效果更好,这时候有了效果的这些页面就是静态资源
  5. 接着服务器将静态资源响应给浏览器;
  6. 浏览器将这些静态资源进行解析;
  7. 解析完成后将静态资源的效果展示在浏览器上,用户就可以看到最终的页面效果。

从上面的网络访问过程可以看出,在整个Web网络的访问过程中,会设计到很多技术,这些技术有已经学习过的,也有还未涉及到的内容,都有哪些还没有涉及到呢?接着往下看。

1.2.5 HTTP协议

HTTP协议:主要定义通信规则

浏览器发送请求给服务器,服务器响应数据给浏览器,这整个过程都需要遵守一定的规则,之前大家学习过TCP、UDP协议,这些都是规则,这里我们需要使用的是HTTP协议,这也是一种规则。

1.2.6 Web服务器

Web服务器:负责解析 HTTP 协议,解析请求数据,并发送响应数据。

  • 浏览器按照HTTP协议发送请求和数据,后台就需要一个Web服务器软件来根据HTTP协议解析和处理浏览器发送的请求和数据,然后把处理的结果再按照HTTP协议发送回给浏览器。
  • Web服务器软件有很多,我们课程中将学习的是目前最为常用的Tomcat服务器。以后就简称为Tomcat或者服务器

到这为止,关于 JavaWeb中用到的技术栈我们就介绍完了,这里面就只有HTTP协议、ServletJSP以及Tomcat这些知识是没有学习过的,所以整个Web核心主要就是来学习这些技术。

这些技术都该如何来使用,我们后面会一个个进行详细的讲解。接下来我们来学习下 HTTP、Tomcat 和 Servlet。

1.3 JavaWeb 学习内容

1627043194238

整个JavaWeb核心知识,我们总共有以下的学习内容,

  • 一:HTTP、Tomcat、Servlet
  • 二:ServletRequest(请求)、ServletResponse(响应)
  • 三:会话技术(Cookie、Session)
  • 四:Filter(过滤器)、Listener(监听器)
  • 五:Ajax、Vue、ElementUI
  • 六:综合案例

(1) ServletRequest是从浏览器向服务器发出的请求对象,

(2) ServletResponse是从服务器响应给浏览器的结果对象,

(3) 会话技术是用来存储浏览器和服务器交互所产生的数据,

(4) 过滤器是用来拦截浏览器的请求,

(5) 监听器是用来监听特定事件,

(6) Ajax、Vue、ElementUI 都属于前端技术

这些技术都该如何来使用,我们后面会一个个进行详细的讲解。下一篇博文我们来学习下 HTTP

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

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

相关文章

浅谈MySQL的B树索引与索引优化

MySQL的MyISAM、InnoDB引擎默认均使用B树索引(查询时都显示为“BTREE”),本文讨论两个问题: 为什么MySQL等主流数据库选择B树的索引结构?如何基于索引结构,理解常见的MySQL索引优化思路? 为什…

S7-1500 PLC装载存储器已使用容量变红的解决方法示例

S7-1500 PLC装载存储器已使用容量变红的解决方法示例 1.如何在线查看S7-1200/1500 PLC的内部存储区的使用情况? 答:在项目树中展开PLC程序打开“在线和诊断”,点击“转至在线”使TIA PORTAL在线连接到S7-1200 CPU,在“存储器”标签查看CPU内存使用情况,如下图所示: 2.如何…

LeetCode234题:回文链表(python3)

代码思路:将链表的值复制到数组列表中,再使用双指针法判断,不断更新current_node的值。 # Definition for singly-linked list. # class ListNode: # def __init__(self, val0, nextNone): # self.val val # self.next…

探索Linux世界:初次接触和基本指令(文件操作)

文章目录 1.基本介绍和准备2.基本指令和Linux的基本操作3.几个重要基本指令3.1 ls - 列出文件和目录3.1.1文件的知识3.1.2 .和..文件 3.2pwd - 显示当前工作目录3.2.1路径知识 3.3 cd - 切换目录3.4 touch - 创建文件或更新时间戳3.5mkdir - 创建新目录3.6rm - 删除文件或目录3…

基本运算符

参考C Primer Plus进行C语言学习 文章目录 基本运算符 除法运算符:/其他运算 1、除法运算符 在C语言中,整数除法结果的小数部分被丢弃,这一过程被称为截断。 2.其他运算符 (1)sizeof运算符和size_t类型 回顾一下&…

C++ 前缀和

目录 例1 例2 例3 例4 例5 例6 例7 例8 例1 DP34 【模板】前缀和 分析:dp和arr的大小并不是固定的,就是有没有偏移量,这里的n是从1开始,不如直接放到下标1处,在最后的减法时,如果用第一个参考代码会…

单调栈的理解

单调栈的理解 核心代码场景思考 完整代码环形数组循环数组 单调栈&#xff1a; 单调递增或 单调递减的栈 核心代码 while (!s.empty()&&s.peek()<nums[i]){s.pop(); } s.push(nums[i]);将要放入的元素&#xff0c;与栈内元素依个比较&#xff0c;小于的都出栈&am…

设计模式(含7大原则)面试题

目录 主要参考文章 设计模式的目的 设计模式的七大原则 设计模式的三大分类及关键点 1、创建型模式&#xff08;用于解耦对象的实例化过程&#xff09; 2、结构型模式 3、行为型模式 23种设计模式&#xff08;乱序--现学现写&#xff0c;不全面--应付面试为主&#xff…

BUUCTF------[HCTF 2018]WarmUp

开局一个表情&#xff0c;源代码发现source.php <?phphighlight_file(__FILE__);class emmm{public static function checkFile(&$page){$whitelist ["source">"source.php","hint">"hint.php"];if (! isset($page) |…

web坦克大战小游戏

H5小游戏源码、JS开发网页小游戏开源源码大合集。无需运行环境&#xff0c;解压后浏览器直接打开。有需要的订阅后&#xff0c;私信本人&#xff0c;发源码&#xff0c;含60小游戏源码。如五子棋、象棋、植物大战僵尸、贪吃蛇、飞机大战、坦克大战、开心消消乐、扑鱼达人、扫雷…

基于小红书评论的文本词语频数挖掘和词云图

import pandas as pd df pd.read_csv(小红书评论.csv) # 读取小红书评论数据 text .join(df[内容].astype(str)).strip() # 将内容列所有数据合成字符串 print(text) 使用jieba库&#xff0c;对文本数据进行分词&#xff0c;并统计出现频数 import jieba from collectio…

JMeter Body Data模拟10000个字符串

方法 **这个表达式使用了JMeter中的Groovy函数&#xff0c;目的是生成一个包含10000个字符 "s" 的字符串。在Groovy语言中&#xff0c;使用 "s" * 10000 可以生成包含10000个 "s" 的字符串。${__groovy("s" * 10000,)} 这个表达式在J…

财报解读:基本盘稳定后,联想如何进一步抢占AI时代?

从2021年下半年开始&#xff0c;受诸多因素影响&#xff0c;消费电子行业始终处在承压状态&#xff0c;“不景气”这一关键词屡次被市场提及。 但寒气没有持续&#xff0c;可以看到&#xff0c;消费电子行业正在逐渐回暖。国金证券在今年1月的研报中就指出&#xff0c;从多方面…

数字人解决方案——阿里EMO音频驱动肖像生成能说话能唱歌的逼真视频

前言 数字可以分为3D数字人和2D数字人。3D数字人以虚幻引擎的MetaHuman为代表&#xff0c;而2D数字人则现有的图像或者视频做为输入&#xff0c;然后生成对口型的数字人&#xff0c;比如有SadTalker和Wav2Lip。 SadTalker&#xff1a;SadTalker是一种2D数字人算法&#xff0c;…

什么是网络安全、信息安全、计算机安全,有何区别?

这三个概念都存在&#xff0c;一般人可能会混为一谈。 究竟它们之间是什么关系&#xff1f;并列&#xff1f;交叉&#xff1f; 可能从广义上来说它们都可以用来表示安全security这样一个笼统的概念。 但如果从狭义上理解&#xff0c;它们应该是有区别的&#xff0c;区别在哪呢&…

基于XTuner微调书生·浦语大模型

1 概述 XTuner 是一个傻瓜式、轻量级的大语言模型微调工具箱&#xff0c;由MMRazor和MMDeploy联合开发。其以配置文件的形式封装了大部分微调场景&#xff0c;0基础的非专业人员也能一键开始微调&#xff1b;对于 7B 参数量的LLM&#xff0c;微调所需的最小显存仅为 8GB。 常…

day11_oop_fianl_satic_多态

今日内容 零、 复习昨日 一、final 二、static 三、多态 四、向上转型&向下转型 五、多态应用 零、 复习昨日 0 类封装步骤 属性私有private提供setget方法 1 继承关键词,继承的好处 extends减少代码重复为多态做准备 2 子类可以使用父类什么 非私有的属性和方法 3 方法重写…

网络机顶盒哪个好?数码小编分享网络机顶盒排名

每次在挑选网络机顶盒的时候&#xff0c;很多朋友会咨询我的意见&#xff0c;最近每天都会收到相关的咨询&#xff0c;不知道网络机顶哪个好&#xff0c;我这次要分享的就是业内公认网络机顶盒排名&#xff0c;入围的几个品牌都是非常出色的&#xff0c;想买网络机顶盒的可以从…

亚信安慧AntDB:数智化转型的可持续动能

AntDB致力于为企业提供可持续发展的数据支持&#xff0c;其使命在于助力企业更好地适应不断变化的数智化时代。作为一款性能出色、可靠稳定的分布式数据库系统&#xff0c;AntDB为企业打造了一个高效、安全、灵活的数据管理平台&#xff0c;不仅拥有强大的数据处理和分析能力&a…

谁才是“内卷”之王?众多洗地机品牌哪家清洁力最强?清洁最干净?

在如今快节奏的生活中&#xff0c;家庭清洁工作愈发显得繁琐而耗时。添可洗地机凭借其高效的一体化清洁功能和智能化操作&#xff0c;为现代家庭生活带来了极大的便利。面对众多款品牌洗地机型号&#xff0c;消费者不禁会问&#xff1a;哪家洗地机清洁力最强&#xff1f;在性能…