标签:需要 不能 标准 http 概念 工作 设计 方式 客户端程序
学习该书前所用推荐书籍《名师讲坛—java开发实战经典》
一web开发前奏
1.1网页发展
首先搞懂。
1.HTTP:超级文本传输协议,是一种通讯协议。
通过这个网络协议WW浏览器与WWW服务器之间的通讯进行规定,并且通过这个协议我们可以浏览网页,通过网页从客户端写入信息,从服务端得到信息。而通常的HTTP消息包括”客户端->服务端“与”服务端->客户端“的消息传送,图解HTTP协议的功能:
是在客户端通过浏览器根据HTTP协议中向服务器端发出请求,通过服务器向文件系统做出相应的行为(找到相应的网络文件),服务器端再通过HTTP协议对客户端做出回应,显示在浏览器中。
2胖客户端与瘦客户端:是否需要单独的客户端程序支持
因为最开始使用静态web不能实现绚丽的用户体验,因此出现了APPlet程序(就是我们所说的APP),它是基于web网页上的APP。并没有改变服务端,只是在客户端新增了动态效果。依然是采用请求与回应机制(同上)。这里所说到的胖客户端,就是运行时需要一个单独的客户端程序(就和平时上网所用的某个功能提示需要下载APP一样)。
APPlet(采用Java编程语言编写的小应用程序。)
APP(手机软件,就是安装在手机上的软件,完善原始系统的不足与个性化。)
3.JVM:Java Virtual Machine(Java虚拟机)
一般高级语言若需要在一个计算机上运行就需要配置一定的环境,为了解决这个问题,并且我们也知道由于java语言与平台无关,所以有了JVM即在实际的计算机通过虚拟机进行运行。
4.静态请求和动态请求
正如静态动态,静态请求就是不需要增删改查,需要得到的信息就是建站者上传的html文件(html是静态的),而动态请求是需要对保存在服务器上的文件进行改动。在最初的静态web时有说回应网页文件,可以知道网页其实就是独立的文件。
根据静态请求,动态请求,我们可以知道静态网页和动态网页的本质区别是,能否对数据库操作。
5.web容器:(一种服务程序,是处理从客户端发出的请求)
web容器工作包括解析请求,创建对象,处理请求,根据请求对象创建回应等。其实也就是说,我们只需要关注如何将我们的程序与这个黑匣子的线头一一接好,web容器这个黑匣子会帮我们处理发出的动态请求。图解web容器在动态网页中的作用:
现在来看web开发历程:
静态网页->APPlet->动态网页
由于静态网页不能实现绚丽多姿的用户体验和对数据库操作,所以出现了APPlet,但是由于APPlet只能实现表面的体验改观,不能进行文件的读写、无法对数据库操作、且必须有单独的客户端(胖客户端)这些问题依然存在。前两者都是在客户端进行一些改变,且存在以上问题,所以出现了动态网页。这里指出实现动态网页的5种方式:CGI,PHP,ASP,ASP.NET,JSP。
在动态网页中,我们不再需要JVM虚拟机,而是直接通过浏览器,在服务器端进行了改变,有了web服务插件来识别静态还是动态的请求,若是动态请求就通过web容器对动态请求作出处理,再将所有的响应传送到web服务器上,通过HTTP回应将信息回应道web浏览器上。
这就是web的艰险历程。
1.2企业开发架构
首先还是搞清楚几个概念。
1.B/S C/S
B/S:Browse/Server(浏览器/服务端)
在浏览器上运行的程序架构,以浏览器作为客户端,在服务端安装软件,用户通过浏览器则可访问客户端。
C/S:Client/Server(客户端/服务端)
需要在本地计算机上安装工作软件,管理维护都是需要在客户端和服务端一起改动。
也就是说,B/S将C/S中所需要安装在用户计算机的一些软件直接安装到服务端(具体区别http://jingyan.baidu.com/article/b0b63dbfc9a2874a483070c0.html)
所以呢,企业开发架构我们现在来看。如果要分开发动态web,通过B/S模式,对不同的功能单独进行相关处理,修改时候也能单独进行修改,所以现代企业当中我们更多的采用B/S模式,更好分工嘛。
开发模式:
JAVA EE就是一种开发平台。
1.3JAVA EE架构
理解概念。
1.JAVA SE:JAVA设计语言与平台的总称
Java SE:Java标准版,也是Java的核心。
对JAVA EE来说,JAVA SE相当于是一种语法规定,是以JavaSE为基础的。JAVA EE(JAVA企业版)本可以更方便的移植、健壮、可伸缩且安全的服务器端 Java 应用程序。
2.NET开发架构:也是一种平台开发,且是基于JAVA EE的一种企业开发架构。
JAVA EE架构到底是什么呢?有什么呢?从上面可以知道,JAVA EE是开发平台的一种中间体。整个JAVA EE架构由容器、组件、服务组成。理解成某一具体操作对应一种组件(这里讲组件就是APPlication程序,就是APP),而容器相当于我们说的黑匣子(一个容器装一种组件),我所理解的java ee服务就是我们在平台上所看到的各种各样的功能,而且这些功能是JAVA EE自有的,不需要我们单独写组件装容器的一些服务。
而且我们知道了JAVA EE用于企业版本平台的开发,那么在整个企业平台开发中,它包括的三个层次也理解一下。客户层<->中间层<->企业信息系统层,不同用户通过浏览器或者是应用程序通过中间层层得到服务,并将所有需要保存的数据放在企业信息系统层。
1.4JAVA EE核心设计模式
明白概念。
1.JSP:java服务器页面。
一种使软件开发者可以响应客户端请求,而动态生成HTML、XML或其他格式文档的Web网页的技术标准。 是将静态技术(如HTML)与动态技术(java)结合的动态web技术。
2.JAVABean:一种JAVA语言写成的可重用组件。
为写成JavaBean,类必须是公共和具体的,且具有无参数的构造器。从这个地方看,我理解成控相当于函数的调用,控制层调用模型层的模型组件,通过模型组件访问持久层中数据库,得到的一些数据我们通过JavaBean组件进行重用,最后由JavaBean和JSP显示。
MVC设计模式:JAVA EE当中最核心的设计模式就是MVC设计模式.用户通过浏览器发出请求,请求回到控制层被处理,处理结果是调用模型层的模型组件,通过组件往数据库访问,再将所有结果保存在JAVABean中,最后JSP和JAVABean一起完成页面显示。
图解MVC设计模式:
1.5Struts开发框架
对于一般项目不需要MVC设计模式这么多,因而出现了Struts,Struts出现的主要作用是在web层上的开发问题。
学习了第一章节,从web发展历程-企业开发架构-java ee开发架构-java ee核心设计模式:mvc设计模式-struts开发框架
了解如HTTP通讯协议,胖客户端与瘦客户端,JVM虚拟机,APPlet,容器等概念,与设计动态网页完整的思路次序,不同的部分所需要的技术,不同部分之间的如何联系,他们之间的关系。
标签:需要 不能 标准 http 概念 工作 设计 方式 客户端程序
原文地址:http://www.cnblogs.com/Amyheartxy/p/6354491.html