基于Ajax技术的图书管理系统框架设计与实现

2014-11-15 20:10杨凤陈福丹钟志强
软件工程 2014年11期
关键词:个性化

杨凤++陈福丹++钟志强

摘 要:为满足用户对图书管理系统主页的个性化需求,利用新兴的Ajax+jQuery技术,设计并实现了一个框架结构。应用该框架,用户可以通过鼠标的自由拖动来设置并保存自己想要的布局;同时也可以完成搜索自动补全,且当鼠标进入标签时会自动提示相关信息,在提高系统使用效率的同时也大大改善用户的实际使用体验。

关键词:个性化;Ajax+jQuery;自动补全

中图分类号:TP311 文献标识码:A

1 引言(Introduction)

随着Web技术的发展和图书数量的不断增加及用户的需求不断的改变,人们越来越重视对信息资源的开发和管理,尤其在数据处理的应用中,这要求开发者开发出功能更完善、更高效的系统。而Ajax技术可以实现无刷新的获取数据并显示,使用户等待时间更少,再结合jQuery框架技术,写更少的代码完成更多的事[1,2]。本系统用Ajax+jQuery技术,使用户可以自行设计个人主页,让用户体验更加友好。设计主要包括如下几个流程:系统流程分析、系统的功能设计、系统的数据库设计等[3]。

2 需求分析(Needs analysis)

该系统主页分为两个部分:用户部分和管理员部分。用户登录后可以自行设计并保存其个人主页和显示。为了方便用户找到自己感兴趣的书籍,读者可以搜索与数名相关的几个字,就可以查询出书的相关信息,同时也可以查看自己借书的相关信息。管理员部分则是对图书信息和读者信息以及相关管理员信息进行相关的管理操作,以确保整个系统的良好运作。

系统测试阶段,用户名由系统给定,输入用户名密码进入系统,如有一项不符合则不能进入个人的界面,只能操作其他界面,如果登录成功后,便能查看自己的信息,续借过期书籍,设计个人主页等。

管理员进入图书管理系统,需要先进入登录界面,只有登录成功后才可以对其页面进行操作。管理员可以还原书籍、修改书的相关信息、处理学生借书和还书、管理学生用户和管理员的相关信息。

3 总体设计(Overall design)

3.1 Ajax+jQuery

系统开发采用三层体系结构,利用Ajax(AsynchronousJavascript+XML)技术,只需要与服务器进行少量数据交换,实现网页异步更新,减少网络通信量和服务器压力。Ajax的核心是JavaScript对象XMLHttpRequest,利用Ajax可使因特网应用程序更小、更快、更友好。

jQuery是Ajax的框架,而jQuery、Ajax都是JavaScript的一个框架,各自有不同的功能,如果把JavaScript作为父类,jQuery和Ajax就是JavaScript的子类。JavaScript的功能非常复杂,jQuery是轻量级的js库,它简化了写JavaScript的代码。使用jQuery,用户更方便的处理文档、事件和实现动画效果等,而且方便网站Ajax与后台的交互[4]。

3.2 系统总体设计

图1 系统总体结构框图

Fig.1 Overall block diagram of the system

图书馆系统的结构如图1所示,系统主要分为三个主要的模块,用户管理和书籍管理及管理员的管理。首先,用户操作图书馆系统,可查看图书馆信息、查询书籍、图书信息、操作个人当前借阅记录、续借图书、设计个人主页,而管理员操作系统(登录成功后),添加书籍、删除书籍、添加新用户、删除修改用户信息、管理用户借书和还书,添加新管理员,修改删除管理员信息。

从图1可看出,管理员拥有其他用户拥有的功能,为了增加系统和数据的安全性,本系统中管理员只有登录成功后才能进入管理员主界面,在每次的页面跳转中都对管理员信息进行验证,在处理完识别方法后,需要构造一种方法来决定运行管理员进行怎样的操作。这样,就能更多的保护信息的安全。

3.3 界面自定义与自动补全实现

用户设计页面,利用Ajax+jQuery技术,页面装载完成实时监控鼠标的点击移动事件,获取用户鼠标点击事件并将获得的鼠标点击位置发送到后台保存改变后的位置,将其保存到数据库中,用户登录则能获取已经保存的主页。

自动补全功能,实时监控用户输入信息,获取用户信息并将数据发送到后台,后台将从数据库中获取相关数据,封装成Json格式数据返回页面,无刷新的将数据提示到界面。用户可利用鼠标或键盘选择自己想要的数据。

