JavaWeb 第一部分 互联网通信流程

1.涉及技术

先接触老旧技术掌握流程,后面会被新技术替换
1.控制浏览器行为技术: HTML ,CSS ,JavaScript (JQuery)
2.控制硬盘上数据库行为技术:MySql数据库服务器管理使用(SQL重点),JDBC规范(MyBatis)
3.控制服务端Java行为技术: Http服务器,Servlet(SpringMVC),JSP(模板化技术)
4.互联网通信流程开发规则: MVC

2.互联网通信概述

两台计算机通过网络实现文件共享行为,就是互联网通信
互联网通信过程角色划分:
1.客户端计算机:用于发送请求,来索要资源文件的计算机
2.服务端计算机:用于接收请求,并提供对应的资源文件计算机
在这里插入图片描述

3.互联网通信模型

3.1C/S通信模型

C:client software 客户端软件
1)客户端软件专门安装在客户端计算机上
2)帮助客户端计算机向指定服务端计算机发送请求,索要资源文件
3)帮助客户端计算机将服务端计算机发送回来【二进制数据】解析为【文字,数字,图片,视频,命令】

S:server software 服务器软件

1)服务器软件专门安装在服务端计算机上
2)服务器软件用于接收来自于特定的客户端软件发送请求
3)服务器软件在接收到请求之后自动的在服务端计算机上定位被访问的资源文件
4)服务器软件自动的将定位的文件内容解析为【二进制数据】通过网络发送回发起请求的客户端软件上

适用场景:C/S通信模型普遍用于个人娱乐市场,比如【微信,淘宝/京东,视频(优酷/B站),大型网络游戏(魔兽/英雄联盟)】
企业办公领域相对应用较少

优点:
1.安全性较高
2.有效降低服务端计算机工作压力

缺点:
1.增加客户获得服务的成本
2.更新较为繁琐

3.2B/S通信模型:

B:browser 浏览器
1)浏览器安装在客户端计算机软件
2)可以向任意服务器发送请求,索要资源文件
3)可以将服务器返回的【二进制数据】解析为【文字,数字,图片,视频,命令】

S: server software 服务器软件
1)服务器软件专门安装在服务端计算机上
2)可以接收任意浏览器发送请求
3)自动的在服务端计算机上定位被访问的资源文件
4)自动的将定位的资源文件内容以二进制形式发送回发起请求浏览器上

适用场景: 既适用于个人娱乐市场,又广泛适用于企业日常活动

优点:
1.不会增加用户获得服务的成本
2.几乎不需要更新浏览器

缺点:
1.几乎无法有效对服务端计算机资源文件进行保护
2.服务端计算机工作压力异常巨大----->【B/S通信下高并发解决方案】

4.共享资源文件

可以通过网络进行传输的文件,都被称为共享资源文件
所有的文件内容都可以通过网络传输,所有文件都是共享资源文件
Http服务器下对于共享资源文件分类:

1)静态资源文件
2)动态资源文件

4.1静态资源文件:

  1. 如果文件内容是固定,这种文件可以被称为静态资源文件(文档,图片,视频)
  2. 如果文件存放不是内容而是命令,这些命令只能在浏览器编译与执行,这种文件可以被称为静态资源文件(.html,.css,.js)

4.2动态资源文件:

如果文件存放命令,并且命令不能在浏览器编译与执行;
只能在服务端计算机编译执行,这样的文件可以被称为动态资源文件(.class)

4.3静态资源文件与动态资源文件调用区别

静态文件被索要时,Http服务器直接通过【输出流】将静态文件中内容或则命令
以【二进制形式】推送给发起请求浏览器

动态文件被索要时,Http服务器需要创建当前class文件的实例对象,通过实例对象
调用对应的方法处理用户请求,通过【输出流】将运行结果以【二进制形式】推送
给发起请求浏览器

class Student{
	public int add(int num1,int num2){
		int sum = num1 + num2;
		return sum;
	}
}
Http服务器(自动)
	Student stu = new Student();
	int result = stu.add(10,20);
	out.print(result);

5.后端开发人员在互联网通信流程担负职责

1.控制浏览器请求行为
2.开发动态资源文件来解决用户请求
3.控制浏览器接收结果行为

在这里插入图片描述

6 MVC开发规则

MVC开发规则规定了互联网通信开发过程中必须出现的角色有哪些、角色担负的职责 以及 角色的出场顺序

6.1 角色及职责

C 控制层对象 (servlet对象)
1)可以调用请求对象读取请求包中的参数信息
2)必须调用Service对象处理业务
3)必须调用视图层对象将结果写到响应体

M 业务模型对象(service对象)
1)处理业务中的所有分支任务
2)根据分支任务执行情况判断业务是否处理成功
3)必须通过return将处理结果返回给控制层对象

V 视图层对象 (jsp或HttpServletResponse)
1)禁止参与业务处理
2)唯一任务将处理结果写到响应体

6.2 出场顺序

在这里插入图片描述

6.3 补充

DAO对象

DAO对象提供了某张表文件的操作细节,降低对表文件的操作难度
避免重复开发表文件操作的代码,提高代码的复用性

Service对象

Service对象:服务对象,提供【业务】的具体解决方案
Service对象一个方法指定一个业务的解决方案,避免业务开发重复性的行为,提高复用性
网站的每一个业务都有一个独立标准解决方案

业务

浏览器选Http服务器发送请求,用户向浏览器发送请求

业务特征:一个业务往往包含许多的分支任务,只有所有分支任务多能顺利解决,才可以认为当前业务处理成功

解决业务开发的困扰:
一个业务可能在在网站的多个地方重复出现,需要封装,降低开发难度,提高代码的复用性;
不同程序员面对同一个业务是,给出的解决方案往往有偏差,导致最终的数据有偏差。

传送门

下一章:JavaWeb 第二部分 Http协议和Tomcat服务器

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值