1、(1) 安装JDK提示:安装完JDK之后重在配置环境变量。Set path=;Program Filse Javajdk1.6.0binSet classpath=.;Program Filse Javajdk1.6.0lib(2) 安装tomcattomcat的默认端口是“8080”所以在访问tomcat时需要在访问地址中设置此端口号。(3) 解压缩Eclipse如果没有安装JDK就无法完成Eclipse的安装。1.2.项目开发的准备工作1.2.1集成Eclipse和Tomcat(1)在Eclipse中单击“窗口”“首选项”打开“首选项”窗口。(2)再打开“服务器”“运行时环境”。(3)单击
2、添加按钮添加Tomcat服务器,弹出“新建服务器运行时”窗口。(4)选择“Apache”Apache Tomcat v6.0。(5)选择Tomcat目录,单击“完成”按钮。1.2.2完善web项目开发所需配置(1)为Eclipse指定web浏览器 在Eclipse中单击“窗口”“首选项”,依次打开“常规”“web浏览器”进行配置。第二章:系统设计2.1系统开发思想由于前台的图书馆网站是一个仅供浏览,查询,和资料共享的开放性场所,如果要对图书资料和读者资料进行管理,实现借书,还书的网络化操作,实现对网站信息的及时更新,让读者在借书或还书后,可以通过网站查询自己的借还书信息,一个面向管理员的后台部
3、分是必不可少的。但是,后台的管理与操作不是一个简单的过程,管理员会要在多个项目之间进行交替操作,倘若每进行一步操作就在前台与后台之间进行切换,特别像借书还书这样的日常操作是相当频繁的,不但容易造成许多操作失误,而且也会造成不可想象的安全隐患。因此,为了既能方便的对前台的数据进行更新和控制,同时实现图书馆管理的完善性等诸多功能,又能让所有相关操作集中,便捷,最大程度的方便工作人员对图书馆的管理,我们考虑应该把所有要完成的这些部分的功能独立为一个系统进行管理。在这个系统中,所有的功能都模块化,在分工上相对独立,这样就更便于操作和维护。总之,一个框架式的图书借阅管理系统是整个图书管理系统的最重要的部
4、分,在它里面的各项功能在形式上应相互独立,但在内容上是互相关联的。2.2需求分析图书借阅管理系统需要满足图书馆工作人员和图书馆管理人员的需求。2.2.1图书馆工作人员的需求是:(1) 可以浏览、查询、添加、删除、修改、统计图书的基本信息;(2) 可以浏览、查询、添加、删除、修改、统计读者的基本信息;(3) 可对图书借阅者的借书和还书要求进行操作;(4) 浏览、查询、统计图书馆的借阅信息;(5) 进行办借书卡、销卡等处理;2.2.2图书馆管理人员的需求是:除了可以满足一般工作人员的需求外,还应当具有:(1) 系统维护功能,维护系统的正常运行;(2) 数据备份与恢复:提供图书信息、读者信息、借阅信
5、息的备份与恢复功能。2.3系统功能模块划分图2.1 图书借阅管理系统功能模块框图2.4系统数据库设2.4.1数据库的概念设计实体book的图如下2.1 图2.1实体borrow的图如下2.2 图2.2实体card的图如下2.3 图2.3实体provide_book的图如下2.4 图2.4实体reader的图如下2.5 图2.5实体req_number的图如下2.6 图2.6实体关系图如下图2.7 图2.72.4.2图书管理系统物理模型本系统所有数据均存放于一个数据库(ibrary 库),在此数据库基础上建立了如下表:(1)请购单表结构表名请购单(want_book)属性名别名类型长度说明编号w
6、nochar10主键书号ISBN13书名titlevarchar50作者authors出版社press25用途useness100用书日期use_datedate估价est_pricedecimal要求数量req_numberint申请人applicantcreate table want_book(wno char(10),ISBN char(13),title varchar(50),authors varchar(50), press varchar(25),useness varchar(100),use_date date,est_price decimal,req_number i
7、nt, applicant varchar(10),primary key(wno,ISBN);(2)供书信息表结构供书信息(provide_book)供书单位provider出版日期pub_date价格pricecreate table provide_book(provider varchar(50),ISBN char(13),title varchar(50),authors varchar(50),press varchar(25),pub_date date,price decimal,primary key(provider);(3)预定信息表结构预定信息(order_book)
8、订单编号ono预定日期order_date预定数量order_number金额amount_moneycreate table order_book(ono char(10),provider varchar(50),ISBN char(13), order_date date,order_number int,amount_money decimal,primary key(ono);(4)书目信息表结构书目信息(book)原作者orig_authors购书日期buy_date藏书总量total_num当前库存量stocked_num主题标目subject丛书serial版次edition分
9、类号category种次号sub_class载体形态form标志flagvarchar 10create table book(ISBN char(13),title varchar(50),authors varchar(50),press varchar(25), useness varchar(100),pub_date date,buy_date date,price decimal,total_num int, stocked_num int,subject varchar(50),serial varchar(50),edition int,category varchar(50)
10、, sub_class varchar(50),form varchar(50),flag varchar(10),primary key(ISBN);(5)馆藏信息表结构馆藏信息(stored_book)藏书编号bno索书号SID30馆藏地址stocked_add应归还日期due_date状态status预约标志preserved20create table stored_book(bno char(10),ISBN char(13),SID varchar(30),stocked_add varchar(30), due_date date,status char(10),preserve
11、d varchar(20),primary key(bno);(6)读者表结构读者(reader)身份证号码PID18姓名name性别gender1出生日期birth_date工作单位unit部门department身份rank通讯地址address255电话phoneE-maile_mail附注notenull,毕业,调离,撤销create table reader(PID char(18),name varchar(20),gender char(1),birth_date date,unit varchar(100), department varchar(100),rank varch
12、ar(30),address varchar(255),phone varchar(20), e_mail varchar(100),note varchar(255),flag varchar(10),primary key(PID);(7)借书记录表结构借书记录(borrow)借书卡号cno借书日期borrow_date归还日期return_datecreate table borrow(cno char(10),PID char(18),borrow_date date,return_date date, primary key(cno,PID);(8)借阅卡表结构借书卡(card)卡号
13、外键办卡日期start_date挂销日期end_dateflag null,挂失,注销create table card(cno char(10),PID char(18),start_date date,end_date date,flag varchar(20), primary key(cno),foreign key (PID) references reader(PID);2.5系统界面风格设计图2.2 图书借阅管理系统界面第三章:模块测试3.1采编管理模块测试3.1.1 图书预订测试操作实现代码如下package net.smile.servlet;import java.io.I
14、OException;import java.io.PrintWriter;import java.text.DateFormat;import java.text.SimpleDateFormat;import javax.servlet.ServletException;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import net.smile.bean.OrderBook;i
15、mport net.smile.bean.ProvideBook;import net.smile.bean.WantBook;import net.smile.util.DBUtil;public class OrderBookServlet extends HttpServlet public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException doPost(request, response); public void doPos
16、t(HttpServletRequest request, HttpServletResponse response) response.setCharacterEncoding(gb2312); response.setContentType(text/html,charset=gb2312 PrintWriter out = response.getWriter(); out .println( out.println(HTML TITLEA Servlet/HEADBODY / 取得页面参数的值 String isbn = request.getParameter(isbn String
17、 title = request.getParameter(title String authors = request.getParameter(authors String press = request.getParameter(press String use = request.getParameter(use String usedate = request.getParameter(usedate String estprice = request.getParameter(estprice String reqnum = request.getParameter(reqnum
18、String appl = request.getParameter(appl String ono = request.getParameter(ono String wno = request.getParameter(wno / 如果没有任何页面向本页面传递过参数,那么上述11个参数的值将被置为null / 根据此可以判断出是否第一次进入该页面 if (wno != null) WantBook wantBook = new WantBook(); ProvideBook provideBook = new ProvideBook(); OrderBook orderBook = new
19、 OrderBook(); wantBook.setApplicant(appl); wantBook.setAuthors(authors); wantBook.setEstPrice(Double.parseDouble(estprice); wantBook.setIsbn(isbn); wantBook.setPress(press); wantBook.setReqNumber(Integer.parseInt(reqnum); wantBook.setTitle(title); wantBook.setUse(use); /DateFormat df = new SimpleDat
20、eFormat(yyyy-MM-dd /wantBook.setUseDate(df.parse(usedate); wantBook.setWno(wno); try DBUtil.orderBook(wantBook, provideBook, orderBook); out.print(TABLE border=1 width=200pxtrtd定单编号 + ono + /tr 供货商 + provideBook.getProvider() + 图书编号 + isbn + 预定日期 + orderBook.getOrdDate()预定数目 + reqnum + 金额 catch (Exception e) / TODO Auto-generated catch block out.print(e.getMessage();ERROR / 在页面上输出相应的预订信息 /BODY/HTML out.flush(); out.close();3.1.2编目入库测试操作实现代码如下:import net.smile.bean.Book;import net.smile.bean.StoreBook;public class AddBookServlet extends HttpServlet
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1