基于JSP/Servlet的加油站管理系统的设计与实现摘要:论述了基于MVC结构的开发平台和采用JSP、Servlet、JavaBean以及JDBC技术和连接池技术来构建该平台的基础组件框架;在此基础上阐述了一个基于Web的加油站管理信息系统的设计方案、系统功能及特点。系统在访问数据库时,通过JDBC技术和数据库连接池技术的结合,发挥了各自的优点,提高了数据库的访问速度,充分发挥了数据库系统的工作性能,取得了很好的使用效果。该系统的使用有效地促进了加油站信息全面而准确的管理。关键词:MVC模式;JSP; Servlet; JavaBean; JDBC;连接池0引言随着计算机技术和网络技术的发展,特别是企业开始逐渐利用B/S结构的应用系统来取代传统的C/S结构的应用系统,促进了分布式Web应用的发展。在基于J2EE标准的分布式Web应用中,按照MVC的设计模式,使用JSP和Servlet技术开发系统,可使系统具有更好的扩展性,更有利于组件的重用[1]。1构建基于Web的加油站管理信息系统JSP(Java Server Pages)是Sun公司推出的基于Ja-va语言的新一代网站开发语言,是简化和加速创建动态Web应用程序过程的一种技术。JSP与ASP和PHP比较,最具鲜明的特点是与平台无关性,即“一次编写,随处运行”;它通过把对内容的显示和产生内容的程序实现部分分开来完成任务。Servlet (JavaServlet)是用Java编写的服务器端的组件,Servlet具有安全高效、低开销、易开发、功能强、跨平台、多线程、可扩展和可移植等优点[2]。JavaBean也是一种基于Jav的软件组件,JavaBean组件可以用来执行复杂的计算任务,或负责与数据库的交互以及数据存取等功能。JavaBean使应用开发人员可以将精力完全集中在商业逻辑,而将事务、持久性和安全性等底层工作留给服务器[3]。JSP对JavaBean组件提供了完善的支持,可以直接利用经测试的已有组件,避免了重复开发,不仅能缩短开发时间,也为JSP应用带来了更多的可伸缩性。单一条件查询,而且还可以多条件组合查询,并能够在查询结果记录集的基础上进行分类汇总统计;方便、快捷、高效的查询,极大地提高了系统的性能。(4)良好的可扩展性:系统具有良好的功能扩展性,系统采用模块化的设计方法,选择了面向对象易于扩展的JSP编程语言环境以及大型客户/服务器数据库(Microsoft SQL Server 2000)的数据平台;系统的核心部分在开发过程中充分考虑了用户将来的功能扩展需求,可以方便地在原有系统中增加新开发的功能组件或者平滑地升级至更高的版本。(5)实用性:在客户端无需安装任何软件,只要能够通过网络与服务器端建立连接,就可以对服务器端的数据进行操作。(6)交互性:无论远程的点到点的连接还是连接在局域网上的网络信息平台,利用Web模式方便地处理图文数据,具有很强的交互性。系统的开发环境系统采用Sun Microsystems公司的JSP(Java Serv-er Pages)搭建Web服务平台,平台运行采用Jakarta-Tomcat,后台数据库采用Microsoft SQL Server 2000,JSP依赖的JDBC通过微软的通用数据接口(ODBC)对数据库进行访问。(1)服务器软件环境。网络操作系统:Windows XP服务器:JSP(Java Server Pages) Jakarta-Tomcat数据库系统:Microsoft SQL Server 2000(2)客户机软件。操作系统:Window 98及以上版本浏览器:Microsoft Information Explore(IE) (3)开发工具。Java开发工具包:JDK(Java Development Kit)系统的网络结构图根据系统功能需求确定系统的网络结构如图3所示,该系统可为本地局域网用户和远程拨号用户提供图3系统的网络结构图服务。远程用户以电话拨号的方式与服务器建立点对点的连接,使用服务器端设置的用户名、密码登陆系统,系统仅为远程用户提供信息查询服务。本地局域网用户亦根据其不同的用户身份设置不同的权限,可对系统进行不同级别的使用,提高了系统的安全性。系统的数据库连接技术JSP与数据库的连接有两种方法: JDBC(Jav-aBean)技术和连接池(Connection Pool)技术。(1)JDBC(JavaBean)技术[4]。利用JDBC开发数据库程序亦有两种方法:一种是通过JDBC—ODBC驱动桥来连接各种支持ODBC驱动程序的数据库;另一种是通过专用的JDBC驱动程序连接数据库。JDBC作为一种数据库访问技术具有使用简单、易于编写和维护、可移植性强等优点,可以高效率地实现数据库的连接。但这种方法亦有一定的局限性,如访问速度较低,JDBC—ODBC驱动桥应用的局限性等。JavaBean组件技术为软件开发者提供了一种极佳的解决方案,利用JavaBean技术封装事务逻辑,可以很好地实现业务逻辑和客户端操作的分离,使系统具有更好的适用性和灵活性。其工作原理是将数据库基本的处理逻辑封装在JavaBean包中,通过JSP调用JavaBean实现数据库的连接。通过引用JavaBean执行对数据库的连接和对数据库记录的各种操作,提高代码的重用程度,大大简化程序设计的复杂度,发挥组件技术的特点,提高程序设计的效率。但JavaBean数据库连接技术在建立与数据库的连接时需要耗费较多的时间,而且数据库所能支持的并发连接数量是有限的,过多的并发连接将导致数据库运行效率的下降。随着客户访问数据库的数量不断增加,数据库服务器的负担也会越来越重,严重时将导致系统瘫痪(2)连接池技术(Connection Pool)。为了解决使用JDBC(JavaBean)数据库连接技术的效率低下、耗费时间的缺陷,可以采用数据库连接池技术(Connection Pool)[5]。数据库连接池技术使用数据库连接时不用每次申请、释放数据库的连接,这样可提高对数据库请求的访问速度,增加数据库的并发请求处理能力,不会因过多的并发请求而导致数据库服务器的瘫痪。数据库连接池技术在应用程序启动时建立足够的数据库连接,并将这些连接组成一个连接池,由应用程序动态地对池中的连接进行申请、使用和释放。此外,应用程序还可以根据池中连接的使用率,动态地增加或减少池中数据库连接数目。通过使用连接池技术可以管理一组Connection连接对象和应用程序,在用户发出连接数据库请求时,直接从连接池获得一个连接对象,并且每个连接对象可以被多个应用程序共享,使用完后将连接对象返还给连接池,避免了因频繁使用数据库造成的数据库效率下降,大大提高了程序的使用效率,同时还可以通过连接池自身的管理机制来监视数据库的数量、使用情况等。上述两种JSP数据库连接技术在处理数据库操作时各有特点,为此在加油站管理信息系统中,根据不同的信息处理采取了不同的连接技术。当对数据库的访问量很大时,可以采用数据库连接池技术,利用其重用内存资源、提高服务器效率、支持多用户访问的特点,提高数据库系统的使用效率;当对数据库的内容需要经常进行操作时,例如插入、修改、删除数据库记录等,可以采用JDBC(JavaBean)数据库连接技术,发挥Jav-aBean的开发效率高、使用简单方便的特点。这样,在不同的应用场合使用不同的数据库连接技术,可以充分发挥JDBC(JavaBean)技术和连接池(ConnectionPool)技术各自的优点,取得更好的使用效果。系统的安全设置基于Web的数据库应用系统的开发,数据库的安全性无疑是最重要的。为此,除了Web应用系统应具有的防火墙等防护能力外,数据库中还设置了多种用户角色,系统管理员、数据库管理员、数据库操作员、一般用户,系统通过不同级别的角色实现分级访问控制。用户登录时,系统通过用户名和密码来确认用户身份及角色,并根据用户身份决定数据库使用权限,并将有权限对数据库内容进行修改和更新的用户登录信息存入日志文件中备查。另外,系统运用Microsoft SQLServer 2000的数据转换服务(Data Transformation Ser-vices)建立了相应的每日数据备份功能,保证了数据库在受损或者遭到攻击时,能够立即恢复,不至于造成整个系统的瘫痪。通过上述几项策略,使软件本身的安全措施颇具特色。3结束语通过构建基于MVC模式的JSP体系结构,结合JDBC(JavaBean)技术和连接池(Connection Pool)技术进行数据库操作,可以充分发挥Java语言所独有的易用性、跨平台性和安全性。本系统已于2004年9月在银府加油城投入使用,运行状况良好,性能稳定,为公司提供了可靠的信息化手段,显著改善了工作效率,增强了公司的管理水平,提高了公司在本行业中的竞争力。参考文献:[1]Deepak A,John 核心模式[M].刘天北译.北京:机械工业出版社,2005.[2]冯相忠.基于J2EE技术的电子商务系统的开发[J].计算机技术与发展,2007,17(8):33-36.[3]王启才.用Servlet/JSP构建基于WEB的管理信息系统[J].北京建筑工程学院学报,2004,20(4):71-74.[4]Avedal K,Ayers D,Briggs 编程指南[M].黎文,等译.北京:电子工业出版社,2001.[5]齐鲲鹏,顾宏,唐达.JSP数据库连接技术在构建信息网站中的研究[J].控制工程,2002,9(5):17-20.