一、为什么我要写Spring MVC呢?
①、我认为Spring MVC是我们开发web项目中是非常重要的框架,当你真正的明白它的原理的时候,理解的越深,你才能够封装一些自己公司的一些组件
②、而且现在大多数的公司虽然都是用微服务,但是微服务的框架的起源还是这些的框架的开始一步一步的演变。
③、在我们的项目中会看到Spring MVC的影子,所以说有必要的深入源码的方式去了解一个框架。
二、先说下网站的基础知识吧?
为什么我没有开始直接写Spring MVC呢?有以下几点:
①、先用几篇文章梳理下架构的演变,Web中涉及的协议,协议的实现方法,Java中的Servlet以及对一个完整对的产品Tomcat的分析
为什么我要写底层协议和Tomcat的实现方法呢,虽然在正常做开发的时候并不会直接使用到,不过了解了之后可以让我们在进行具体开发的时候更加得心应收。
②、还可以通过具体内容的学习学到一些优秀的思想,思想本身是很难学习的,需要通过一定的载体才可以传播,底层的知识就是这样的载体。
③、现在社会中普遍注重创新,其实创新是建立在扎实的基础之上的,如果没有扎实的基础就很难做出合理而且易用的创建成果。
三、软件的三大类型
①、单机软件:
单机软件的时代很久远吧,我不记着是多久了,那个时代主要以单机软件为主,如:画图板,五笔打字,意思就是不需要联网的单机软件就是最开始的软件。
②、CS结构的软件:
用户安装的软件叫客户端(Client),统一管理数据的主机中的软件就叫服务端(Server),这种结构就叫CS端。
a、但是随着时间的推移,这种结构的服务端就不只是管理数据了,另外还可以处理一些业务逻辑,哪些业务放到客户端处理,哪些业务放到服务端处理就是见仁见智的问题了。
b、业务放到服务端统一处理可以提供更好的安全性和稳定性而且升级比较容易,不过服务器的负担就增加了
c、业务放到客户端处理可以将负担分配到每个用户的机器上,从而可以节省服务器的资源,但是安全性和稳定性可能会有一些问题,而且升级也比较麻烦,每个用户安装的客户端程序都需要升级。
d、CS结构的程序已经完全可以完成网络通信了。但是使用起来还是有点麻烦的。首先软件提供商需要同时开发客户端和服务端两套软件。
e、每个用户在使用时都需要单独安装客户端软件,而且升级的时候也需要每个用户都进行升级。
③、BS结构的软件
a、为了解决上面CS结构的软件的问题,而设计了统一的客户端而且默认安装在用户电脑里面,这就是我们电脑中浏览器(Browser),而且一个浏览器可以访问所有同种类型的网站,它主要用作展示数据的。
b、具体的业务处理是在不同的服务端进行的,这种结构就叫做BS结构,除了提供统一的客户端,还根据相应协议和标准提供通用的服务器程序。服务器程序统一处理数据连接,封装和解析工作。
四、三种结构的软件的对比
a、BS类型的结构的软件开发简单,使用方便而且功能强大,所以现在使用最广。
b、BS结构的灵活性和处理效率都不如CS结构,所以说像QQ,大型游戏等的软件使用的结构还是CS结构。
今天先到这了,明天见~~