servlet_5

再说说BS吧,现在的流行,其实它就是CS啦,后来出现的很多都是CS啦。就像老师说的一样,讨厌术语,把握实质。
BS就是用浏览器来做客户端工具而已。知道了它们实质上是相同的,但是这当然不够,它之所以称为BS也是有原因的,于是我们需要把握它与CS之间的区别。个人认为,不同的是构架设计不同了,而不是B和C的不同。BS的出现,是带着三层体系结构出来的。而之前的CS是二层体系结构,这是一个发展。哪三层呢?一客户端,二web服务器,三数据库服务器。大框架的解耦。这方面的知识可以从张宁老师的电子服务概念学习到一些。之后出现的N层,你就应该理解到其实就是一个解耦,把功能模块抽出来做一层。比如,可以把逻辑层又专门抽出来,这样就出现了RMI和EJB和COBRA集合的业务逻辑层,它们专门并只处理业务逻辑。

说个题外话,就是PC的出现,带来的一个问题。这个是从杭老师的数据仓库课上听到的(呵呵,我上课并不是很用心,但是会抓那种灵机的话语听),老师说PC的出现,导致数据的个人化,就是原本的数据都是存储在中央机上的,PC后,很多的数据都是存在个人的PC上,于是我们就需要用一个数据仓库来把所有的有用的数据收集起来,通过建模存储到数据仓库服务器上,供智能的决策支持。

又说了这么多的废话,但是至少我希望你通过上面的那些知道了web服务器是干吗的。它是负责和客户端交互的,仅此而已,并不承担业务逻辑的处理。我说了这么多,就是要你把业务逻辑从web服务器中分层出来。

那么设计问题就出来了,C知道了,是浏览器,那么我们该如何设计这个web服务器呢?让我们来模拟一下基本的场景。

首先有个网络数据传输,这个是我们不需要了解细节的,只要知道有一个它就行。只不过那个几层还是需要稍微的了解一些,HTTP,TCP、IP这几个概念是需要了解一些的。特别是HTTP协议。因为很简单,你说两个东西要交互,那总得在一个约定的相互识别,也就是协议的层面上交互吧,底层的数据传输层的TCPIP协议不需要了解太多。
这样就知道了浏览器和web服务器端是在HTTP协议上进行交互的。就是客户端发送数据过来,服务器知道它是符合HTTP协议的,服务器就通过HTTP协议去识别读出那些数据。经过处理后,返回数据给浏览器,浏览器同样的读取数据,然后就是浏览器的show功能了,它拿到返回的数据,需要转换成用户看上去很舒畅的方式啊,也就是HTML了。

知道了上面这些,你都可以去设计IE了,呵呵,开玩笑的。但至少,对于我们的Servlet,你就应该知道该做些什么了。第一,你要知道HTTP协议,第二,读取数据,第三把数据发给业务逻辑服务器,第四,把业务逻辑返回的数据发送给浏览器。

知道了这个流程,差不多,可以知道Servlet的API应该做什么了,你是app开发人员,你只关心数据本身,至于怎么收怎么放的网络层面的编程你就不想管了,这样Servlet的API该管的。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章