首页 理论教育教学参考文献中心系统开发

教学参考文献中心系统开发

【摘要】:教学参考文献中心系统平台主要采用JSP+Java Bean相结合的设计模式进行开发。这样,一个熟悉HTML网页编写的设计人员可以很容易进行JSP网页的开发。原型系统开发工具采用JBuilder 9.0,Web服务器使用Apache Tomcat 5.0,数据库使用MysQL 5.0。

教学参考文献中心系统平台主要采用JSP+Java Bean相结合的设计模式进行开发。

4.1 JSP简介

JSP(Java Server Pages)是由Sun Mierosystems公司倡导、许多公司参与一起建立的一种动态网页技术标准。JSP技术是用Java语言作为脚本语言的,JSP网页为整个服务器端的Java库单元提供了一个接口来服务于HTTP的应用程序。

在传统的网页HTML文件(*.htm,*.html)中加入Java程序片段(Scriptle)和JSP标记(tag),就构成了JSP网页(*.jsp)。Web服务器在遇到访问JSP网页的请求时,首先执行其中的程序片段,然后将执行结果以HTML格式返回给客户。程序片段可以操作数据库、重新定向网页以及发送Email等等,这就是建立动态网站所需要的功能。所有程序操作都在服务器端执行,网络上传送给客户端的仅是得到的结果,对客户浏览器的要求最低,可以实现无Plugin,无ActiveX,无Java Applet,甚至无Frame。

JSP的设计目标主要是提供一种更为简便、有效的动态网页编写手段,并且增强网页程序的独立性、兼容性和可重用性。

它是通过以下几个方面加以实现的:

(1)简便性和有效性

通过前面对JSP的组成的介绍,可以知道JSP动态网页的编写与一般的静态HTML的网页的编写是十分相似的。只是在原来的HTML网页中加入一些JSP专有的标签,或是一些脚本程序(而且此项不是必需的)。这样,一个熟悉HTML网页编写的设计人员可以很容易进行JSP网页的开发。而且开发人员完全可以不自己编写脚本程序,而只是通过JSP独有的标签利用别人已写好的部件来实现动态网页的编写。这样,一个不熟悉脚本语言的网页开发者,完全可以利用JSP作出漂亮的动态网页,而这在其他的动态网页开发中是不可思议的。

(2)程序的独立性

JSP是Java API家族的一部分,它拥有一般的Java程序的跨平台的特性,换句话说,就是拥有程序对平台的独立性,即Write once,Run anywhere.

(3)程序的兼容性

因为JSP中的动态内容可以各种形式进行显示,所以它可以为各种客户提供服务:从使用HTML/DHTML的浏览器,到使用WML的各种手提无线设备(如移动电话和个人数字设备PDA),再到使用XML的B2B应用,都可以使用JSP的动态页面。

(4)程序的可重用性

前面已经提到,在JSP页面中可以不直接将脚本程序嵌入,而只是将动态的交互部分作为一个部件加以引用。这样,一旦这样的一个部件写好,它可以为多个程序重复引用,实现了程序的可重用性。现在,大量的标准Java Bean程序库就是一个很好的例证。

4.2 Java Bean原理与应用

Java Bean是描述Java的软件组件模型,有点类似于Microsoft的COM组件概念。在Java模型中,通过Java Bean可以无限扩充Java程序的功能,通过Java Bean的组合可以快速生成新的应用程序。对于程序员来说,最好的一点就是Java Bean可以实现代码的重复利用,另外对于程序的易维护性等等也有很重大的意义。

Java Bean通过Java虚拟机(Java Virtual Machine)可以得到正确执行,运行Java Bean最小的需求是JDKl.1或者以上的版本。

Java Bean传统的应用在于可视化的领域,如AWT下的应用。自从Jsp诞生后,Java Bean更多地应用在了非可视化领域,在服务器端应用方面表现出来了越来越强的生命力。在这里我们主要讨论的是非可视化的Java Bean,可视化的Java Bean在市面上有很多Java书籍都有详细的阐述,在这里就不作为重点了。

非可视化的Java Bean,顾名思义就是没有GUI界面的Java Bean。在Jsp程序中常用来封装事务逻辑、数据库操作等等,可以很好地实现业务逻辑和前台程序(如jsp文件)的分离,使得系统具有更好的健壮性和灵活性。

举一个简单的例子,比如说一个购物车程序,要实现购物车中添加一件商品这样的功能,就可以写一个购物车操作的Java Bean,建立一个public的Addltem成员方法,前台Jsp文件里面直接调用这个方法来实现。如果后来又考虑添加商品的时候需要判断库存是否有货物,没有货物不得购买,在这个时候我们就可以直接修改Java Bean的Addltem方法,加入处理语句来实现,这样就完全不用修改前台JSP程序了。

当然,也可以把这些处理操作完全写在jsp程序中,不过这样的jsp页面可能就有成百上千行,光看代码就是一个头疼的事情,更不用说修改了。如果您使用过asp开发过程序的话,相信对这就深有体会了。由此可见,通过Java Bean可以很好地实现逻辑的封装、程序的易于维护等等。

原型系统开发工具采用JBuilder 9.0,Web服务器使用Apache Tomcat 5.0,数据库使用MysQL 5.0。界面设计采用Dream Weaver MX 2004和JSP。

4.3 三层架构

系统利用JSP的嵌入式特性控制用户界面作为系统前台,使用Bean封装具体复杂的业务逻辑操作作为中间层,之后便是数据库作为数据存储层,这样形成的界面—中间件—数据库三层结构,在很大程度上提高了系统的安全性和业务流程的清晰度,它的工作原理图如图6-4所示。

图6-4 三层架构的工作原理图

采用三层架构后,用户界面通过统一的接口向业务层发送请求,业务层按照自己的逻辑规则将请求处理之后进行数据库操作,然后将数据库返回的数据封装成类的形式返回给用户界面层。

4.4 功能模块化

本系统中JSP只负责显示界面,也就是说JSP调用Java Bean传过来的数据,然后显示出来。Java Bean负责收集JSP需要的数据,Java Bean通过返回对象的形式返回数据,同类的内部可以规定哪些数据可访问,哪些数据是只读的等,从而通过封装数据达到提高数据安全性的目的。

根据每个实体功能的不同,将实体Bean设计成不同的类并分别放在不同的包下。

(1)数据库连接相关的类放在util包下。

(2)数据类归在一起放在course包下,每一个类分别与数据库中的表相对应。

(3)数据操作类归在一起放在run包下,这也是系统业务逻辑实现的关键

4.5 页面模块化

为了提高代码的重用性,本系统在界面设计上都采用了模块化处理思想,把很多页面共有部分集成一个模块,例如可以将页面的头、尾和导航条分别集成为head.html,tail.html和bar.html模块。因为代码很长,这里给出代码较少的一个例子,每个学生登录后页面会有导航条,考虑到其他页面也有可能用到,将这部分设计成一个模块bar.html。