圖書管理系統設計_第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

提交評論