1.系统简介
本图书管理系统总体上分为前台页面显示和后台管理。前台页面(即本书图书管理系统的首页)实现了公告的显示图书查询,留言建议三大功能。而后台的页面则集成了图书管理中所需的功能和录入新书到库,办公图书,借还手续,查询图书等等。平时图书管理人员的工作都是在后台中完成的。前台是为了师生显示的。师生们可以看到图书管理人员发布的最新公告信息;并可以查询自己感兴趣的图书,也可以给学校的图书管理人员留言提议。相对应的后台是针对学校图书管理人员,后台的页面都加密,如果不正常登录是进入不了后台管理页面的,后台功能具体包括:发布首页公告,添加新书到库等等。
2.系统功能结构
图书查询模块:
读者可以通过网络访问学校图书馆管理系统,并对馆内的图书进行查询,对查到的在馆图书可以进行借阅。
图书查询流程图
图书管理:
图书管理主要实现的功能是对新购的图书进行入库和废录从库中删除。当新书被放入图书馆时,管理员登录进入系统,把图书的信息添加到图书馆管理系统中,并指定是放到哪一个藏书馆中。这时图书可以被读者查询到,并可以借阅。当要把一本废书删除时,图书管理员登录进入系统,查找到这一本书,并将其删除。这时,这一本图书将不再能被查询到。
图书管理流程图
读者管理
本部分是对读者进行管理,并对读者的一些基本的信息进行维护,提供增、删、改等功能。每一个借阅证都要以某一个读者规则相应,读者规则决定读者可以借阅书籍的等级,如借书时间、借书种类等。当读者借阅证丢失时,可以进行挂失处理。持失之后借阅证失效。
读者管理流程图
借还图书功能()
这一部分是对书籍借阅、书籍归还的管理,当读者借书的时候,图书馆管理员把书籍的编号和读者的借阅证号输入系统,当此次借阅符合借阅规则的时候,借阅成功。并将结果写入到数据库中。读者归还书籍时,将图书交给图书管理员,管理员把书籍的编号和读者的借阅证号输入系统,系统核对借阅规则,对违规(如超期)的读者进行罚款之类。
借还书流程图
3.系统开发环境及运行环境
JSP技术
JavaServer Pages 技术是一个纯Java平台的技术,它主要用来产生动态网页内容。在传统的网页HTML文件中加入Java程序片段和JSP标记,就构成了JSP网页。Web服务器接收到访问JSP网页的请求时,首先执行其中的程序片段,然后将执行结果以HTML格式返回给客户。JSP是基于Java Servlet以及整个Java体系的Web开发技术,利用这一技术可以建立先进、安全、快速和跨平台的动态网页。
JSP在多个方面加速了动态的Web页面的开发:
程序写一次,到处可以运行。JSP在设计时,充分考虑到应用平台的无关性。依赖于Java的可移植性,JSP得到目前许多流行操作平台的支持,可在Apache、NetScape、IIS等服务器上执行。
执行速度快。JSP页面只需编译一次转化为Java字节代码,其后一直驻留于服务器内存中,加快了对JSP页面的响应速度。若不考虑JSP页面第一次编译所花的时间,则JSP的响应速度要比ASP快得多。
Java的优势。JSP技术是用Java语言作为脚本语言的。跨平台、成熟、健壮、易扩充的Java技术使得开发人员的工作在其他方面也变得容易和简单。Java语言通过提供防止内存泄漏的方法,在内存管理方面大显身手。加之,JSP为应用程序提供了更为健壮的意外事件处理机制,充分发挥了Java的优势。
JSP标签可扩充性和跨平台的可重用性。JSP技术能够使开发者扩展JSP标签得以应用,JSP开发者能定制标签库,大大减少对脚本语言的依赖。由于定制标签技术,使网页制作者降低了制作网页和向多个网页扩充关键功能的复杂程度。JSP组件(企业Javabeans,JavaBeans或定制的JSP标签)都是跨平台可重用的。Javabeans和企业Javabeans组件可以访问传统的数据库,并能以分布式系统模式工作于UNIX和WINDOWS平台。
SQL Server2005
SQL Server是一个多用户、多线程的SQL数据库,是一个客户机/服务器结构的应用,它由一个服务器守护程序mysqld和很多不同的客户程序和库组成。SQL Server2005的快速和灵活性足以满足一个网站的信息管理工作。 因为许可证的灵活,任何人都可以以任何目的免费使用,修改,和分发 PostgreSQL,不管是私用,商用,还是学术研究使用。命令执行速度快,也许是现今最快的;简单有效的用户系统。SQL Server2005使用完全免费,使得其运用范围更加广泛。
Eclipse
Eclipse是一个非常优秀的集成开发环境,它旨在简化用于多操作系统软件工具的开发过程,可以用于管理多种开发任务,其中包括测试、性能调整以及程序调试等,而且还可以集成来自多个供应商的第三方应用程序开发工具。通过集成大量的插件,Eclipse的功能可以不断扩展,以支持各种不同的应用。
Eclipse平台是一个成熟的、精心设计的、可扩展的体系结构,其组成结构如图所示用 Eclipse开发的插件,可以适应多平台的需要 , 且具有良好的可扩展性和灵活性。
Eclipse 是一个开放源代码的、基于 Java 的可扩展开发平台。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。幸运的是,Eclipse 附带了一个标准的插件集,包括 Java 开发工具(Java Development Tools,JDT)。
Tomcat6.0
Tomcat是Apache 软件基金会(Apache Software Foundation)的Jakarta 项目中的一个核心项目,由Apache、Sun 和其他一些公司及个人共同开发而成。由于有了Sun 的参与和支持,最新的Servlet 和JSP 规范总是能在Tomcat 中得到体现,Tomcat 5 支持最新的Servlet 2.4 和JSP 2.0 规范。因为Tomcat 技术先进、性能稳定,而且免费,因而深受Java 爱好者的喜爱并得到了部分软件开发商的认可,成为目前比较流行的Web 应用服务器。本次使用的是6.0.
Dreamweaver 8
Macromedia Dreamweaver 8是建立Web站点和应用程序的专业工具。它将可视布局工具、应用程序开发功能和代码编辑支持组合在一起,其功能强大,使得各个层次的开发人员和设计人员都能够快速创建界面吸引人的基于标准的网站和应用程序。从对基于CSS的设计的领先支持到手工编码功能,Dreamweaver提供了专业人员在一个集成、高效的环境中所需的工具。开发人员可以使用Dreamweaver及所选择的服务器技术来创建功能强大的Internet应用程序,从而使用户能连接到数据库、Web服务和旧式系统。 ·语言版本:中文 ·版本:8 中文版 系统配置 Win9x/Me/NT/2000/XP/2003/win7/
二、系统实现
1.JSP文件
列出对应的JSP文件
表1(以例说明) XX系统某模块对应JSP文件说明(说明自己的工作量)
| 完成人员 | 序号 | 文件名称 | 位置 | 说明 |
| 汪子莹 | 1 | doOutBook.jsp | \books\ | 实现借书功能 |
| 2 | doBackBook.jsp | \books\ | 实现还书功能 | |
| 3 | doMoney.jsp | \books\ | 计算超期时间及要付的超期费 | |
| 4 | PayMoney.jsp | \books\ | 支付超期费 | |
| 王欣 | 5 | PayError.jsp | \books\ | 还书错误显示 |
| 6 | BookList.jsp | \books\ | 图书列表显示 | |
| 7 | BackBookList.jsp | \books\ | 还书列表显示 | |
| 8 | doExist.jsp | \books\ | 退出界面 | |
| 冯英 | 9 | Login.jsp | \books\ | 登陆界面 |
| 10 | doLogin.jsp | \books\ | 实现登陆功能 | |
| 11 | Register.jsp | \books\ | 注册界面 | |
| 12 | doRegister.jsp | \books\ | 实现注册功能 |
列出数据库中的数据表
表2 数据库列表
| 序号 | 表名 | 位置 | 功能 |
| 1 | Books | books\\WEB-INF\\lib | 存放书籍 |
| 2 | Reader | books\\WEB-INF\\lib | 存放读者 |
| 3 | ReaderInfo | books\\WEB-INF\\lib | 存放读者借还书信息 |
图书借阅功能
<%@ page language="java" import="java.util.*,org.ping.entity.*,org.ping.dao.impl.*" pageEncoding="gbk"%>
<%@page import="org.ping.dao.*;"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<%
request.setCharacterEncoding("gbk");
Reader reader=(Reader)session.getAttribute("reader");
String rid=reader.getRid();
int Bookid = Integer.parseInt(request.getParameter("bookid"));
BooksDao book = new BooksDaoImpl();
ReadInfoDao read = new ReadInfoDaoImpl();
Books books = new Books();
books.setBookid(Bookid);
books.setIsok("是");
int count =book.updateBook(books);
if(count>0){
if(rid!=null){
ReadInfo readinfo = new ReadInfo();
readinfo.setRid(rid);
readinfo.setBookid(Bookid);
int num=read.addRead(readinfo);
if(num>0){
book.selectAll();
out.print("");
}else{
out.print("");
}
}else{
out.print("");
}
}else{
out.print("");
}
%>
图书归还功能
<%@ page language="java" import="java.util.*,org.ping.entity.*,org.ping.dao.impl.*" pageEncoding="gbk"%>
<%@page import="org.ping.dao.*;"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<%
request.setCharacterEncoding("gbk");
String date =request.getParameter("outdate");
String bookid=request.getParameter("bookid");
ReadInfoDao read = new ReadInfoDaoImpl();
int date1=read.getDay(date);
String day=Integer.toString(date1);
if(date1>90){
session.setAttribute("day",day);
response.sendRedirect("PayError.jsp");
}else{
float money=0;
if(date1>30 && date1<=60){
money=30*0.1f+(date1-30)*0.2f;
}else if(date1>60){
money=30*0.1f+(date1-30)*0.5f;
}else if(date1<30){
money=date1*0.1f;
}
String money1=Float.toString(money);
session.setAttribute("money",money1);
session.setAttribute("day",day);
request.setAttribute("bookid",bookid);
request.getRequestDispatcher("PayMoney.jsp").forward(request,response);
}
%>
4. 遇到的难点及解决办法
在本次系统开发过程中,我们小组遇到的最大的问题是数据库和前台代码连不上,一开始一直找不到原因,后来发现,代码中:
private final static String DRIVER="com.microsoft.sqlserver.jdbc.SQLServerDriver";
private final static String URL="jdbc:sqlserver://localhost:1433;databaseName=bookDB";
private final static String USER="";
private final static String PASS="";
这段代码出问题,登陆sql2005时,用户名和代码不为空,要用sql server登陆,不应用windows身份登陆,用户名为sa,密码是123.修改后就好了。
5. 系统实现界面
1.系统的主界面如下图
2.管理员登陆图书管理系统
3.管理员对图书的修改
图书管理员对图书的删除
5.管理员对图书的查询
6.添加书籍信息
三、系统使用说明书
1. 配置环境
硬件环境:服务器端:P4以上,512内存,40 G以上 或移动硬盘。软件环境:Eclipse、Oracle10g数据库、windows xp、Dreamweaver8、Tomcat6.0。
2. 附加数据库
以sql server身份登陆,用户名是sa,密码是123.进入sql server2005.在数据库中建立3个表。Books包括:书籍号(bookid)书籍名称(bookname)作者(author)出版社(PC)
是否借出(isok)
Reader包括:读者的学号(rid)读者的姓名(rname)读者的密码(rpassword)
其中学号是唯一的(主键),用来辨别不同的用户。
,ReaderInfo包括:借阅ID(readid)借阅的人(rid外键)借阅的书籍(bookid外键)
借出日期(outdate)归还日期(backdate)
3. 操作流程和注意事项
1)要配置Tomcat服务器,在安装过程中路径为默认的设置端口号为8080,此端口号必须记住,它是后面运行系统的前提。
2)安装sql server2005数据库,安装过程中路径默认;然后以sql server身份进入数据库,在sql企业管理器中手动创建上述表。
3)把系统文件放置在C:\\Program Files\\Apache Software Foundation\\Tomcat 6.0\\webapps目录下。
4)打开Tomcat服务器,然后打开浏览器,在浏览器中输入http://localhost:8080测试是否连接正确,若出现图标,表明连接成功。
5)在浏览器中输入http://localhost:8080/books/,进入系统主页,在登录页面中用户名输入“123”,密码输入“123”就成功进入系统。
6)如果是第一次登陆,则进入注册界面,进行用户注册。下载本文