资源预览内容
第1页 / 共9页
第2页 / 共9页
第3页 / 共9页
第4页 / 共9页
第5页 / 共9页
第6页 / 共9页
第7页 / 共9页
第8页 / 共9页
第9页 / 共9页
亲,该文档总共9页全部预览完了,如果喜欢就下载吧!
资源描述
第1章 Java Web开发概述第1章 Java Web开发概述在计算机发展历史上,网络的出现是个重要的里程碑。网络在计算机技术中发挥着越来越重要的作用。如果说上个世纪是桌面程序的时代,那么本世纪无疑就是网络程序的 时代。1.1 Web相关概念Web程序也就是一般所说的网站,由服务器、客户端浏览器以及网络组成。Web程序的好处是使用简单,不需要安装、学习,有一台电脑、一根网线就可以使用。截至2006年底,互联网上的网站数量已经超过了1亿大关,中国的网站也已经有200万之多了,可见网络程序的影响力。但Web程序又不是一般意义上的网站。网站的目的是提供信息服务,重在内容,程序往往比较简单。但一个商用的Web程序往往比较复杂,背后结合数据库等技术,例如ERP系统、CRM系统、财务系统、网上办公、网上银行、在线业务办理等。下面从专业上解释一下Web程序相关的几个概念。1.1.1 胖客户端程序RCP桌面程序(Desktop Program)也叫胖客户端程序(Rich Client Program,简称RCP)。因为桌面程序需要安装到计算机上才能运行,并会导致计算机软件的体积越来越大,因此人们形象地称桌面程序为胖客户端程序。计算机上安装的任何程序都是RCP。例如办公软件Word、Excel,聊天工具QQ、MSN,播放软件Media Player、Flash Player、图像制作软件PhotoShop等。RCP的优点很明显,只要安装上了软件,就能高效地使用软件的功能。RCP的缺点也很明显,就是需要安装才能使用,并且会占用大量的硬盘资源。如果某个公司的1000台电脑都要使用Word功能,那么这1000台电脑都要安装Word。1.1.2 瘦客户端程序TCP与胖客户端程序相对的是瘦客户端程序。瘦客户端程序(Thin Client Program,简称TCP)一般表现为Web程序,它的特点是不需要在客户端安装便能使用,只要计算机能上网就行。瘦客户端程序将软件功能的重点集中放到了服务器上,服务器端只需要提供服务。目前流行的概念“软件即服务”SAAS(Software-as-a-service),就是一种非常流行的瘦客户端应用。它是通过Internet提供软件的模式,用户不用再购买软件,而改用向提供商租用基于Web的软件,来管理企业经营活动,且无需对软件进行维护、升级。目前,越来越多的Web 2.0概念的应用也都是瘦客户端的应用,随着技术的不断进步,瘦客户端程序的体验也越来越丰富。Google已经提供了许多功能强大的Web程序,例如在线Word、Excel、PDF等功能,用于取代桌面程序。相信在不久的将来,会有越来越多的TCP应用的出现。1.1.3 B/S与C/S结构按照是否需要访问网络,程序可分为网络程序与非网络程序。其中网络程序又可分为B/S结构与C/S结构。C/S是指客户端(Client)/服务器(Server)模式。这种模式的客户端中需要安装一个RCP程序。RCP程序负责与服务器进行数据交换。一般的网络程序都是C/S结构,例如QQ、MSN、PP Live、迅雷等、eMule等。以往基于客户、服务器的C/S结构应用程序存在很多缺点,它需要安装客户端程序。当应用程序升级时,客户端同样需要下载升级程序才能使用新的功能。这样无形中会给客户端带来一定的麻烦,限制了该应用程序的广泛使用。当今更多的下载软件、即时通信软件等都是C/S结构的应用程序。B/S是指浏览器(Browser)/服务器(Server)模式。一般的网站都是B/S结构的,例如Google、Baidu。Web应用程序的访问不需要安装客户端程序,可以通过任一款浏览器(例如IE或者Firefox)来访问各类Web应用程序。当Web应用程序进行升级时,并不需要在客户端做任何更改。和C/S结构的应用程序相比,Web应用程序可以在网络上更加广泛地进行传播和使用。1.2 Web开发背景知识在了解如何开发Web应用程序之前,很有必要首先了解一下这些应用程序的运行平台和环境。下面就重点介绍Web应用程序所涉及的Web开发的背景相关知识,包括基本访问原理,HTTP协议,Web浏览器以及Web服务器。1.2.1 Web访问基本原理下面我们回想一下平时浏览网页的过程中,浏览器和服务器端都发生了什么变化,网站是怎么实现请求和响应功能的。图1.1清晰地显示了浏览器访问Web服务器的整个过程。(1)用户打开浏览器(如IE、Firefox等),输入网站的URL地址,也就是通常所说的网址。这个地址告诉浏览器要访问互联网中的哪台主机。图1.1 浏览器访问Web过程(2)浏览器寻找到指定的主机之后,向Web服务器发出请求(request)。(3)Web服务器接受请求并做出相应的处理,生成处理结果,大多数生成HTML格式,也有其他响应的格式。(4)服务器把响应的结果返回发送给浏览器。(5)浏览器接收到对应的响应结果后,在浏览器中显示响应结果,比如Web页面。1.2.2 HTTP超文本传输协议了解了浏览器与Web服务器之间的交互关系之后,再来认识一下负责浏览器与Web服务器之间交互的桥梁:HTTP超文本传输协议。HTTP协议是浏览器和服务器之间的应用层通信协议,它是基于TCP/IP之上的协议,不仅保证正确传输超文本文档,还确定传输文档中的哪一部分,以及哪一部分内容首先显示(如文本先与图形)等。在WWW中,“客户”与“服务器”是一个相对的概念,只存在于一个特定的连接期间,即在某个连接中的客户在另一个连接中可能作为服务器。WWW服务器运行时,一直在TCP80端口(WWW的默认端口)监听,等待连接的出现。下面介绍基于HTTP协议的客户/服务器模式的信息交换过程,它分4个过程:建立连接、发送请求信息、发送响应信息、关闭连接。q 建立连接:连接的建立是通过申请套接字(Socket)实现的。客户打开一个套接字并把它约束在一个端口上,如果成功,就相当于建立了一个虚拟文件。以后就可以在该虚拟文件上写数据并通过网络向外传送。q 发送请求:打开一个连接后,客户机把请求消息送到服务器的停留端口上,完成提出请求动作。HTTP/1.0请求消息的格式为:请求消息=请求行(通用信息|请求头|实体头) CRLF实体内容请求行=方法请求URLHTTP版本号CRLF方法=GET|HEAD|POST|扩展方法URL=协议名称+宿主名+目录与文件名请求行中的方法描述指定资源中应该执行的动作,常用的方法有GET、HEAD和POSTq 发送响应:服务器在处理完客户的请求之后,要向客户机发送响应消息。HTTP/1.0的响应消息格式如下:响应消息=状态行(通用信息头|响应头|实体头)CRLF实体内容状 态 行=HTTP版本号状态码原因叙述状态码表示响应类型1:保留;2:表示请求成功地接收;3:完成请求客户需进一步细化请求;4:客户错误;5:服务器错误。响应头的信息包括:服务程序名,通知客户请求的URL需要认证,请求的资源何时能使用。q 关闭连接:客户和服务器双方都可以通过关闭套接字来结束TCP/IP对话。%提示:网络连接是比较底层的技术,各种Web开发技术已经对细节进行了封装,开发者只需要了解即可。1.2.3 Web浏览器目前,有很多Web浏览器,但是比较普及和流行的为Microsoft公司的Internet Explorer(IE)和Mozilla基金会的Firefox浏览器。这两个浏览器都能很好地支持最新、最好的HTML表示标准,以及各种HTML扩展功能。另外,它们也都能支持JavaScript脚本语言以及类似Applet的Java小程序运行。其他的浏览器还有傲游浏览器(Maxthon)、腾讯TT浏览器、Opera,以及Google最新推出的谷歌浏览器(Chrome)等。1.2.4 Web服务器在服务器端,与通信相关的处理都是由服务器软件负责,这些服务器软件都由第三方的软件厂商提供,开发人员只需要把功能代码部署在Web服务器中,客户端就可以通过浏览器访问到这些功能代码,从而实现向客户提供的服务,下面简单介绍常用的服务器。q IIS是微软提供的一种Web服务器,提供对ASP语言的良好支持,通过插件的安装,也可以提供对PHP语言的支持。q Apache服务器是由Apache基金组织提供的一种Web服务器,其特长是处理静态页面,对于静态页面的处理效率非常高。q Tomcat也是Apache基金组织提供的一种Web服务器,提供对JSP和Servlet的支持,通过插件的安装,同样可以提供对PHP语言的支持,但是Tomcat只是一个轻量级的Java Web容器,像EJB这样的服务在Tomcat中是不能运行的。q JBoss是一个开源的重量级的Java Web服务器,在JBoss中,提供对J2EE各种规范的良好支持,而且JBoss通过了Sun公司的J2EE认证,是Sun公司认可的J2EE容器。q 另外J2EE的服务器还有BEA的Weblogic和IBM的WebSphere等,适合大型的商业应用。这些产品的性能都是非常优秀的,可以提供对J2EE的良好支持。用户可以根据自己的需要选择合适的服务器产品。1.3 Web开发技术发展历史在了解了Web应用程序的基本背景知识之后,下面将重点介绍Web应用程序的开发方法和过程,了解开发Web应用程序的各类技术,以及这些技术的发展过程和优缺点。1.3.1 传统的Web服务器模式开发传统的Web应用开发仅仅能够提供有限的静态Web页面(HTML静态页面),每个Web页面的显示内容是保持不变的。这种模式开发的Web应用很不利于系统的扩展,如果网站需要提供更多新的信息资料时,就只能修改以前的页面或者重新编写HTML页面并提供链接。而且Web网站的信息更新周期一般都比较长(因为需要重新编写代码)。总结起来,传统Web应用开发模式存在如下多个不足:q 不能提供及时信息,页面上提供的都是静态不变的信息。q 当需要添加新的信息时,必须重新编写HTML文件。q 由于HTML页面是静态的,所以并不能根据用户的需求提供不同的信息(包括不同的内容和格式),并不能满足多样性的需求。静态页面的应用程序存在着这么多的缺点,决定了这种模式必然不能适应大中型系统和商业需求。因此,很快因特网软件工程师转向了CGI(Common Gateway Interface,公共网关接口),系统能够提供页面的动态生成。1.3.2 动态展现页面技术当发布全部为静态页面的Web应用程序(即传统Web服务器模式开发)时,随着企业业务的增多,HTML页面程序会越来越多,非常不利于后期代码的维护,而且新信息发布过程非常麻烦。所以建立一个动态Web应用程序就显得非常重要。一方面可以根据访问者的不同请求返回不同的访问信息,即满足服务的多样性;另一方面,可以直接通过后台管理页面发布和修改信息即可,再也不需要修改页面程序或者添加更多页面程序。动态Web应用程序的建立,可以给客户提供及时信息以及多样化服务,可以根据客户不同请求,动态地返回不同需求信息。下面将一一介绍创建动态页面的方法和技术。1.3.3 CGI实现页面的动态生成实现动态输出的CGI程序是运行在服务器端的,根据不同客户端请求输出相应的HTML页面,然后Web服务器再把这个静态页面返回给浏览器作为客户端的响应。具体的CGI操作流程如图1.2所示。首先用户需要在浏览器地址栏输入URL地址或者单击链接来调用相应的CGI程序,例如www.aaa.com/cgi/createhtml.cgi。通过URL地址,客户端取得和网络上域名为www.aaa.com的服务
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号