第13章基于数据库的Web应用程序开发本章内容13.1概述13.2常见的Web服务器简介13.3服务器端的动态网页技术13.4客户端网页设计相关技术简介13.1概述传统的C/S架构的数据库应用程序,由于客户端的安装升级需要花费比较大的代价,日益显现出它的缺点对于基于数据库技术的B/S架构的应用程序,客户端使用通用的Web浏览器,就可以完成各种功能基于B/S架构的应用程序结构B/S应用程序离不开Web应用服务器的支持当Web服务器接收到客户的请求后,将其传递给CGI网关进行处理,并将创建好的静态网页发送到客户端显示CGI网关负责程序逻辑的实现和与数据库的通信。用户看到的页面就不再是固定不变的,而不根据不同的请求所做出的不同的响应13.2常见的Web服务器简介Web服务器的作用是作为一个软件在机器的网络端口监听用户请求,解释执行服务器中存放的动态脚本或服务器端组件,然后为用户返回结果。常见的服务器软件有:IISTomcatWeblogicIIS(InternetInformationServer)微软提供的Web应用服务器软件通过配置可提供对ASP、ASP.NET、PHP、JSP等动态页面技术的支持可以运行符合ISAPI规范的DLL文件功能强大、与Windows操作系统兼容度高ApacheTomcatApache软件基金会的开源项目,对Java平台的动态页面技术提供稳定支持;因为本质上是Java程序,故其运行需要安装JRE轻量级的应用服务器,不能运行大型的EJB应用程序WeblogicServer企业级的面向Java技术的应用服务器具有一定的扩展性和可用性对EJB的完整支持,包含群集、负载均衡等高级功能13.3服务器端的动态网页技术JSP(JavaServerPages)ASP.NETJSP(JavaServerPages)JSP页面包含控制页面布局的HTML标记和通过%和%标记嵌入的Java代码,而这些Java代码定义了程序运行的逻辑首次运行时,JSP页面会被转换成Java源程序,继而编译成称为Servlet的Java类。Servlet类运行时接受用户的请求,处理之后生成HTML代码返回给客户浏览器端Java具有跨平台的优点JSP语法脚本元素:即Java代码,可实现计算、输出等操作JSP指令:指定页面所包含的Java类、编码、错误页面等一些属性JSP动作:可以声明一个类、设置类的属性、调用方法等,也可包含另外一个页面、实现跳转等JDBC不同的数据库服务器在处理查询、数据操作上有着不同,为了让JSP应用程序能够透明地与多种数据库通信、具有通用性,使用JDBCAPI来充当一个桥梁的角色不同数据库服务器只要能提供符合JDBC规范的驱动就可以在JSP中通过JDBC连接数据库的步骤加载与数据库产品相对应的驱动程序使用DriverManager获取与数据库的连接通过获取到的连接执行对数据库的查询、更新操作JSP连接SQLServer数据库驱动程序库:msbase.jar、mssqlserver.jar和msutil.jar驱动程序名:com.microsoft.jdbc.sqlserver.SQLServerDriver连接字符串为jdbc:microsoft:sqlserver://localhost:1433;Database=dbnameASP.NET的特点允许使用C#、VB.NET等作为内嵌语言来实现页面执行的逻辑编译后执行时调用的是.NET公共语言运行时的库,效率高显示和代码逻辑相分离,利于维护开发环境的良好支持,以可视化的方式设计ASP页面具有丰富的数据操作控件创建一个基于ASP.NET的应用程序在ASP的设计页面中添加一个SqlDataSource控件,并设置它连接的数据库,及提供数据的数据表在页面中添加一个GridView控件,将其数据源的属性设置为刚建立的SalDataSource对象运行页面,即可看到在页面上显示的数据表的内容13.4客户端网页设计相关技术简介基于CSS+DIV构建网页层叠样式表CSS(CascadingStyleSheet)定义了网页中不同元素的布局、外观等显示方式,而DIV则对不同的元素进行组织。通过这种方式可很好地实现表现和内容的分离,从而使得页面容易维护和改版。13.4客户端网页设计相关技术简介脚本语言JavaScript是一种高级的、灵活的语言,可以实现一般的计算和对网页对象的操作,由客户端浏览器解释执行,并且提供了面向对象的灵活编程方式,是一种很重要的网页脚本语言13.5小结介绍了基于B/S架构的数据库Web应用程序的开发,介绍了Web服务器、浏览器及数据库服务器之间的关系,给出了基于B/S架构的数据库应用程序的基本架构,并对IIS、Tomcat、Weblogic等常见的Web服务器进行了介绍。介绍了服务器端的动态网页技术及JSP的基本构成,在JSP中连接SQLServer、MySQL、Access、Sybase、DB2等数据库的基本方法,以及基于ASP.NET构建Web应用程序的方法,并介绍了客户端网页设计相关技术如基于CSS+DIV构建网页的方法及JavaScript等。