版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
圖書信息庫存管理系統.課程設計的目的Java框架程序設計課程設計是計算機科學與技術專業(yè)的《Java框架程序設計》課程的綜合性實踐環(huán)節(jié)。Java框架設計是一門實用性很強的學科,是進行網頁開發(fā)的主要工具,只有進行實際操作,才能將理論知識和實際應用有機的結合起來,鍛煉學生分析解決實際問題的能力,提高學生實際運用的能力,為學生畢業(yè)設計,日后工作中的軟件開發(fā)打下良好的基礎。圖書管理系統加入了數據庫的支持,使用了先進的數據庫技術與數據管理技術,使數據的準確性與安全性得到了很大的提高,且在用戶的并行操作與用戶管理方面也有了極大地改善。就目前使用的開發(fā)技術來說建議系統的功能目標應該能夠達到,利用現有的技術在規(guī)定的期限內開發(fā)工作基本能夠完成。創(chuàng)建圖書管理系統是為了改善圖書館圖書管理,所以系統一經使用在經費支出方面一定會得到很好的改善,用戶在使用了系統后只需要花一定資金購買一部分計算機與軟件就能實現自動化。它在提高工作效率的同時也減少了工作人員的使用量。.功能描述開發(fā)工具MyEclipse簡介MyEclipse企業(yè)級工作平臺(MyEclipseEnterpriseWorkbench,簡稱MyEclipse),是在eclipse基礎上加上自己的插件開發(fā)而成的功能強大的企業(yè)級集成開發(fā)環(huán)境,主要用于Java、JavaEE以及移動應用的開發(fā)。MyEclipse的功能非常強大,支持也十分廣泛,尤其是對各種開源產品的支持相當不錯。MyEclipse是對EclipselDE的擴展,利用它我僅可以在數據庫和JavaEE的開發(fā)、發(fā)布以及應用程序服務器的整合方面極大的提高工作效率。它是功能豐富的JavaEE集成開發(fā)環(huán)境,包括了完備的編碼、調試、測試和發(fā)布功能,完整支持HTML,Struts,JSP,CSS,Javascript,Spring,SQL,Hibernate°Tomcat應用服務器Tomcat是一個免費的開源的Serlvet容器,在Tomcat中,應用程序的部署很簡單,學習資料calhost:8080/Libersystem/index!toAdd\添加書籍書名:I 0作者:出版社:定價:上架時間: 2015-06-28圖書類型: 語言▼上架管理員:添加圖7添加圖書界面當管理員用戶在登錄后,在圖書館瀏覽頁面可以看到添加圖書選項,點擊會自動跳轉到indexItoAdd頁面來添加圖書。代碼如下:publicStringaddBook(){StringbookName=request.getParameter(,'bookNamen);Stringauthor=request.getParameter(Hauthor");Stringpublisher=request.getParameter(Mpublisher");Stringprice=request.getParameter(npriceH);StringinTime=request.getParameter(ninTime");Stringtype=request.getParameter(ntypeu);Stringoperator=request.getParameter(Hoperator");try(bookName=newString(bookName.getBytes("iso-8859-r'),Hutf-8");author=newString(author.getBytes(niso-8859-r,)/,utf-8n);publisher=newString(publisher.getBytes(Hiso-8859-r,)/,utf-8H);}catch(UnsupportedEncodingExceptione){e.printStackTrace();)Bookb=newBook();b.setBookName(bookName);b.setAuthor(author);b.setPublisher(publisher);b.setPrice(Float.parseFloat(price));b.setlnTime(inTime);b.setType(Integer.parseInt(type));b.setOperator(Integer.parseInt(operator));BookDaobd=newBookDao();bd.addBook(b);return"add";}管理員用戶登錄后具有對圖書信息修改的功能,管理員可以看到圖書瀏覽頁面每條圖書記錄后具有對這本圖書進行修改的選項,單擊修改會進到修改這本書的詳情頁,自動獲取這本圖書的信息。ibersystem/index!toupdate?id=18書名:作者:出版社:定價:上架時間:圖書類型:上架管理員:修改書籍書名:作者:出版社:定價:上架時間:圖書類型:上架管理員:JavaWeb程序設計 二范立鋒人民郵電出版社3692015-04-21語言▼1修改
圖8修改現有圖書信息界面部分實現代碼:publicStringupdate(){Stringid=request.getParameter(HidH);StringbookName=request.getParameter("bookNamen);Stringauthor=request.getParameter(Hauthorn);Stringpublisher=request.getParameter(npublisher");Stringprice=request.getParameter(HpriceH);StringinTime=request.getParameter(ninTimeM);Stringtype=request.getParameter(Htypen);Stringoperator=request.getParameter("operator");tiy{bookName=newString(bookName.getBytes(niso-8859-r'),nutf-8");author=newString(author.getBytes(niso-8859-ln)/'utf-8n);publisher=newString(publisher.getBytes(Hiso-8859-r'),Hutf-8H);}catch(UnsupportedEncodingExceptione){e.printStackTrace();)Bookb=newBook();b.setBookName(bookName);b.setAuthor(author);b.setPublisher(publisher);b.setPrice(Float.parseFloat(price));b.setlnTime(inTime);b.setType(Integer.parseInt(type));b.setOperator(Integer.parseInt(operator));b.setld(lnteger.parselnt(id));BookDaobd=newBookDao();bd.editBook(b);return"update11;所有用戶都可以對圖書館現有大量圖書進行搜索,以便找到想要的圖書或者感興趣的書籍,可以根據圖書的名稱關鍵字進行模糊搜索,或者根據圖書類別進行搜索,或者聯合這兩個選項進行搜索。ID書名作者出版社定價上架時間圖書類型上架管理員操作18JavaWeb程序設計范立鋒人民郵電出版社36.02015-04-21計算機1題囑30Java從入門到精通明日科技清華大學出版社45.32015-06-13計算機1修改刪除圖9圖書模糊搜索模塊部分代碼實現:publicList<Object[]>getUsersList(StringbookName,Stringtype){StringBufferhqlsb=newStringBuffer(nfromBooka,BookTypebwherea.type=b.idn);if(bookName!=""&&bookName!=null){try{bookName=newString(bookName.getBytes(''iso-8859-l"),"utf-8");System.out.println(bookName);}catch(UnsupportedEncodingExceptione){e.printStackTrace();}hqlsb.append(nanda.bookNamelike\,%"+bookName+',%\'H);}if(type!=nn&&type!=null)hqlsb.append(Handa.type=H+type);Stringhql=hqlsb.toStringQ;System.out.println(hql);Queryquery=super.getSession(),createQuery(hql);List<Object[]>list=query.list();.心得體會持續(xù)一周的JavaEE課程設計已經結束了,在這次課程設計中我努力完成了任務,共同學習知識。雖然只是短短的時間,可是我把課堂里老師講的知識用到實踐中去了,感到非常高興。這次的課程設計可以看作是一次理論與實踐相結合的橋梁,通過這次的課程設計,我學習到了許多的知識,也認識到了自己目前的不足,那就是缺乏相應的知識與經驗,所以在運用和操作方面都不是那么的得心應手。但是,經過這段時間對相關書籍的閱讀和分析,我順利的完成了設計,我還明白了在編寫程序的時候,應該盡量使界面簡潔大方,布局統一。變量類型的定義,一定要夠用就好,這樣程序就可以盡可能的減少對系統資源的占用。在設計時也免不了存在著一些不足,所以在今后的學習中我會努力取得更大的進步,對于我們不足的地方希望老師能夠及時給予批評,以便我在今后的學習或工作中能夠及時的改正。總之,這次課程設計為我提供了與眾不同的學習方法,在書本中面對現實,為我將來在社會上立足提供了良好的前提。人生有數,學無止境,學習生活是無窮盡的,只有掌握更多的、更新的知識才能使自己始終立于不敗之地。如果只為現在所取得的成績而沉浸于喜悅、驕傲之中的話,那么,我想我們不會前進,只能停留在原來的地方,甚至還會倒退。所以我們應該從這次課程設計中所暴露出的問題入手,不斷完善自己的欠缺和不足。相信此次課程設計為我們以后繼續(xù)從事計算機工作打下了扎實的基礎,也明確了以后的學習方向。.參考文獻[1]穆丹.集成JavaEE框架構建MIS系統的研究與實現[D].長安大學,2013.[2]張紹林.基于JavaEE5體系的聯網售票系統設計與實現[D].天津大學,2014.[3]王向兵.JavaEE多層架構Struts2+Spring3+Hibernate3+Ajax的整合[D].大連海事大學,2014.[4]張俐,張維璽.基于JavaEE的固定資產管理系統的設計與實現[J].計算機工程與設if,2014,16:3797-3800.[5]吳鋒.基于SSI框架JavaEE技術研究[D].合肥工業(yè)大學,2013.[6]劉慧.基于JavaEE的在線交易系統關鍵技術研究[D].大連海事大學,2014.[7]王瑞矯.基于JavaEE的實訓平臺的設計與實現[D].北京郵電大學,2015.[8]解智.基于JavaEE輕量級架構的安全電子拍賣系統設計[D].武漢工業(yè)學院,2014.[9]王茜.基于JavaEE的人事考核管理系統的設計與實現[D].廈門大學,2014.[10]賈進.基于JavaEE的統一信息平臺設計與實現[D].廈門大學,2014.附錄(部分源代碼)<?xmlversion=,1.0'encoding=,utf-8'?><!DOCTYPEhibernate-configurationPUBLICn-//Hibernate/HibernateConfigurationDTD3.0//EN""http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd"><hibernate-configuration><session-factory><!-Databaseconnectionsettings—><propertyname="connection.driver_class">com.microsoft.sqlserver.jdbc.SQLServerDriver</property><propertyname="connection.url">jdbc:sqlserver://localhost:1433;DatabaseName=test</property><propertyname=nconnection.usernamen>sa</property><propertyname="connection.password">123456</property><!—SQLdialect—><propertyname="dialect">org.hibernate.dialect.SQLServerDialect</property><!—EchoallexecutedSQLtostdout—><propertyname="show_sqln>true</property><mappingresource=',><mappingresource=hbookType/BookType.hbm.xmr7>></session-factory></hibernate-configuration><?xmlversion=u1.0,,encoding=',UTF-8u?><!DOCTYPEstrutsPUBLIC"-//ApacheSoftwareFoundation//DTDStrutsConfiguration2.3//EN"""><struts><constantname="struts.enable.DynamicMethodInvocation"value=',true'7><constantname=,'struts.devMode"value="false'7><packagename="defaultnnamespace="/"extends="struts-defaultn><actionname="indexHclass="web.controller.HelloAction"><resultname="toAdd">/add.jsp</result><resultname="add',>/addsuccess.jsp</result><resultname=,,loginntype="redirect">index!getList</result><resultname=nerrloginH>/errlogin.jsp</result><resultname="getList">/list.jsp</result><resultname=,,toupdateH>/update.jsp</result><resultname="update"type="redirectH>index!getList</result><resultname=,'delete',type=',redirect">index!getList</result><resultname="aH"type="redirect">index!getList</result></action></package><!-Addpackageshere—></struts>packageweb.controller;importjava.io.UnsupportedEncodingException;import.URLDecoder;importjava.text.SimpleDateFormat;importjava.util.Date;importjava.util.List;importjavax.servlet.http.HttpServletRequest;importjavax.servlet.http.HttpSession;importorg.apache.struts2.ServletActionContext;importorg.hibernate.Query;importorg.hibernate.Session;importorg.hibernate.SessionFactory;importorg.hibernate.cfg.Configuration;importuser.User;importweb.dao.BookDao;importweb.dao.BookTypeDao;importbook.Book;importbookType.BookType;importcom.opensymphony.xwork2.ActionSupport;importdomain.HomeNews;publicclassHelioActionextendsActionSupport{HttpServletRequestrequest=ServletActionContext.getRequest();HttpSessionsession=request.getSession();publicStringtoAdd(){Stringtemp_str=HH;Datedt=newDate();SimpleDateFormatsdf=newSimpleDateFormat(,'yyyy-MM-dd");學習資料學習資料收集于網絡,僅供參考temp_str=sdf.fbrmat(dt);你只需將你的WAR放到Tomcat的webapp目錄下,Tomcat會自動檢測到這個文件,并將其解壓。你在瀏覽器中訪問這個應用的Jsp時,通常第一次會很慢,因為Tomcat要將Jsp轉化為Servlet文件,然后編譯。編譯以后,訪問將會很快。2.2總體設計需求分析(1)用戶借書,管理員將用戶信息,圖書信息輸入系統,系統則根據這些信息生成借閱單,存入借閱表。(2)用戶還書,管理員將圖書信息輸入系統。未超期,系統根據圖書信息將相應借閱單標記為己還和完結,已超期,將相應借閱單標記為己還,管理員要求罰款。用戶交錢后借閱單標記為完結,系統將超期信息記錄到超期表。(3)用戶要續(xù)借某書,管理員將書號和用戶名輸入系統,若相應借閱單允許續(xù)借,標記為已續(xù)借,否則,不予續(xù)借。(4)用戶將書遺失,管理員將遺失信息輸入系統,存儲至卡款記錄庫,系統執(zhí)行遺失操作,并要求用戶賠償。(5)管理員對圖書進行錄入,刪除,修改,查詢操作,系統根據信息對圖書表進行改變。(6)管理員對用戶進行添加,刪除,修改,查詢操作,系統根據信息對用戶表進行改變。(7)系統提供借出記錄查詢,未還記錄查詢,超期記錄查詢,罰款記錄查詢,遺失記錄查詢。request.setAttribute(HdateH,temp_str);BookTypeDaobtd=newBookTypeDao();List<BookType>BTlist=btd.getType();request.setAttribute("BTlist",BTlist);fbr(BookTypeu:BTlist){System.out.println(u.getName());}request.setAttribute("BTlist",BTlist);return”toAdd”;}publicStringlogin(){Stringusername=request.getParameter("username");Stringpassword=request.getParameter("password");BookDaobd=newBookDao();Useruser=newUser();List<User>userlist=bd.login(username,password);if(userlist.size()>=1){user=userlist.get(O);session.setAttribute("userinfo",user);return'login";}elsereturn"errlogin";)publicStringaddBook(){StringbookName=request.getParameter("bookName");Stringauthor=request.getParameter("author");Stringpublisher=request.getParameter("publisher");Stringprice=request.getParameter(npriceH);StringinTime=request.getParameter("inTime");Stringtype=request.getParameter("type");Stringoperator=request.getParameter("operator");try{bookName=newString(bookName.getBytes("iso-8859-l"),"utf-8");author=newString(author.getBytes(niso-8859-r,),"utf-8n);publisher=newString(publisher.getBytes(niso-8859-r'),"utf-8");}catch(UnsupportedEncodingExceptione){e.printStackTrace();Bookb=newBook();b.setBookName(bookName);b.setAuthor(author);b.setPublisher(publisher);b.setPrice(Float.parseFloat(price));b.setlnTime(inTime);b.setType(Integer.parseInt(type));b.setOperator(Integer.parseInt(operator));BookDaobd=newBookDao();bd.addBook(b);return"addn;publicStringgetList(){Stringtype=request.getParameter("bookTypen);StringbookName=request.getParameter("bookName");BookDaobd=newBookDao();BookTypeDaobtd=newBookTypeDao();List<BookType>BTlist=btd.getType();request.setAttribute("BTlist",BTlist);//Useruser=(User)session.getAttribute("users");List<Object[]>list=bd.getUsersList(bookName,type);HttpServletRequestrequest=ServletActionContext.getRequest();//session.setAttribute("users",user);request.setAttribute("listn,list);return"getList";}publicStringtoupdate(){Stringid=request.getParameter("id");BookDaobd=newBookDao();Bookb=newBook();b=bd.getById(Integer.parseInt(id));request.setAttribute("Book",b);BookTypeDaobtd=newBookTypeDao();List<BookType>BTlist=btd.getType();request.setAttribute("BTlist",BTlist);return"toupdate";publicStringupdate(){Stringid=request.getParameter("id");StringbookName=request.getParameter("bookName");Stringauthor=request.getParameter("author");Stringpublisher=request.getParameter("publisher");Stringprice=request.getParameter("price");StringinTime=request.getParameter("inTime");Stringtype=request.getParameter(ntype");Stringoperator=request.getParameter("operator");try(bookName=newString(bookName.getBytes("iso-8859-r'),nutf-8");author=newString(author.getBytes(niso-8859-r,),Hutf-8");publisher=newString(publisher.getBytes("iso-8859-l"),"utf-8");}catch(UnsupportedEncodingExceptione){e.printStackTrace();}Bookb=newBook();b.setBookName(bookName);b.setAuthor(author);b.setPublisher(publisher);b.setPrice(Float.parseFloat(price));b.setlnTime(inTime);b.setType(Integer.parseInt(type));b.setOperator(Integer.parseInt(operator));b.setld(lnteger.parselnt(id));BookDaobd=newBookDao();bd.editBook(b);return"update";}publicStringtodelete(){Stringid=request.getParameter("idn);BookDaobd=newBookDao();Bookb=newBook();b.setld(lnteger.parselnt(id));bd.deleteBook(b);return"delete";}//publicStringtoall(){IIIIIIStringpassword=request.getParameter("password");II// //Useruser=newUser();IIII //user.setPassword(password);IIII II UserDaouserDao=newUserDao();II I/ userDao.toall(user);II returnnaH";//}功能框圖圖書管理系統用戶管理圖書管理借閱管理查詢統計罰款統計用戶借閱統計用戶統計圖書統計遺失記錄查詢罰款記錄查詢超期記錄查詢未還記錄查詢借出記錄查詢圖書遺失圖書續(xù)借還書登記借書登記圖書查詢圖書修改圖書刪除圖書入庫用戶查詢用戶修改用戶添加用戶注銷用戶掛失罰款統計用戶借閱統計用戶統計圖書統計遺失記錄查詢罰款記錄查詢超期記錄查詢未還記錄查詢借出記錄查詢圖書遺失圖書續(xù)借還書登記借書登記圖書查詢圖書修改圖書刪除圖書入庫用戶查詢用戶修改用戶添加用戶注銷用戶掛失圖1總體功能框圖E-R圖圖2E-R圖現業(yè)務流程介紹與分析對于一個圖書管理系統來說,圖書的查詢及數據的維護管理是其中的核心環(huán)節(jié)。在現現行的圖書管理中存在幾個共同的問題:(1)圖書種類過多,數據龐大;這是幾乎所有圖書館都會遇到的共同問題,各種不同種類的圖書館為這些圖書入庫,進行添加于維護增加了很多的難題,對這些數據的反復輸入,往往造成龐大的工作量和較低的效率。(2)查詢圖書困難,每天的借閱情況,讀者借閱的到期、還書情況,各項數據的匯總和統計情況必須由管理員統計上報,圖書庫總管理員才能考慮對圖書館的硬件如某類書的需求數量進行改變已向上級申報。(3)圖書毀壞及圖書破損;在借閱過程中難免此類現象的發(fā)生,如何及時發(fā)現及事后對毀壞圖書進行淘汰和更新也是個需要解決的問題。(4)不能及時歸還圖書;經常有讀者超過借閱期的情況發(fā)生,對此類讀者的超期信息提示也是圖書借閱管理工作中必須解決的問題之一。軟件主要分為用戶管理,圖書管理,借閱管理,統計與查詢五大模塊。用戶管理包括用戶的添加刪除,修改,查詢以及借書證的掛失與解掛。圖書管理包括對圖書的入庫,出庫,信息修改和查詢。借閱管理則主要包括借書,還書,續(xù)借,丟失圖書處理及違章后賠償處理?,F業(yè)務流程圖如圖3所示pricefloat8價格inTimedate10上架時間typeint4圖書類型operatorint4管理員ID(2)booktype_t表用來保存圖書類型相關信息如表2所示。表2:booktype_t字段名稱數據類型長度備注idint10類型IDnamevarchar15類型名程序界面設計網站用戶登錄頁面用于提供用戶進行登錄,登錄后分兩種用戶權限,普通用戶和管理員用戶,普通用戶可以瀏覽圖書館現有藏書,管理員用戶可以對圖書館的圖書和圖書類別進行增刪改查操作,于已經登錄的用戶,在藏書頁面將顯示用戶的相關信息。首頁主要是根據保存用戶名信息的Session參數來判斷用戶是否已經登錄。如圖4所示。lersystem/login.jsp用戶登錄部分代碼如下:publicStringlogin(Stringusername=Stringpassword=BookDaobd=nUseruser=ne\臚名:| *罟碼: *登錄圖4用戶登錄圖)(:request.getParameter("username");request.getParameter(npasswordH);ewBookDao();vUser();List<User>userlist=bd.login(username,password);if(userlist.size()>=1)(user=userlist.get(O);session.setAttribute(,'userinfo,,Juser);return“l(fā)ogin”;)elsereturnnerrloginH;)普通用戶可以在本頁對網上圖書館現有藏書進行按書名或者分類搜索瀏覽,管理員具有管理權限,可以對圖書進行添加、修改、刪除、還可以對圖書類別進行管理。如圖5所示。ID書名作者出版社定價上架時間圖書類型上架管理員18JavaWeb程序設計范立鋒人民郵電出版社36.02015-04-21計算機119從晚清到民國唐德剛中國文史出版社39.92015-04-28歷史220HTML5+CSS3李東博清華大學出版社52.92015-05-01計算機221活出生命的意義弗蘭克爾華夏出版社27.62015-05-02文化122數據庫系統概論王珊高等教育出版社36.02015-05-12計算機123三毛:撒哈拉的故事三毛北京十月文藝出版社16.52015-06-28文化12421世紀資本論皮凱蒂中信出版社65.22015-06-28經濟225地理學與生活ArthurGetis世界圖書出版公司62.12015-05-24地理126工程力學范欽珊清華大學出版社27.22015-06-01工程127習近平談治國理政習近平外文出版社60.02015-06-02軍事228社會契約論盧梭商務印書館13.02015-06-04政治2圖5普通用戶登錄ID書名作者出版社定價上架時間圖書類型上架管理員118Java
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 班級責任明確與分工計劃
- 班級新媒體利用教學活動計劃
- 農畜產品批發(fā)服務行業(yè)相關投資計劃提議
- 《講生命和生命科學》課件
- 加氫系列產品行業(yè)相關投資計劃提議
- 花卉植物運輸合同三篇
- 快遞物流行業(yè)保安工作總結計劃
- 民風民俗和我們的生活
- 【培訓課件】財務報賬員培訓 法律法規(guī)
- 《項目管理培訓課程》課件
- 課內文言文閱讀(原卷版)-2024-2025學年九年級語文上學期期中試題分類匯編(山東專用)
- 院感課件下載
- 2022幼兒園教師讀書參考心得體會5篇
- 2024年《內科護理學》考試復習題庫(含答案)
- 江蘇省常熟市2024-2025學年七年級上學期12月月考歷史卷(含答案)
- 浙江大學醫(yī)學院附屬兒童醫(yī)院招聘人員真題
- 2024年江蘇省蘇州市中考數學試卷含答案
- 軟件測試匯報
- 租賃部績效考核制度
- 吉林省長春市第一〇八學校2024-2025學年七年級上學期期中歷史試題
- 2024年世界職業(yè)院校技能大賽高職組“市政管線(道)數字化施工組”賽項考試題庫
評論
0/150
提交評論