文檔簡介
1、<p><b> 河北農(nóng)業(yè)大學(xué)</b></p><p> 本科畢業(yè)論文(設(shè)計(jì))</p><p> 題 目: 基于Jsp的圖書管理系統(tǒng)—后臺管理</p><p> 學(xué) 院: 信息科學(xué)與技術(shù)學(xué)院 </p><p> 專業(yè)班級: 計(jì)算機(jī)科學(xué)與技術(shù)專接本1101班
2、</p><p> 學(xué) 號: 2011232010127 </p><p> 學(xué)生姓名: 王 寬 </p><p> 指導(dǎo)教師: 馬 建 斌 </p><p> 職 稱: 副
3、 教 授 </p><p> 2013年 6 月 1 日</p><p><b> 摘要</b></p><p> 隨著互聯(lián)網(wǎng)的不斷發(fā)展,掌握計(jì)算機(jī)知識并能夠熟練的應(yīng)用,是培養(yǎng)新型人才的一個重要環(huán)節(jié)。Java是最具生命力的計(jì)算機(jī)語言之一。作為一種程序設(shè)計(jì)語言,Java是分布式的、面向?qū)ο蟮?、不依賴于機(jī)器的結(jié)構(gòu),它
4、最大的成功之處在于它的平臺無關(guān)性和具有強(qiáng)大的網(wǎng)絡(luò)編程功能。</p><p> 圖書館管理系統(tǒng)正適應(yīng)了當(dāng)今社會快節(jié)奏地生活,基于JSP開發(fā)設(shè)計(jì),面對管理人員和學(xué)生兩種不同人群的應(yīng)用系統(tǒng)。本文從圖書館管理系統(tǒng)的現(xiàn)狀、可行性到數(shù)據(jù)庫的設(shè)計(jì),再到各功能模塊的實(shí)現(xiàn)做了詳細(xì)的介紹。</p><p> 本系統(tǒng)是以MyEclipse為開發(fā)工具,MySQL為數(shù)據(jù)庫開發(fā)平臺,Tomcat作為應(yīng)用服務(wù)器,采
5、用JSP技術(shù)開發(fā)的圖書館管理系統(tǒng)。本系統(tǒng)主要有學(xué)生和管理員兩個角色。其中學(xué)生主要實(shí)現(xiàn)了登錄、查詢圖書、查看借閱記錄、退出系統(tǒng)這些功能。管理員主要實(shí)現(xiàn)了登錄、學(xué)生管理、圖書管理、借書管理、還書管理、退出系統(tǒng)這些功能。</p><p> 關(guān)鍵詞:圖書館管理,Java,JSP</p><p><b> ABSTRACT</b></p><p>
6、 As the Internet continues to evolve, computer literacy and the ability to skilled application is to cultivate new talent is an important part. Java is one of the most viable computer language. As a programming language,
7、 Java is a distributed, object-oriented, does not depend on the structure of the machine, its greatest success is that it is platform independent and has a strong network programming.</p><p> Library manage
8、ment system is adapted to live in today's fast-paced society, based on JSP development, design, management staff and students face two different populations applications. In this paper, the status of library manageme
9、nt system, the feasibility of the design of the database, to the realization of various functional modules made ??a detailed introduction.</p><p> The system is based MyEclipse development tools, MySQL for
10、the database development platform, Tomcat as the application server using JSP technology development library management system. The system has two roles of students and administrators. The main achievement among students
11、 log in, check books, check circulation records, exit the system these functions. The main achievement of the administrator login, student management, library management, library management, book management, and exit the
12、 </p><p> Keywords: library management, Java, JSP</p><p><b> 目錄</b></p><p><b> 1.緒論5</b></p><p> 1.1 圖書館管理系統(tǒng)的現(xiàn)狀5</p><p> 1.
13、2 圖書管理系統(tǒng)設(shè)計(jì)的目的和意義5</p><p> 2.開發(fā)工具及相關(guān)技術(shù)介紹6</p><p> 2.1 Java介紹6</p><p> 2.2 JSP介紹6</p><p> 2.3 Tomcat服務(wù)器介紹6</p><p> 2.4 MyEclipse開發(fā)工具的介紹7</p>
14、<p> 2.5 MySQL介紹7</p><p><b> 3.系統(tǒng)分析7</b></p><p> 3.1經(jīng)濟(jì)可行性分析7</p><p> 3.2 技術(shù)可行性分析7</p><p> 3.3 系統(tǒng)總體功能需求8</p><p> 3.4學(xué)生功能分析8&l
15、t;/p><p> 3.5 管理員功能分析9</p><p> 4.系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)10</p><p> 4.1 數(shù)據(jù)庫的設(shè)計(jì)10</p><p> 4.2 主要頁面設(shè)計(jì)12</p><p> 4.3 主要代碼12</p><p> 4.4系統(tǒng)的實(shí)現(xiàn)17</p>
16、<p><b> 5.總結(jié)…20</b></p><p><b> 參考文獻(xiàn).21</b></p><p> 致謝............……………………………………………………………..21</p><p><b> 1.緒論</b></p><p>
17、 圖書館要對大量的書籍、讀者信息以及兩者間相互聯(lián)系產(chǎn)生的借書信息、還書信息進(jìn)行詳細(xì)系統(tǒng)的管理。原始的人工記錄方法既效率低又容易出現(xiàn)錯誤,大大影響了圖書館的正常管理工作。因此,圖書管理系統(tǒng)需要對書籍資源、讀者資源、借書信息、還書信息等進(jìn)行有效的管理,及時了解各個環(huán)節(jié)中信息的變更,有利于提高管理的效率。</p><p> 1.1圖書館管理系統(tǒng)的現(xiàn)狀</p><p> 目前,圖書館的藏書種
18、類多,檢索速度慢、效率低。由于圖書的數(shù)量多,將圖書準(zhǔn)確的分類,要想實(shí)現(xiàn)快速的檢索,手工進(jìn)行是非常困難,往往是終于查到了二維的信息,圖書館中卻沒有此書或已被別人借走。圖書館的規(guī)模越大,這個問題就會越突出。</p><p> 由于讀者多,借書、還書的操作也就多。然而,隨之而來的大量的借書、還書登記、實(shí)存圖書的更新以及借出圖書超期,遺失等處理,往往是人工操作所難以勝任的,而且人工操作經(jīng)常會出現(xiàn)差錯。</p>
19、;<p> 圖書館的圖書應(yīng)根據(jù)科學(xué)技術(shù)的發(fā)展和教學(xué)工作的需要及時添加和更新,然而由于藏書數(shù)量及圖書種類越來越多,加上自然損耗,人為破壞,使圖書的統(tǒng)計(jì)工作難以及時完成,藏書的更新也就很難有針對性的進(jìn)行,藏書的知識結(jié)構(gòu)得不到良好地控制。</p><p> 為了解決這些圖書的管理問題,以及學(xué)生借閱圖書的信息問題,改變傳統(tǒng)的管理方式,采用簡單的電腦操作方式,開發(fā)圖書管理系統(tǒng)也就成了迫在眉睫的問題了。&l
20、t;/p><p> 1.2 圖書管理系統(tǒng)設(shè)計(jì)的目的和意義</p><p> 隨著科學(xué)技術(shù)的發(fā)展,計(jì)算機(jī)的應(yīng)用越來越廣泛。圖書館在正常運(yùn)行的過程中總是會產(chǎn)生各種需要處理的信息,管理人員要對產(chǎn)生的數(shù)據(jù)進(jìn)行及時的處理。為了提高圖書館對圖書的自動化的管理,能夠更快速地滿足讀者的要求,提高工作效率,設(shè)計(jì)和開發(fā)圖書管理系統(tǒng)是非常必要的。</p><p> 圖書館管理系統(tǒng)的主要
21、功能是實(shí)現(xiàn)對圖書的借閱和歸還的管理,學(xué)生及圖書信息的更新,圍繞這些主要功能,本系統(tǒng)主要有學(xué)生和管理員兩個角色。</p><p> 其中學(xué)生主要有登錄、查詢圖書、查看借閱記錄、退出系統(tǒng)等功能。學(xué)生登錄系統(tǒng)后,可以根據(jù)書名來查詢圖書并且能夠查看自己的借閱記錄。</p><p> 管理員主要有登錄、圖書管理、學(xué)生管理、借書管理、還書管理、退出系統(tǒng)。管理員登錄系統(tǒng)后,會進(jìn)入到管理員的首頁面,其
22、中圖書管理主要實(shí)現(xiàn)了對圖書的增加、刪除、更新和按照書名進(jìn)行查詢。學(xué)生管理主要實(shí)現(xiàn)了對學(xué)生的增加、刪除、更新和按照學(xué)號進(jìn)行查詢。借書管理是通過輸入學(xué)號和書號來實(shí)現(xiàn)借書功能。還書管理是通過輸入學(xué)號和書號來實(shí)現(xiàn)借書功能。</p><p> 2.開發(fā)工具及相關(guān)技術(shù)介紹</p><p> 2.1 Java介紹</p><p> 計(jì)算機(jī)語言有嚴(yán)格的使用規(guī)范。如果沒有按規(guī)格
23、寫程序,計(jì)算機(jī)就不能理解它。Java的開發(fā)者Sun Microsystems希望能夠控制這一重要的新計(jì)算機(jī)語言—這么做有一個非常好的理由:防止它出現(xiàn)不統(tǒng)一的標(biāo)準(zhǔn)。Java語言規(guī)范和JavaAPI定義Java的標(biāo)準(zhǔn)。</p><p> Java語言規(guī)范是一種語言的技術(shù)定義,包括Java程序語言的語法和語義。完整的Java語言規(guī)范可以在java.sun.com/docs/books/jls上找到。</p>
24、;<p> 應(yīng)用程序接口(API)包括用于開發(fā)Java程序準(zhǔn)備的類和接口。Java語言的規(guī)范是穩(wěn)定的,而API一直在擴(kuò)展。在Sun公司的Java網(wǎng)站上(Java.Sun.com),可以查看和下載最新版的Java API。</p><p><b> 2.2 JSP介紹</b></p><p> Java Server Page簡稱JSP,是Serv
25、let的擴(kuò)展,目的是簡化建立和管理動態(tài)網(wǎng)站的工作。在傳統(tǒng)的網(wǎng)頁HTML文件中加入Java程序片段(Scriptlet)和JSP標(biāo)簽。初次調(diào)用JSP時,由服務(wù)器將JSP文件翻譯成Servlet源文件,再編譯。當(dāng)修改JSP文件時,再調(diào)用時重新編譯。JSP技術(shù)的應(yīng)用一次編寫,就可以在任何具有符合Java語法結(jié)構(gòu)的環(huán)境上運(yùn)行。 </p><p> JSP技術(shù)具有很多自身的優(yōu)點(diǎn)。一是具有簡便性和有效性。J
26、SP動態(tài)網(wǎng)頁的編寫與一般的靜態(tài)HTML的網(wǎng)頁的編寫是十分相似的。只是在原來的HTML網(wǎng)頁中加入一些JSP專有的標(biāo)簽,或是一些腳本程序。二是程序的獨(dú)立性。JSP是Java API 家族的一部分,它擁有一般的Java程序的跨平臺的特性,換句話說,就是擁有程序?qū)ζ脚_的獨(dú)立性。三是程序的兼容性。應(yīng)為JSP中的動態(tài)內(nèi)容能以各種形式進(jìn)行顯示,所以它可以為各種客戶提供服務(wù)。從使用HTML/DHTML的瀏覽器,到使用WML的各種手提無線設(shè)備,再到使用
27、XML的B2B應(yīng)用,都可以使用JSP的動態(tài)頁面。四是程序的可重用性。在JSP頁面中可以不直接將腳本程序嵌入,而只是動態(tài)的交互部分作為一個部件加以引用。這樣,一旦部件寫好,它可以為多個程序重復(fù)引用,實(shí)現(xiàn)了程序的可重用行。</p><p> 2.3 Tomcat服務(wù)器介紹</p><p> Tomcat服務(wù)器是Apache Group Jakarta小組開發(fā)的一個免費(fèi)服務(wù)器軟件,適合于嵌入
28、Apache中使用,而且,它的源代碼可以免費(fèi)獲得,你可以自由地對它進(jìn)行擴(kuò)充。Tomcat服務(wù)器的兼容性很好,如WebLogic服務(wù)器采用其為Web服務(wù)器引擎,Jbuilder將其作為標(biāo)準(zhǔn)的測試服務(wù)器,Sun公司也將其作為JSP技術(shù)應(yīng)用的示例服務(wù)器。Tomcat服務(wù)器的性能穩(wěn)定,而且免費(fèi),因而深受Java愛好者的喜愛并得到了部分軟件開發(fā)商的認(rèn)可,成為目前比較流行的Web應(yīng)用服務(wù)器。</p><p> Tomcat
29、是一個小型的輕量級應(yīng)用服務(wù)器,是開發(fā)和調(diào)試JSP程序的首選。當(dāng)在一臺機(jī)器上配置好Apache服務(wù)器,可利用它響應(yīng)對HTML頁面的訪問請求。實(shí)際上Tomcatt部分是Apache服務(wù)器的擴(kuò)展,但它是獨(dú)立運(yùn)行的,所以當(dāng)你運(yùn)行Tomcat時,它實(shí)際上作為一個與Apache獨(dú)立的進(jìn)程單獨(dú)運(yùn)行的。</p><p> 2.4 MyEclipse開發(fā)工具的介紹</p><p> MyEclipse是
30、一個非常優(yōu)秀的集成開發(fā)環(huán)境,它旨在簡化用于多操作系統(tǒng)軟件工具的開發(fā)過程,可以用于管理多種開發(fā)任務(wù),其中包括測試、性能調(diào)整以及程序調(diào)試等,而且還可以集成來自多個供應(yīng)商的第三方應(yīng)用程序開發(fā)工具。通過集成大量的插件,MyEclipse的功能可以不斷擴(kuò)展,以支持各種不同的應(yīng)用。</p><p> MyEclipse平臺是一個成熟的、精心設(shè)計(jì)的、可擴(kuò)展的體系結(jié)構(gòu),用MyEclipse開發(fā)的插件,可以適應(yīng)多平臺的需要 ,
31、且具有良好的可擴(kuò)展性和靈活性。</p><p> 2.5 MySQL介紹</p><p> MySQL是一種開放源代碼的關(guān)系型數(shù)據(jù)庫管理系統(tǒng),MySQL數(shù)據(jù)庫系統(tǒng)使用最常用的數(shù)據(jù)庫管理寓言—結(jié)構(gòu)化查詢語句(SQL)進(jìn)行數(shù)據(jù)庫的管理。</p><p> 由于MySQL是開放源代碼的,因此任何人都可以在General Public License的許可之下下載源代
32、碼,兵可以根據(jù)個人需要進(jìn)行修改。MySQL因?yàn)槠渌俣取⒖煽啃院瓦m用性而備受關(guān)注。SQLyog是MySQL的圖形化管理工具。他是一個易于使用的、快速而簡潔的圖形化管理MySQL數(shù)據(jù)庫的工具,它可以在任何地點(diǎn)有效地管理你的數(shù)據(jù)庫,而且它本身是完全免費(fèi)的。</p><p><b> 3.系統(tǒng)分析</b></p><p> 3.1經(jīng)濟(jì)可行性分析</p>&l
33、t;p> 作為圖書館這樣的商業(yè)性質(zhì)較小的場所,其經(jīng)濟(jì)成分比重相對較少,主要是支出的費(fèi)用:其中包括設(shè)備購置費(fèi)、軟件開發(fā)費(fèi)用、管理和維護(hù)費(fèi)、人員工資和培訓(xùn)費(fèi)等。由于各個圖書館實(shí)行統(tǒng)一操作,系統(tǒng)共享,其設(shè)備購置,人員工資,維護(hù)費(fèi)用相對較少,前期的資金投入主要集中于購置圖書上。建立信息中心,可將來自各方面的信息集中管理,提高圖書管理的計(jì)劃性和預(yù)見性,快速地反饋市場信息。</p><p> 3.2 技術(shù)可行性分析
34、</p><p> 技術(shù)上的可行性分析主要分析現(xiàn)有技術(shù)條件能否順利完成開發(fā)工作,硬件、軟件配置能否滿足開發(fā)者的需要,各類技術(shù)人員的數(shù)量,水平,來源等。圖書館管理系統(tǒng)的工作主要是在讀者和圖書館之間架起一座橋梁,能相互溝通信息和處理信息。這一特點(diǎn)非常適合計(jì)算機(jī)特點(diǎn),通過網(wǎng)絡(luò)internet技術(shù),發(fā)揮計(jì)算機(jī)的信息傳輸速度快、準(zhǔn)確度高的優(yōu)勢。計(jì)算機(jī)硬件和軟件技術(shù)的飛速發(fā)展,為系統(tǒng)的建設(shè)提供了技術(shù)條件。</p>
35、;<p> 3.3 系統(tǒng)總體功能需求</p><p> 圖書管理系統(tǒng)主要是為了方便管理人員對圖書和讀者信息的管理。使用圖書管理系統(tǒng),一方面,管理員的工作量會減少,工作效率就會提高。另一方面,學(xué)生查詢圖書會更加方便,還可以隨時查看自己的借閱記錄。該圖書管理系統(tǒng)主要有兩個角色,學(xué)生和管理員。</p><p> 學(xué)生的功能主要有,登錄系統(tǒng),查詢圖書,查看自己的借閱記錄和退出系
36、統(tǒng)。</p><p> 管理員的功能主要有,登錄系統(tǒng),圖書管理,學(xué)生管理,借書管理,還書管和退出系統(tǒng)。</p><p> 圖3.1系統(tǒng)功能模塊圖</p><p><b> 3.4學(xué)生功能分析</b></p><p><b> 1.學(xué)生登錄</b></p><p>
37、學(xué)生登錄系統(tǒng),需要輸入其學(xué)號和密碼(學(xué)號為10001,密碼為123456),然后點(diǎn)擊登錄按鈕,建立與數(shù)據(jù)庫的連接。如果學(xué)號或密碼錯誤,則出現(xiàn)提示學(xué)號或密碼錯誤。</p><p><b> 2.查詢圖書</b></p><p> 學(xué)生成功登錄系統(tǒng)后,點(diǎn)擊查詢圖書,就進(jìn)入了圖書查詢頁面,需要輸入要查詢的圖書的書名,然后點(diǎn)擊確定按鈕,建立與數(shù)據(jù)庫的連接。如果數(shù)據(jù)庫中有該
38、圖書,就會顯示該圖書的相關(guān)信息,如果數(shù)據(jù)庫中沒有該圖書,就會顯示數(shù)據(jù)庫沒有此書。</p><p><b> 3.查看借閱記錄</b></p><p> 學(xué)生成功登錄系統(tǒng)后,點(diǎn)擊查看借閱記錄,就會進(jìn)入查看借閱記錄頁面。若果該學(xué)有借閱記錄,就會顯示該學(xué)生的借書記錄情況,包括書號,學(xué)號,借書時間和還書時間。這樣學(xué)生們就可以隨時查看自己的借書情況并能及時的歸還圖書。<
39、;/p><p><b> 4.退出系統(tǒng)</b></p><p> 學(xué)生成功登錄系統(tǒng)后,完成了各項(xiàng)操作,這時點(diǎn)擊退出系統(tǒng),就會自動的退出該系統(tǒng),并會自動跳轉(zhuǎn)到登錄界面。</p><p> 3.5 管理員功能分析</p><p><b> 1.管理員登錄</b></p><p&g
40、t; 管理員登錄系統(tǒng),需要輸入其姓名和密碼(姓名為admin,密碼為admin),然后點(diǎn)擊登錄按鈕,建立與數(shù)據(jù)庫的連接。如果姓名或密碼錯誤,則出現(xiàn)提示姓名或密碼錯誤。</p><p><b> 2.圖書管理</b></p><p> 管理員成功登錄系統(tǒng)后,點(diǎn)擊圖書管理按鈕,就會進(jìn)入圖書管理頁面。該頁面主要包括查詢圖書,增加圖書,更新圖書,刪除圖書。其中查詢圖書需
41、要輸入圖書的名字,然后點(diǎn)擊確定按鈕,如果數(shù)據(jù)庫中有該圖書,就會顯示該圖書的相關(guān)信息,如果數(shù)據(jù)庫中沒有該圖書,就會顯示數(shù)據(jù)庫沒有此書。增加圖書,需要輸入新書的書號,書名,作者,出版社,是否被借閱(默認(rèn)值為否),然后點(diǎn)擊確定按鈕,新書就會添加到了數(shù)據(jù)庫中。更新圖書,如果圖書的信息有誤,需要修改,這是點(diǎn)擊更新圖書,就會進(jìn)入更新圖書頁面,把需要修改的信息填好后,點(diǎn)擊提交按鈕,該書的信息就會被修改,提示修改成功。刪除圖書,如果某些圖書被丟或者需要
42、換新的版本,這時直接點(diǎn)擊刪除按鈕,該圖書就會從數(shù)據(jù)庫中移除,提示刪除成功,如果該書被借,刪除時就會提示該書被借,不能刪除。</p><p><b> 3.學(xué)生管理</b></p><p> 管理員成功登錄系統(tǒng)后,點(diǎn)擊學(xué)生管理按鈕,就會進(jìn)入學(xué)生管理頁面。該頁面主要包括查詢學(xué)生,增加學(xué)生,更新學(xué)生,刪除學(xué)生。其中查詢學(xué)生需要輸入要查詢學(xué)生的學(xué)號,然后點(diǎn)擊確定按鈕,如果
43、數(shù)據(jù)庫中有該學(xué)生,就會顯示該學(xué)生的相關(guān)信息,如果數(shù)據(jù)庫中沒有該學(xué)生,就會顯示數(shù)據(jù)庫沒有此學(xué)生。增加學(xué)生,需要輸入學(xué)生的學(xué)號,姓名,密碼,年齡,性別,班級,學(xué)院,借閱權(quán)限(默認(rèn)值為是),然后點(diǎn)擊確定按鈕,該學(xué)生就會添加到了數(shù)據(jù)庫中。更新學(xué)生,如果學(xué)生的信息有誤,需要修改,這是點(diǎn)擊更新學(xué)生,就會進(jìn)入更新學(xué)生頁面,把需要修改的信息填好后,點(diǎn)擊提交按鈕,該學(xué)生的信息就會被修改,提示修改成功。刪除學(xué)生,如果該學(xué)生以畢業(yè),這時直接點(diǎn)擊刪除按鈕,該學(xué)
44、生就會從數(shù)據(jù)庫中移除,提示刪除成功,如果該學(xué)生有借閱記錄,就會提示該學(xué)生有借書記錄,不能刪除。</p><p><b> 4.借書管理</b></p><p> 管理員成功登錄系統(tǒng)后,點(diǎn)擊借書管理按鈕,就會進(jìn)入借書管理頁面。這是管理員進(jìn)行借書操作的頁面,需要輸入書號和學(xué)號,如果學(xué)生要借書,管理員要輸如該學(xué)生的學(xué)號和被借圖書的書號,然后點(diǎn)擊確定按鈕,如果學(xué)號和書號輸
45、入正確,就會顯示借書成功,如果學(xué)號或書號輸入有誤,就會提示您輸入的學(xué)號或書號錯誤。</p><p><b> 5.還書管理</b></p><p> 管理員成功登錄系統(tǒng)后,點(diǎn)擊還書管理按鈕,就會進(jìn)入還書管理頁面。這是管理員進(jìn)行還書操作的頁面,需要輸入書號和學(xué)號,如果學(xué)生要還書,管理員要輸如該學(xué)生的學(xué)號和要還圖書的書號,然后點(diǎn)擊確定按鈕,如果學(xué)號和書號輸入正確,就會
46、顯示還書成功,如果學(xué)號或書號輸入有誤,就會提示您輸入的學(xué)號或書號錯誤。</p><p><b> 6.退出系統(tǒng)</b></p><p> 管理員成功登錄系統(tǒng)后,完成了各項(xiàng)操作,這時點(diǎn)擊退出系統(tǒng),就會自動的退出該系統(tǒng),并會自動跳轉(zhuǎn)到登錄界面。</p><p><b> 4.系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)</b></p>
47、<p> 4.1 數(shù)據(jù)庫的設(shè)計(jì)</p><p> 應(yīng)用SQLyog建立一個新的數(shù)據(jù)庫library,在library數(shù)據(jù)庫中建立manager,student,book,borrow_book四個表。其中manager是管理員表,主要包括管理員號,管理員姓名、密碼、角色(用來區(qū)分管理員身份)。Student是學(xué)生表,主要包括學(xué)號,姓名,密碼,年齡,性別,班級,學(xué)院,借閱權(quán)限(默認(rèn)值為是)。book是
48、圖書表,主要包括書號,書名,作者,出版社,是否被借閱(默認(rèn)值為否)。borrow_book是借閱記錄表,主要包括借書號,學(xué)號(Student表中的學(xué)號),書號(book表中的書號),借書時間,應(yīng)還書時間。</p><p><b> 建表語句如下:</b></p><p> create database if not exists `library`;</p
49、><p> USE `library`;</p><p> /*Table structure for table `book` */</p><p> DROP TABLE IF EXISTS `book`;</p><p> CREATE TABLE `book` (</p><p> `bookNo` va
50、rchar(50) NOT NULL,</p><p> `bookName` varchar(50) default NULL,</p><p> `author` varchar(50) default NULL,</p><p> `publishment` varchar(50) default NULL,</p><p>
51、`borrowed` varchar(50) default '否',</p><p> PRIMARY KEY (`bookNo`)</p><p> ) ENGINE=InnoDB DEFAULT CHARSET=utf8;</p><p> /*Table structure for table `borrow_book` */<
52、/p><p> DROP TABLE IF EXISTS `borrow_book`;</p><p> CREATE TABLE `borrow_book` (</p><p> `borrowId` int(13) NOT NULL auto_increment,</p><p> `bookNo` varchar(50) NOT N
53、ULL,</p><p> `stuNo` varchar(50) NOT NULL,</p><p> `borrowTime` varchar(50) default NULL,</p><p> `returnTime` varchar(50) default NULL,</p><p> PRIMARY KEY (`borr
54、owId`)</p><p> ) ENGINE=InnoDB DEFAULT CHARSET=utf8;</p><p> /*Table structure for table `manager` */</p><p> DROP TABLE IF EXISTS `manager`;</p><p> CREATE TABLE `
55、manager` (</p><p> `mgNo` int(13) NOT NULL,</p><p> `mgName` varchar(50) NOT NULL,</p><p> `mgPassword` varchar(20) NOT NULL,</p><p> `role` int(11) default '9&
56、#39;,</p><p> PRIMARY KEY (`mgNo`)</p><p> ) ENGINE=InnoDB DEFAULT CHARSET=utf8;</p><p> /*Table structure for table `student` */</p><p> DROP TABLE IF EXISTS `stu
57、dent`;</p><p> CREATE TABLE `student` (</p><p> `stuNo` varchar(50) NOT NULL,</p><p> `stuName` varchar(50) NOT NULL default '',</p><p> `stuPassword` varch
58、ar(50) NOT NULL default '',</p><p> `stuAge` int(3) default NULL,</p><p> `stuSex` varchar(50) default NULL,</p><p> `stuClass` varchar(50) default NULL,</p><p
59、> `stuDepartment` varchar(50) default NULL,</p><p> `stuPermitted` varchar(50) default '是',</p><p> PRIMARY KEY (`stuNo`)</p><p> ) ENGINE=InnoDB DEFAULT CHARSET=utf
60、8;</p><p> 4.2 主要頁面設(shè)計(jì)</p><p> 該圖書管理系統(tǒng)的主要頁面有:</p><p> 1.登錄頁面(學(xué)生登錄和管理員登錄)</p><p><b> 2.學(xué)生操作頁面</b></p><p> 3.學(xué)生查詢圖書操作頁面</p><p>
61、 4.學(xué)生查看借閱記錄操作頁面</p><p> 5.學(xué)生退出系統(tǒng)頁面</p><p><b> 6.管理員操作頁面</b></p><p> 7.管理員圖書管理操作頁面</p><p> 8. 管理員用戶管理操作頁面</p><p> 9. 管理員借書管理操作頁面</p>
62、<p> 10. 管理員還書管理操作頁面</p><p> 11. 管理員退出系統(tǒng)頁面</p><p><b> 4.3 主要代碼</b></p><p> 1.管理員登錄的代碼</p><p> package cn.hebau.library.dao.impl;</p><p
63、> public class ManagerDaoMysqlImpl implements ManagerDao {</p><p> Connection conn = new DbConnection().getConnetion();</p><p> PreparedStatement pstmt = null;</p><p> public
64、 int loginCheck(Manager manager) {</p><p> int result = 0;</p><p> String sql = "select * from manager where mgName=? and mgPassword=?";</p><p><b> try {</b&
65、gt;</p><p> pstmt = conn.prepareStatement(sql);</p><p> pstmt.setString(1, manager.getMgName());</p><p> pstmt.setString(2, manager.getMgPassword());</p><p> Result
66、Set rs = pstmt.executeQuery();</p><p> if(rs.next()){</p><p> result = rs.getInt("role");</p><p><b> }</b></p><p> } catch (SQLException e) {
67、</p><p> e.printStackTrace();</p><p><b> }</b></p><p> return result;</p><p><b> }</b></p><p><b> }</b></p>
68、<p> 2.查詢借書記錄,借書,還書。</p><p> package cn.hebau.library.dao.impl;</p><p> public class BorrowDaoMysqlImpl implements BorrowDao {</p><p> Connection conn = new DbConnection()
69、.getConnetion();</p><p> PreparedStatement pstmt = null;</p><p> public List <Borrow> SelectAll(String StuNo) {</p><p> String sql = "select * from borrow_book where s
70、tuNo=?";</p><p> List <Borrow> borrowed = new ArrayList <Borrow> ();</p><p><b> try {</b></p><p> pstmt = conn.prepareStatement(sql);</p><
71、p> pstmt.setString(1, StuNo);</p><p> ResultSet rs = pstmt.executeQuery();</p><p> while(rs.next()){</p><p> Borrow bw = new Borrow();</p><p> bw.setBorrowId(rs
72、.getInt("borrowId"));</p><p> bw.setBookNo(rs.getString("bookNo"));</p><p> bw.setStuNo(rs.getString("stuNo"));</p><p> bw.setBorrowTime(rs.getStrin
73、g("borrowTime"));</p><p> bw.setReturnTime(rs.getString("returnTime"));</p><p> borrowed.add(bw);</p><p><b> }</b></p><p> } catch (
74、SQLException e) {</p><p> e.printStackTrace();</p><p><b> }finally{</b></p><p> if(pstmt!=null)</p><p><b> try {</b></p><p> p
75、stmt.close();</p><p> } catch (SQLException e) {</p><p> e.printStackTrace();</p><p><b> }</b></p><p><b> }</b></p><p> return
76、 borrowed;</p><p><b> }</b></p><p> public boolean check(String bookNo) {</p><p> String sql = "select * from borrow_book where bookNo=?";</p><p
77、> boolean flag = true;</p><p><b> try {</b></p><p> pstmt = conn.prepareStatement(sql);</p><p> pstmt.setString(1, bookNo);</p><p> ResultSet rs = p
78、stmt.executeQuery();</p><p> if(rs.next()){</p><p> flag = false;</p><p><b> }</b></p><p> } catch (SQLException e) {</p><p> e.printStack
79、Trace();</p><p><b> }</b></p><p> return flag;</p><p><b> }</b></p><p> public void insert(Borrow borrow) {</p><p> String sq
80、l = "insert into borrow_book (bookNo,stuNo,borrowTime,returnTime) values(?,?,?,?)";</p><p><b> try {</b></p><p> pstmt = conn.prepareStatement(sql);</p><p>
81、 pstmt.setString(1, borrow.getBookNo());</p><p> pstmt.setString(2, borrow.getStuNo());</p><p> pstmt.setString(3, borrow.getBorrowTime());</p><p> pstmt.setString(4, borrow.getR
82、eturnTime());</p><p> pstmt.execute();</p><p> } catch (SQLException e) {</p><p> e.printStackTrace();</p><p><b> }finally{</b></p><p>
83、if(pstmt!=null)</p><p><b> try {</b></p><p> pstmt.close();</p><p> } catch (SQLException e) {</p><p> e.printStackTrace();</p><p><b>
84、; }</b></p><p> if(conn!=null)</p><p><b> try {</b></p><p> conn.close();</p><p> } catch (SQLException e) {</p><p> e.printStackTr
85、ace();</p><p><b> }</b></p><p><b> }</b></p><p><b> }</b></p><p> public List<Borrow> SelectAll() {</p><p>
86、String sql = "select * from borrow_book ";</p><p> List <Borrow> borrowed = new ArrayList <Borrow> ();</p><p><b> try {</b></p><p> pstmt = conn
87、.prepareStatement(sql);</p><p> ResultSet rs = pstmt.executeQuery();</p><p> while(rs.next()){</p><p> Borrow bw = new Borrow();</p><p> bw.setBorrowId(rs.getInt(&q
88、uot;borrowId"));</p><p> bw.setBookNo(rs.getString("bookNo"));</p><p> bw.setStuNo(rs.getString("stuNo"));</p><p> bw.setBorrowTime(rs.getString("bo
89、rrowTime"));</p><p> bw.setReturnTime(rs.getString("returnTime"));</p><p> borrowed.add(bw);</p><p><b> }</b></p><p> } catch (SQLExcepti
90、on e) {</p><p> e.printStackTrace();</p><p><b> }finally{</b></p><p> if(pstmt!=null)</p><p><b> try {</b></p><p> pstmt.close
91、();</p><p> } catch (SQLException e) {</p><p> e.printStackTrace();</p><p><b> }</b></p><p><b> }</b></p><p> return borrowed;
92、</p><p><b> }</b></p><p> public boolean delete(String bookNo, String stuNo) {</p><p> String sql = "delete from borrow_book where stuNo=? and bookNo=?";<
93、;/p><p> boolean flag = false;</p><p><b> try {</b></p><p> pstmt = conn.prepareStatement(sql);</p><p> pstmt.setString(1, stuNo);</p><p> ps
94、tmt.setString(2, bookNo);</p><p> int row = pstmt.executeUpdate();</p><p> if(row==1)</p><p> flag=true;</p><p> } catch (SQLException e) {</p><p> e.
95、printStackTrace();</p><p><b> }finally{</b></p><p> if(pstmt!=null)</p><p><b> try {</b></p><p> pstmt.close();</p><p> } catc
96、h (SQLException e) {</p><p> e.printStackTrace();</p><p><b> }</b></p><p><b> } </b></p><p> return flag;</p><p><b> }&l
97、t;/b></p><p><b> }</b></p><p><b> 4.4系統(tǒng)的實(shí)現(xiàn)</b></p><p> 1.學(xué)生輸入學(xué)號和密碼后,點(diǎn)擊登錄按鈕,就進(jìn)入登錄頁面。登錄如下圖所示:</p><p> 2. 學(xué)生登錄成功后,就進(jìn)入學(xué)生操作頁面。該頁面如下圖所示:</p&
98、gt;<p> 3. 學(xué)生點(diǎn)擊查詢圖書后,就進(jìn)入查詢圖書頁面。該頁面如下圖所示:</p><p> 4. 學(xué)生點(diǎn)擊查看借閱記錄后,就進(jìn)入查看借閱記錄頁面。該頁面如下圖所示:</p><p> 5.管理員輸入姓名和密碼后,點(diǎn)擊登錄按鈕,就進(jìn)入管理員登錄頁面。登錄如下圖所示:</p><p> 6. 管理員登錄成功后,就進(jìn)入管理員操作頁面。該頁面如
99、下圖所示:</p><p> 7. 管理員點(diǎn)擊用戶管理后,就進(jìn)入用戶管理頁面。該頁面如下圖所示:</p><p> 8. 管理員點(diǎn)擊圖書管理后,就進(jìn)入圖書管理頁面。該頁面如下圖所示:</p><p> 9. 管理員點(diǎn)擊借書管理后,就進(jìn)入借書管理頁面。該頁面如下圖所示:</p><p> 10. 管理員點(diǎn)擊還書管理后,就進(jìn)入還書管理頁面
100、。該頁面如下圖所示:</p><p> 11. 管理員點(diǎn)擊借書記錄后,就進(jìn)入借書記錄頁面。該頁面如下圖所示:</p><p><b> 5.總 結(jié)</b></p><p> 本圖書管理系統(tǒng)主要綜合應(yīng)用了Java、Jsp、數(shù)據(jù)庫等知識設(shè)計(jì)而成。本圖書管理系統(tǒng),雖然能夠?qū)崿F(xiàn)對學(xué)生信息和圖書信息的管理這些基本的功能,但在系統(tǒng)其它功能和一些細(xì)節(jié)方
101、面還存在著不足。通過這次對圖書管理系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn),我意識到了我們所學(xué)知識的重要性,自身還存在不足,在以后的學(xué)習(xí)和工作中,要繼續(xù)加強(qiáng)對專業(yè)知識的學(xué)習(xí)。</p><p><b> 參 考 文 獻(xiàn)</b></p><p> [1] 耿祥義,張躍平.JSP實(shí)用教程[M].北京:清華大學(xué)出版社,2003.5 </p><p> [2] 王珊,薩師煊
102、.?dāng)?shù)據(jù)庫系統(tǒng)概論(第四版)[M].北京:高等教育出版社,2006.5</p><p> [3] 林琪,朱濤江.JSP設(shè)計(jì) [M].北京:中國電力出版社,2004.12</p><p> [4] 孫衛(wèi)琴. 基于MVC的JAVA WEB.設(shè)計(jì)與開發(fā)[M].北京:電子工業(yè)出版社,2005.6</p><p> [5] 唐有明, 吳華等. JSP動態(tài)網(wǎng)站開發(fā)
103、 清華大學(xué)出版社,2006.8</p><p> [6] 孔長征,姜嶺. Dreamweaver短期培訓(xùn)教程.北京電子希望出版社,2002.4</p><p> [7] ] 林康司,林上杰. JSP2.0技術(shù)手冊[M]. 電子工業(yè)出版社,2004</p><p> [8] 趙強(qiáng). J2EE應(yīng)用開發(fā)[M]. 電子工業(yè)出版社,2006</p><
104、;p> [9] 明日科技. JSP開發(fā)技術(shù)大全[M].人民郵電出版社,2007</p><p> [10] Y.Daniel Liang(著),萬波等(譯)。Java語言程序設(shè)計(jì) 基礎(chǔ)篇。第6版。北京:機(jī)械工業(yè)出版社,2008</p><p> [11] 鄭義(主編),史東承,段雪瑩(副主編)。SQL 2000 數(shù)據(jù)庫基礎(chǔ)與應(yīng)用。長沙:國防科技大學(xué)出版社,2008</p&
105、gt;<p> [12] 煩兆東,李冬,何海霞(著)。網(wǎng)頁設(shè)計(jì)基礎(chǔ)教程與上機(jī)指導(dǎo)。第2版。北京:清華大學(xué)出版社,2007</p><p><b> 致謝</b></p><p> 本次畢業(yè)設(shè)計(jì)項(xiàng)目是基于Jsp的圖書管理系統(tǒng)。首先我要感謝我的指導(dǎo)老師馬建斌老師。馬老師對待學(xué)生非常的有耐心,每次遇到不懂的問題,馬老師總會很有耐心的幫我解決問題。馬老師知
106、識淵博,教學(xué)態(tài)度嚴(yán)謹(jǐn),對待學(xué)生很親切。</p><p> 在馬老師的身上,我學(xué)到了很多的東西。</p><p> 通過本次畢業(yè)設(shè)計(jì),我還學(xué)到了很多的知識。我們所學(xué)的知識是非常重要的,我們要將所學(xué)的知識靈活的應(yīng)用到具體的實(shí)踐當(dāng)中。自身還存在很多的不足,一些基礎(chǔ)知識還要進(jìn)一步的深入學(xué)習(xí),要掌握的更加牢固,這樣才能更好的應(yīng)用。</p><p> 在以后的工作和學(xué)習(xí)中
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 基于jsp的圖書管理系統(tǒng)—后臺管理現(xiàn)代科技學(xué)院
- 基于jsp的圖書管理系統(tǒng)
- 基于jsp的圖書管理系統(tǒng)-前臺管理
- 軟件工程畢業(yè)論文-基于jsp的圖書管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)—后臺管理
- 基于jsp的圖書管理系統(tǒng)畢業(yè)論文
- 基于jsp的圖書管理系統(tǒng)畢業(yè)論文
- jsp圖書管理系統(tǒng)論文
- 畢業(yè)論文---基于jsp的圖書管理系統(tǒng)
- 基于jsp的圖書管理系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)
- 軟件工程畢業(yè)論文-基于jsp的圖書管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)—后臺管理 2
- 基于jsp的圖書管理系統(tǒng)的課程設(shè)計(jì)
- 基于-jsp(java)圖書管理系統(tǒng)的設(shè)計(jì)和實(shí)現(xiàn)
- 基于jsp(java)圖書管理系統(tǒng)的設(shè)計(jì)和實(shí)現(xiàn)
- 課程設(shè)計(jì)報(bào)告----基于jsp的圖書管理系統(tǒng)
- jsp課程設(shè)計(jì)--圖書管理系統(tǒng)
- jsp圖書管理系統(tǒng)課程設(shè)計(jì)
- 圖書管理系統(tǒng)圖書管理系統(tǒng)
- 基于jsp的圖書管理系統(tǒng)的課程設(shè)計(jì)報(bào)告
- 基于jsp圖書管理系統(tǒng)—前臺管理現(xiàn)代科技學(xué)院
- 圖書管理系統(tǒng)--jsp課程設(shè)計(jì)報(bào)告
評論
0/150
提交評論