3.4 数据表设计

本系统使用的数据库管理系统为MySQL,数据库中的表有用户设计主页定位表、学生信息表、书籍信息表、用户借书表、管理员表。数据库设计其实是把现实世界的实体模型与需求转换成数据库的模型,它是数据库应用系统的核心,而一张张的表就是这些实体模型的体现。这些表保存其用户相关的信息,方便用户和管理员操作,根据用户和管理员的操作,改变更新这些表的信息,达到设计的效果。

3.5 JDBC数据库操作

JDBC(Java Data Base Connectivity,java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。首先利用Java程序通过JDBC访问数据库。连接到数据库,然后利用SQL语句向数据库发送查询或更新等操作,再从数据库接收查询结果,并检索、处理这些查询结果。

本系统使用了两个工具包连接数据库,封装连接数据库工具包,减少编程重复访问代码,提高工作效率,减少代码冗余度。把操作数据库的功能封装起来,使系统有比较高的集成性,减少了很多不必要的繁琐[5]。同时,有助于建立系统之间的松耦合关系,提高系统的独立性。当某个功能的实现发生变化,只要它的接口不变,就不会影响其他的功能,具体操作步骤如下:endprint

(1)首先加载驱动程序,得到数据库的连接,然后返回得到的连接Connection。

private static String url="jdbc:mysql://localhost/library";

private static String username="root";

private static String driver="com.mysql.jdbc.Driver";

private static String password="923610";

(2)查询数据库的方法,对从数据库的数据进行二次封装,直接创建对象就可以使用,访问时方便获取数据。

ArrayList al=new ArrayList();

try{

ct=DBUtil.getConnection();

ps=ct.prepareStatement(sql);

for(int i=0;i

ps.setString(i+1, parameters[i]); }}

(3)更新数据库数据方法,得到数据库连接,更新数据,如果跟新成功返回true。

(4)得到数据库连接,到数据库中删除一条记录,删除成功返回true。

try {ct=DBUtil.getConnection();

ps=ct.prepareStatement(sql);

for(int i=0;i

ps.setString(i+1,parameters[i]); }}

4 结论(Conclusion)

试运行结果表明,用户能自行设置并保存个人主页,提供了其使用体验,运行效果对比如图2所示。

图2 运行效果对比图

Fig.2 Comparison chart of operating results

本系统不仅能帮助图书管理员实现对书籍的流通情况的全面了解,而且还能够对用户信息进行添加、删除、查询和修改,对图书信息进行添加、查询、修改和删除等功能,实现了简单、快捷的查询、借阅等功能。在提高系统工作效率的同时简化了读者的借阅和查找过程,降低了差错率,实现了预期的需求。

参考文献(References)

[1] 李代伟,李蕖.基于Java的通用批处理作业系统的设计与实现

[J].软件工程师,2014,07:9-12.

[2] 柯昌正,黄厚宽.Ajax技术的原理与应用[J].铁路计算机应用,

2007(01):27-29.

[3] 吕林涛,万经华,周红芳.基于AJAX的Web无刷新页面快速更

新数据方法[J].计算机应用研究,2006,11:199-200;223.

[4] 耿祥义,张跃平.JSP实用教程(第二版),JAVA2实用教程(第二

版)[M].北京:清华大学出版社,2007.

[5] 史济民,顾春华,李昌武.软件工程—原理、方法与应用(第二

版)[M].北京:高等教育出版社,2004.

作者简介:

杨 凤(1981-),女,硕士,副教授.研究领域:物联网,软件

形式化方法.

陈福丹(1993-),女,本科.研究领域:软件开发.

钟志强(1992-),男,本科.研究领域:软件开发.

(1)首先加载驱动程序,得到数据库的连接,然后返回得到的连接Connection。

private static String url="jdbc:mysql://localhost/library";

private static String username="root";

private static String driver="com.mysql.jdbc.Driver";

private static String password="923610";

(2)查询数据库的方法,对从数据库的数据进行二次封装,直接创建对象就可以使用,访问时方便获取数据。

ArrayList al=new ArrayList();

try{

ct=DBUtil.getConnection();

ps=ct.prepareStatement(sql);

for(int i=0;i

ps.setString(i+1, parameters[i]); }}

(3)更新数据库数据方法,得到数据库连接,更新数据,如果跟新成功返回true。

(4)得到数据库连接,到数据库中删除一条记录,删除成功返回true。

try {ct=DBUtil.getConnection();

ps=ct.prepareStatement(sql);

for(int i=0;i

ps.setString(i+1,parameters[i]); }}

4 结论(Conclusion)

试运行结果表明,用户能自行设置并保存个人主页,提供了其使用体验,运行效果对比如图2所示。

图2 运行效果对比图

Fig.2 Comparison chart of operating results

本系统不仅能帮助图书管理员实现对书籍的流通情况的全面了解,而且还能够对用户信息进行添加、删除、查询和修改,对图书信息进行添加、查询、修改和删除等功能,实现了简单、快捷的查询、借阅等功能。在提高系统工作效率的同时简化了读者的借阅和查找过程,降低了差错率,实现了预期的需求。

参考文献(References)

[1] 李代伟,李蕖.基于Java的通用批处理作业系统的设计与实现

[J].软件工程师,2014,07:9-12.

[2] 柯昌正,黄厚宽.Ajax技术的原理与应用[J].铁路计算机应用,

2007(01):27-29.

[3] 吕林涛,万经华,周红芳.基于AJAX的Web无刷新页面快速更

新数据方法[J].计算机应用研究,2006,11:199-200;223.

[4] 耿祥义,张跃平.JSP实用教程(第二版),JAVA2实用教程(第二

版)[M].北京:清华大学出版社,2007.

[5] 史济民,顾春华,李昌武.软件工程—原理、方法与应用(第二

版)[M].北京:高等教育出版社,2004.

作者简介:

杨 凤(1981-),女,硕士,副教授.研究领域:物联网,软件

形式化方法.

陈福丹(1993-),女,本科.研究领域:软件开发.

钟志强(1992-),男,本科.研究领域:软件开发.

(1)首先加载驱动程序,得到数据库的连接,然后返回得到的连接Connection。

private static String url="jdbc:mysql://localhost/library";

private static String username="root";

private static String driver="com.mysql.jdbc.Driver";

private static String password="923610";

(2)查询数据库的方法,对从数据库的数据进行二次封装,直接创建对象就可以使用,访问时方便获取数据。

ArrayList al=new ArrayList();

try{

ct=DBUtil.getConnection();

ps=ct.prepareStatement(sql);

for(int i=0;i

ps.setString(i+1, parameters[i]); }}

(3)更新数据库数据方法,得到数据库连接,更新数据,如果跟新成功返回true。

(4)得到数据库连接,到数据库中删除一条记录,删除成功返回true。

try {ct=DBUtil.getConnection();

ps=ct.prepareStatement(sql);

for(int i=0;i

ps.setString(i+1,parameters[i]); }}

4 结论(Conclusion)

试运行结果表明,用户能自行设置并保存个人主页,提供了其使用体验,运行效果对比如图2所示。

图2 运行效果对比图

Fig.2 Comparison chart of operating results

本系统不仅能帮助图书管理员实现对书籍的流通情况的全面了解,而且还能够对用户信息进行添加、删除、查询和修改,对图书信息进行添加、查询、修改和删除等功能,实现了简单、快捷的查询、借阅等功能。在提高系统工作效率的同时简化了读者的借阅和查找过程,降低了差错率,实现了预期的需求。

参考文献(References)

[1] 李代伟,李蕖.基于Java的通用批处理作业系统的设计与实现

[J].软件工程师,2014,07:9-12.

[2] 柯昌正,黄厚宽.Ajax技术的原理与应用[J].铁路计算机应用,

2007(01):27-29.

[3] 吕林涛,万经华,周红芳.基于AJAX的Web无刷新页面快速更

新数据方法[J].计算机应用研究,2006,11:199-200;223.

[4] 耿祥义,张跃平.JSP实用教程(第二版),JAVA2实用教程(第二

版)[M].北京:清华大学出版社,2007.

[5] 史济民,顾春华,李昌武.软件工程—原理、方法与应用(第二

版)[M].北京:高等教育出版社,2004.

作者简介:

杨 凤(1981-),女,硕士,副教授.研究领域:物联网,软件

形式化方法.

陈福丹(1993-),女,本科.研究领域:软件开发.

钟志强(1992-),男,本科.研究领域:软件开发.

猜你喜欢
个性化
坚持个性化的写作
新闻的个性化写作
上汽大通:C2B个性化定制未来
满足群众的个性化需求
《寒风吹彻》的个性化解读
高考议论文的个性化写作