图书管理系统设计_第1页
图书管理系统设计_第2页
图书管理系统设计_第3页
图书管理系统设计_第4页
图书管理系统设计_第5页
已阅读5页,还剩19页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、图书管理系统设计组长:杨建华 组员:胡宽齐 赵川 丁励行摘要随着网络技术的发展以及电子商务、企业计算对网络资源需求的不断提高,JSP技术应运而生。现在,它已被证明是一种优秀的服务器端技术,是开发Web应用非常好的基础。本论文针对个人图书管理的需求和个性化因素,设计并实现了基于B/S模式的个人图书管理系统,其中数据库以MySQL进行数据管理和访问,采用JSP技术设计网页和连接数据库。在该系统中,设计并实现了用户登陆、图书管理、期刊管理、CD管理和软件管理模块,这五个模块包括了个人图书管理的主要服务工作。此外,根据用户爱好还设置了一个个性化的图书管理模块。本系统可以提高个人图书管理的效率,将成为众

2、多图书收藏爱好者图书管理的好帮手。关键词:B/S;JSP;MySQL;个人图书管理前台设计前台由:图书类型管理,图书排行,读者档案管理,图书档案管理等页面构成1. 图书类型管理:(由胡宽齐完成)代码如下:<body onLoad="clockon(bgclock)"><%include file="banner.jsp"%><%include file="navigation.jsp"%><table width="778" border="0" cel

3、lspacing="0" cellpadding="0" align="center"> <tr> <td valign="top" bgcolor="#FFFFFF"><table width="99%" height="510" border="0" align="center" cellpadding="0" cellspacing="0&quo

4、t; bgcolor="#FFFFFF" class="tableBorder_gray"> <tr> <td height="510" valign="top" style="padding:5px;"><table width="98%" height="487" border="0" cellpadding="0" cellspacing="0">

