,Click to edit Master text styles,Second level,Third level,Fourth level,Fifth level,*,Click to edit Master title style,第,2,章,Java Web,开发概述,第2章 Java Web 开发概述,2.5.NET,与,J2EE,两大主流平台简介,2.4,常见的,Java EE,服务器,2.3,常用的动态网页技术,2.2,动态网页技术概述,2.1 Java Web,相关知识,内 容 提 要,2.5.NET与J2EE两大主流平台简介2.4 常见的Ja,2,Java Web,基础环境搭建包括,JDK,的安装、,Tomcat,的安装、,Eclipse,的安装以及,MySQL,的安装(本书以,MySQL,数据库为例,读者也可以使用其它数据库)。为了方便地操作,MySQL,,如果安装的,MySQL,没有可视化的操作界面,还可以安装操作,MySQL,数据库的小软件,Navicat Lite,。,Java Web基础环境搭建包括JDK的安装、Tomcat的,3,Java Web,开发是用,Java,技术来解决相关,Web,互联网领域的技术的总和,指的是利用,JSP,、,Servlet,、,XML,和,JavaBean,等等技术开发,Web,应用程序。,Web,包括服务器端和客户端。开发,Java Web,应用程序不仅要用到开发静态网站的,HTML,、,JavaScript,、,CSS,等等技术,还要使用数据库,,MVC,框架等等。,Java Web开发是用Java技术来解决相关Web互联网领,4,2.1 Java Web,相关知识,1,HTML,2,XML,3,JavaScript,4,CSS,5,C/S,和,B/S,架构,2.1 Java Web相关知识1HTML,5,1,HTML,HTML,(,Hyper Text Mark-up Language,,超文本标记语言)是一种万维网应用最为广泛的信息表示语言。使用,HTML,语言编写的文件称为,HTML,文件,扩展名为,.html,或者,.htm,。,HTML,语言包括一系列的元素和标签,可以将文本、表格、图片、声音以及动画等等组合在一起,进行各种资源的排列及显示。,1HTMLHTML(Hyper Text Mark-up,6,1,HTML,HTML,语言简单易学、容易掌握。,HTML,文件独立于操作系统,只需要使用客户端的浏览器就可以运行。,HTML,文件的结构包括头部(,Head,)和主体(,Body,)两部分。,其中,头部用来描述,HTML,文件的属性信息。例如,页面的类别、字符编码,刷新间隔、缓存控制、,Cookie,设置等等。头部的内容不会在页面中显示。,HTML,的主体部分是正文,也是最主要的部分,是浏览器要显示的内容。,1HTMLHTML语言简单易学、容易掌握。HTML文件独立,7,程序,2-1 hello.html:,程序2-1 hello.html:,8,2,XML,XML,(,Extensible Markup Language,,可扩展标记语言)是一种用来创建自定义标记的语言。,开发者可以利用,XML,对数据进行描述、传输以及交换,可利用,XML,创建新的标记语言。,它可以标记数据,定义数据类型,使数据更具有结构性。,2XMLXML(Extensible Markup Lan,9,2,XML,如今,,XML,已被广泛应用于,Java Web,的配置中,例如,Java Web,项目的配置文件,web.xml,,,Struts,框架的配置文件,struts.xml,,,Hibernate,框架的配置文件,hibernate.cfg.xml,以及,Spring,框架的配置文件,bean.xml,以及,applicationContext.xml,等等。,2XML如今,XML已被广泛应用于Java Web的配置中,10,2,XML,(,1,)它具有良好的格式,标记都具有结尾标记;,(,2,),XML,具有两种验证机制:,DTD,(,Document Type Definition,,文档类型定义)和,XML Schema,。其中,,XML Schema,可以复合使用,XML,名称空间,可以详细定义元素的内容以及属性值的数据类型。,2XML(1)它具有良好的格式,标记都具有结尾标记;,11,2,XML,(,3,)与,HTML,结合使用,使数据的显示格式与内容相分离。,HTML,提供显示格式,,XML,描述数据本身。,(,4,),XML,是电子数据交换的格式。不仅可以用于描述,而且可以在电子商务等领域完成数据交换。,(,5,),XML,具有面向对象的特性,具有开放的标准。,2XML(3)与HTML结合使用,使数据的显示格式与内容相,12,但是,,XML,也存在一些缺点。例如,,XML,采用的是树状结构,插入和修改比较困难;当数据量较大时,存储效率较低。另外,,XML,的管理功能不够完善;各种,XML,标准间的通信也存在问题。,但是,XML也存在一些缺点。例如,XML采用的是树状结构,插,13,0001,王明明,男,山东,0002,李晓梅,女,北京,0003,王林,男,河北,程序,2-2 student.xml:,?xml version=1.0 encoding=,14,3,JavaScript,JavaScript,是目前网络上最流行的客户端脚本语言,它被设计用来为网页添加一些交互的行为。使用一对,标签将可以将,JavaScript,脚本添加到网页中,使网页变得更加生动活泼。,3JavaScriptJavaScript是目前网络上最流,15,JavaScript,语言和,Java,语言除了语法有些相似之外,并无其它关联,二者是两种完全不同的语言,区别如表所示:,JavaScript,Java,基于对象(内建对象,不支持类和继承等),面向对象(类、继承、重载等等),弱类型语言(变量无须声明),强类型语言(变量必须声明),解释执行,编译执行,嵌入到,HTML/JSP,文件中,嵌入到,JSP,文件中,,JSP,转译成,Servlet,动态联编(对象的引用在执行时进行),静态联编(对象的引用在编译时进行),程序,2-3,使用,JavaScript,完成表单中用户名和密码非空的校验,并给出相应的提示信息。,JavaScript语言和Java语言除了语法有些相似之外,,16,4,CSS,CSS,(,Cascading Style Sheets,,级联式菜单或层叠样式表)是一种用来表现,HTML,或,XML,等文件样式的技术。,使用,CSS,可以实现页面的内容和样式的分离,,HTML,语言用来定义页面的内容,而,CSS,用来定义页面的样式或风格。,CSS,更高效,更灵活,维护简单方便,也更容易使整个网站的页面风格统一。,4CSSCSS(Cascading Style Sheet,17,CSS,布局也可以在一个独立的样式表文件中完成,从而实现网页的表现和内容相分离;,采用,CSS,布局的页面容量比使用表格布局的页面容量小,页面的浏览速度更快;另外,采用,CSS,布局的页面修改和维护起来更方便。,程序,2-4,使用外部样式表,,style.css,为外部样式表,,css.html,引用外部样式表进行格式化输出。,CSS布局也可以在一个独立的样式表文件中完成,从而实现网页的,18,4,CSS,style.css:,CHARSET UTF-8;,body,background-color:#FFCC66;,h1,color:#FF0000;,background-color:#FCFF65;,4CSSstyle.css:,19,4,CSS,css.html:,外部样式表使用示例,我是一级标题,我也是一级标题,4CSScss.html:,20,4,CSS,4CSS,21,5,C/S,和,B/S,架构,C/S,是,Client/Server,的简写,即客户机,/,服务器架构。它是一种软件体系结构,可以充分利用,Client,和,Server,两端的硬件环境,将任务合理进行分配,降低整个系统的通讯开销,从而提高工作效率。,5C/S和B/S架构C/S是Client/Server的简,22,5,C/S,和,B/S,架构,B/S,是,Browser/Server,的简写,即浏览器,/,服务器架构,也是一种软件体系结构。,用户界面可以完全通过浏览器实现,部分业务逻辑处理在浏览器端实现,但主要的业务逻辑处理仍然在服务器端实现,,5C/S和B/S架构B/S是Browser/Server的,23,特点,C/S,架构,B/S,架构,基于的网络,专用的网络,广域网,安全要求,安全控制较强,安全控制较弱,对程序架构的要求,较低,较高,软件重用,重用性较差,重用性较好,系统维护,维护成本较高,维护成本较低,C/S,架构与,B/S,的架构的主要区别如表所示。,特点C/S架构B/S架构基于的网络专用的网络广域网安全要求安,24,2.2,动态网页技术概述,动态网站指的是基于数据库架构的网站,一般由动态网页,后台处理程序以及数据库文件组成。,动态网页指的是利用动态网站技术设计制作的网页,例如“,.jsp”,文件。当客户端向服务器端提交一个动态网页请求时,服务器会根据请求生成一个静态的结果,并将静态的结果返回给客户端。,2.2 动态网页技术概述动态网站指的是基于数据库架构的网站,,25,2.2,动态网页技术概述,服务器端执行,动态更新,交互性,安全性,2.2 动态网页技术概述服务器端执行,26,2.3,常用的动态网页技术,CGI,ASP,PHP,JSP,2.3 常用的动态网页技术CGI,27,CGI,CGI,的全称是,Common Gateway Interface,,即通用网关接口。,CGI,是用于,Web,服务器和外部应用之间信息交换的标准接口。,CGI,的组成一般是分成两个部分:一部是,html,页面,即客户端浏览器上显示的页面;另一部分是运行在服务器上的,CGI,程序。,当多个,CGI,程序同时执行时,服务器要启动多个进程,导致负载过重,从页影响服务器的性能。,CGICGI的全称是Common Gateway Inter,28,2,ASP,ASP,的全称是,Active Server Pages,,它是微软开发的动态网页技术。在,HTML,中嵌入脚本语言,例如,JavaScript,和,VBScript,。,2ASPASP的全称是Active Server Page,29,2,ASP,ASP,的优点:,简单易学,安装简单,只需要安装,IIS,组件。,ASP,的缺点:,受制于系统缺陷或漏洞,编译效率低,无法跨平台,不支持集群和负载均衡,2ASPASP的优点:,30,3,PHP,Personal Home Page,,是一种创建动态交互性站点的强有力的服务器端脚本语言。,混合了,C,、,Java,、,Perl,语法,并加入自己的特性。,免费,使用广泛。,搭配,Apache,作为,Web,服务器一起使用,也支持,ISAPI,(,Internet Server Application Programming Interface,,,Internet,服务器应用程序接口),并且也可以运行于,Windows,的,IIS,平台。,3PHPPersonal Home Page,是一种创建动,31,3,PHP,PHP,的优点:,语法简单,书写容易,跨平台,与数据库良好的交互能力。,与,Apache,及其它平台以静态编译的方式结合起来,可以优化,CPU,和内存的使用;和数据库的接口也是静态连编,本地化调用,可以发挥数据库的最佳性能。,安全性能。,3PHPPHP的优点:,32,3,PHP,PHP,的弱点:,数据库接口不规范。,安装和使用复杂。,缺少企业级的支持。,3PHPPHP的弱点:,33,4,JSP,全称,Java