5、<tr> <td height="22" valign="top" class="word_orange">当前位置:图书管理 &gt; 图书类型设置 &gt;&gt;&gt;</td> </tr> <tr> <td align="center" valign="top"><%if(coll=null | coll.isEmpty()%> <table width="

6、;100%" height="30" border="0" cellpadding="0" cellspacing="0"> <tr> <td height="36" align="center">暂无图书类型信息!</td> </tr> </table> <table width="100%" border="0" cellspacing="0

7、" cellpadding="0"> <tr> <td> <a href="#" onClick="window.open('bookType_add.jsp','','width=292,height=175')">添加图书类型信息</a> </td> </tr></table> <%else /通过迭代方式显示数据 Iterator it=coll.iterator(); int

8、 ID=0; String typename="" int days=0; %> <table width="91%" border="0" cellspacing="0" cellpadding="0"> <tr> <td width="82%">&nbsp; </td><td width="18%" align="right"> <a href=&quo

9、t;#" onClick="window.open('bookType_add.jsp','','width=292,height=175')">添加图书类型信息</a> </td> </tr></table> <table width="91%" border="1" cellpadding="0" cellspacing="0" bordercolor="#FFFF

10、FF" bordercolordark="#F6B83B" bordercolorlight="#FFFFFF"> <tr align="center" bgcolor="#e3F4F7"> <td width="35%" bgcolor="#F9D16B">图书类型名称</td> <td width="35%" bgcolor="#F9D16B">可借天数</td&

11、gt; <td width="16%" bgcolor="#F9D16B">修改</td> <td width="14%" bgcolor="#F9D16B">删除</td> </tr><% while(it.hasNext() BookTypeForm bookTypeForm=(BookTypeForm)it.next();ID=bookTypeForm.getId().intValue();typename=chStr.toChinese(bo

12、okTypeForm.getTypeName();days=bookTypeForm.getDays();%> <tr> <td style="padding:5px;"><%=typename%></td> <td style="padding:5px;"><%=days%></td> <td align="center"><a href="#" onClick="window.open('

13、;bookType.do?action=bookTypeModifyQuery&ID=<%=ID%>','','width=292,height=175')">修改</a></td> <td align="center"><a href="bookType.do?action=bookTypeDel&ID=<%=ID%>">删除</a></td> </tr><% %>

14、; </table></td> </tr> </table></td> </tr></table><% include file="copyright.jsp"%></td> </tr></table></body></html>2图书档案管理代码如下:<%include file="navigation.jsp"%><table width="778" bord

15、er="0" cellspacing="0" cellpadding="0" align="center"> <tr> <td valign="top" bgcolor="#FFFFFF"><table width="99%" height="510" border="0" align="center" cellpadding="0" cel

16、lspacing="0" bgcolor="#FFFFFF" class="tableBorder_gray"> <tr> <td height="510" valign="top" style="padding:5px;"><table width="98%" border="0" cellpadding="0" cellspacing="0"> <

17、;tr> <td height="22" valign="top" class="word_orange">当前位置:图书管理 &gt; 图书档案管理 &gt;&gt;&gt;</td> </tr> <tr> <td align="center" valign="top"><%if(coll=null | coll.isEmpty()%> <table width="10

18、0%" height="30" border="0" cellpadding="0" cellspacing="0"> <tr> <td height="36" align="center">暂无图书信息!</td> </tr> </table> <table width="100%" border="0" cellspacing="0"

19、; cellpadding="0"> <tr> <td> <a href="book_add.jsp">添加图书信息</a> </td> </tr></table> <%else /通过迭代方式显示数据 Iterator it=coll.iterator(); int ID=0; String bookname="" String barcode="" String typename="" Strin

20、g publishing="" String bookcase="" int storage=0; %> <table width="100%" border="0" cellspacing="0" cellpadding="0"> <tr> <td width="87%">&nbsp; </td><td width="13%"> <a href="

21、;book_add.jsp">添加图书信息</a></td> </tr></table> <table width="98%" border="1" cellpadding="0" cellspacing="0" bordercolor="#FFFFFF" bordercolordark="#F6B83B" bordercolorlight="#FFFFFF"> <tr al

22、ign="center" bgcolor="#e3F4F7"> <td width="13%" bgcolor="#F9D16B">条形码</td> <td width="26%" bgcolor="#F9D16B">图书名称</td> <td width="15%" bgcolor="#F9D16B">图书类型</td> <td width="

23、;14%" bgcolor="#F9D16B">出版社</td> <td width="12%" bgcolor="#F9D16B">书架</td> <td width="9%" bgcolor="#F9D16B">修改</td> <td width="5%" bgcolor="#F9D16B">删除</td> </tr><% while(

24、it.hasNext() BookForm bookForm=(BookForm)it.next();ID=bookForm.getId().intValue();e(bookForm.getBookName();barcode=chStr.nullToString(bookForm.getBarcode(),"&nbsp;");typename=chStr.toChinese(bookForm.getTypeName();publishing=chStr.toChinese(bookForm.getPublishing();bookcase=chStr.nullT

25、oString(chStr.toChinese(bookForm.getBookcaseName(),"&nbsp;");%> <tr> <td style="padding:5px;">&nbsp;<%=barcode%></td> <td style="padding:5px;"><a href="book.do?action=bookDetail&ID=<%=ID%>"><%=booknam

26、e%></a></td> <td style="padding:5px;">&nbsp;<%=typename%></td> <td style="padding:5px;">&nbsp;<%=publishing%></td> <td style="padding:5px;">&nbsp;<%=bookcase%></td> <td align="cente

27、r"><a href="book.do?action=bookModifyQuery&ID=<%=ID%>">修改</a></td> <td align="center"><a href="book.do?action=bookDel&ID=<%=ID%>">删除</a></td> </tr><% %> </table></td> </tr&g

28、t; </table></td> </tr></table><% include file="copyright.jsp"%></td> </tr></table></body></html>3读者档案管理(由赵川完成)代码如下:<% page contentType="text/html; charset=gb2312" language="java" import="java.sql.*"

29、; errorPage="" %><% page import="com.dao.ReaderDAO" %><% page import="com.actionForm.ReaderForm" %><% page import="java.util.*"%><html><%Collection coll=(Collection)request.getAttribute("reader");%><head><tit

30、le>图书馆管理系统</title><link href="CSS/style.css" rel="stylesheet"></head><body onLoad="clockon(bgclock)"><%include file="banner.jsp"%><%include file="navigation.jsp"%><table width="778" border="0&q

31、uot; cellspacing="0" cellpadding="0" align="center"> <tr> <td valign="top" bgcolor="#FFFFFF"><table width="99%" height="510" border="0" align="center" cellpadding="0" cellspacing=&qu

32、ot;0" bgcolor="#FFFFFF" class="tableBorder_gray"> <tr> <td height="510" valign="top" style="padding:5px;"><table width="98%" height="487" border="0" cellpadding="0" cellspacing="0&qu

33、ot;> <tr> <td height="22" valign="top" class="word_orange">当前位置:读者管理 &gt; 读者档案管理 &gt;&gt;&gt;</td> </tr> <tr> <td align="center" valign="top"><%if(coll=null | coll.isEmpty()%> <table wid

34、th="100%" height="30" border="0" cellpadding="0" cellspacing="0"> <tr> <td height="36" align="center">暂无读者信息!</td> </tr> </table> <table width="100%" border="0" cellspacing=&

35、quot;0" cellpadding="0"> <tr> <td> <a href="reader_add.jsp">添加读者信息</a> </td> </tr></table> <%else /通过迭代方式显示数据 Iterator it=coll.iterator(); int ID=0; String name="" String typename="" String barcode="&qu

36、ot; String paperType="" String paperNO="" String tel="" String email="" %> <table width="100%" border="0" cellspacing="0" cellpadding="0"> <tr> <td width="87%">&nbsp; </td><td

37、width="13%"> <a href="reader_add.jsp">添加读者信息</a></td> </tr></table> <table width="95%" border="1" cellpadding="0" cellspacing="0" bordercolor="#FFFFFF" bordercolordark="#F6B83B" border

38、colorlight="#FFFFFF"> <tr align="center" bgcolor="#e3F4F7"> <td width="13%" bgcolor="#F9D16B">条形码</td> <td width="10%" bgcolor="#F9D16B">姓名</td> <td width="8%" bgcolor="#F9D16B&qu

39、ot;>读者类型</td> <td width="12%" bgcolor="#F9D16B">证件类型</td> <td width="20%" bgcolor="#F9D16B">证件号码</td> <td width="12%" bgcolor="#F9D16B"> </td> <td width="15%" bgcolor="#F9D16B&q

40、uot;>Email</td> <td width="5%" bgcolor="#F9D16B">修改</td> <td width="5%" bgcolor="#F9D16B">删除</td> </tr><% while(it.hasNext() ReaderForm readerForm=(ReaderForm)it.next();ID=readerForm.getId().intValue();name=chStr.toChi

41、nese(readerForm.getName();barcode=readerForm.getBarcode();typename=chStr.nullToString(chStr.toChinese(readerForm.getTypename(),"&nbsp;");paperType=chStr.toChinese(readerForm.getPaperType();paperNO=chStr.nullToString(readerForm.getPaperNO(),"&nbsp;");tel=chStr.nullToString

42、(readerForm.getTel(),"&nbsp;");email=chStr.nullToString(readerForm.getEmail(),"&nbsp;");%> <tr> <td style="padding:5px;"><%=barcode%></td> <td style="padding:5px;"><a href="reader.do?action=readerDetail&ID=&

43、lt;%=ID%>"><%=name%></a></td> <td style="padding:5px;"><%=typename%></td> <td align="center"><%=paperType%></td> <td align="center"><%=paperNO%></td> <td align="center">&l

44、t;%=tel%></td> <td align="center"><%=email%></td> <td align="center"><a href="reader.do?action=readerModifyQuery&ID=<%=ID%>">修改</a></td> <td align="center"><a href="reader.do?action=rea

45、derDel&ID=<%=ID%>">删除</a></td> </tr><% %> </table></td> </tr> </table></td> </tr></table><% include file="copyright.jsp"%></td> </tr></table></body></html>图书排行榜(由丁励行完成)代码

46、如下:<% page contentType="text/html; charset=gb2312" language="java"%><% page import="com.dao.BorrowDAO"%><% page import="com.actionForm.BorrowForm"%><% page import="java.util.*"%><%><html><meta -equiv="Conte

47、nt-Type" content="text/html; charset=gb2312"><head><title>图书馆管理系统</title><link href="CSS/style.css" rel="stylesheet"></head><body onLoad="clockon(bgclock)"><%include file="banner.jsp"%><%include fi

48、le="navigation.jsp"%><%BorrowDAO borrowDAO=new BorrowDAO();Collection coll_book=(Collection)borrowDAO.bookBorrowSort();%><table width="778" height="510" border="0" align="center" cellpadding="0" cellspacing="0" bgcolor

49、="#FFFFFF" class="tableBorder_gray"> <tr> <td align="center" valign="top" style="padding:5px;"><table width="100%" border="0" cellpadding="0" cellspacing="0"> <tr> <td height="

50、;20" align="right" valign="middle" class="word_orange">当前位置:首页 &gt;&gt;&gt;&nbsp;</td> </tr> <tr> <td valign="top"><table width="100%" border="0" cellspacing="0" cellpadding="

51、;0"> <tr> <td height="57" background="Images/main_booksort.gif">&nbsp;</td> </tr> <tr> <td height="72" valign="top"><table width="100%" height="63" border="0" cellpadding="0&

52、quot; cellspacing="0"> <tr> <td width="2%" rowspan="2">&nbsp;</td> <td width="96%" align="center" valign="top"><table width="100%" border="1" cellpadding="0" cellspacing="

53、0" bordercolor="#FFFFFF" bordercolordark="#B7B6B6" bordercolorlight="#FFFFFF"> <tr align="center"> <td width="5%" height="25">排名</td><td width="10%">图书条形码</td><td width="24%">图

54、书名称</td><td width="10%">图书类型</td><td width="10%">书架</td><td width="14%">出版社</td><td width="11%">作者</td><td>定价(元)</td> <td>借阅次数</td> </tr><%if(coll_book!=null && !col

55、l_book.isEmpty() Iterator it_book=coll_book.iterator(); int i=1; int degree=0; String bookname="" String typename="" String barcode_book="" String bookcase="" String pub="" String author="" String translator="" Float price=new Flo

56、at(0); while(it_book.hasNext() && i<6) BorrowForm borrowForm=(BorrowForm)it_book.next();bookname=chStr.toChinese(borrowForm.getBookName();barcode_book=borrowForm.getBookBarcode();typename=chStr.toChinese(borrowForm.getBookType();degree=borrowForm.getDegree();bookcase=chStr.toChinese(borro

57、wForm.getBookcaseName();pub=chStr.toChinese(borrowForm.getPubName();author=chStr.toChinese(borrowForm.getAuthor();price=borrowForm.getPrice();%> <tr> <td height="25" align="center"><%=i%></td><td style="padding:5px;">&nbsp;<%=barc

58、ode_book%></td><td style="padding:5px;"><%=bookname%></td><td style="padding:5px;"><%=typename%></td><td align="center">&nbsp;<%=bookcase%></td><td align="center">&nbsp;<%=pub%>

59、</td><td width="11%" align="center"><%=author%></td><td width="8%" align="center"><%=price%></td> <td width="8%" align="center"><%=degree%></td> </tr><%i+;%> </table

60、> </td> <td width="2%" rowspan="2">&nbsp;</td> </tr> <tr> <td height="30" align="right" valign="middle"><a href=borrow.do?action=bookBorrowSort><img src="Images/more.GIF" width="50&qu

61、ot; height="20" border="0">&nbsp;</a></td> </tr> </table></td> </tr> </table> </td> </tr> </table> </td> </tr></table><% include file="copyright.jsp"%></body></html>后面

62、java类设计:本系统主要采用struts1.2+mysql5.0结合完成的,所以在这里只列举数据库链接,管理员的action与actionform;数据库链接:package com.core;import java.io.InputStream;import java.sql.*;import java.util.Properties;public class ConnDB public Connection conn = null; public Statement stmt = null; public ResultSet rs = null; private static Strin

63、g propFileName = "/com/connDB.properties"/指定资源文件保存的位置 private static Properties prop = new Properties(); private static String dbClassName ="com.mysql.jdbc.Driver" private static String dbUrl = "jdbc:mysql:/localhost:3306/db_librarySys?user=root&password=111&useUnico

64、de=true" public ConnDB() try InputStream in=getClass().getResourceAsStream(propFileName); prop.load(in);/通过输入流对象加载Properties文件 dbClassName = prop.getProperty("DB_CLASS_NAME");/获取数据库驱动 dbUrl = prop.getProperty("DB_URL", "jdbc:mysql:/localhost:3306/db_librarySys?user=root

65、&password=111&useUnicode=true"); catch (Exception e) e.printStackTrace();/输出异常信息 public static Connection getConnection() Connection conn = null; try Class.forName(dbClassName).newInstance(); conn = DriverManager.getConnection(dbUrl); catch (Exception ee) rintStackTrace(); if (conn = nu

66、ll) System.err.println( "警告: DbConnectionManager.getConnection() 获得数据库链接失败.rnrn链接类型:" + dbClassName + "rn链接位置:" + dbUrl); return conn; /* * 功能:执行查询语句 */public ResultSet executeQuery(String sql) try conn = getConnection();stmt = conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITI

67、VE,ResultSet.CONCUR_READ_ONLY);rs = stmt.executeQuery(sql); catch (SQLException ex) System.err.println(ex.getMessage();return rs;/* * 功能:执行更新操作 */public int executeUpdate(String sql) int result = 0;try conn = getConnection();/调用getConnection()方法构造Connection对象的一个实例connstmt = conn.createStatement(Resu

68、ltSet.TYPE_SCROLL_INSENSITIVE,LY);result = stmt.executeUpdate(sql);/执行更新操作 catch (SQLException ex) result = 0;return result;/* * 功能:关闭数据库的连接 */public void close() try if (rs != null) rs.close();if (stmt != null) e();if (conn != null) conn.close(); catch (Exception e) e.printStackTrace(System.err);管理

69、员的action:package com.action;import org.apache.struts.action.*;import javax.servlet. . ServletRequest;vlet. . ServletResponse;import com.actionForm.ManagerForm;import com.dao.ManagerDAO;import javax.servlet. . Session;public class Manager extends Action private ManagerDAO managerDAO = null;public Man

70、ager() this.managerDAO = new ManagerDAO();public ActionForward execute(ActionMapping mapping, ActionForm form, ServletRequest request, ServletResponse response) String action = request.getParameter("action");System.out.println("获取的查询字符串:" + action);if (action = null | ""

71、;.equals(action) return mapping.findForward("error"); else if ("login".equals(action) return managerLogin(mapping, form, request, response); else if ("managerAdd".equals(action) return managerAdd(mapping, form, request, response); else if ("managerQuery".equals(action) return manager

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论