2023年全國碩士研究生考試考研英語一試題真題(含答案詳解+作文范文)_第1頁
已閱讀1頁,還剩22頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領

文檔簡介

1、<p><b>  本科畢業(yè)論文</b></p><p><b> ?。?0 屆)</b></p><p>  基于JSP圖書管理系統(tǒng)的設計與實現(xiàn)—前臺管理</p><p><b>  摘要</b></p><p>  在網(wǎng)絡越來越發(fā)達的今天,人們已經(jīng)不再滿足于信息

2、的瀏覽和發(fā)布,而是希望能夠充分享受網(wǎng)絡所帶來的便利。因此,圖書管理系統(tǒng)以方便、快捷的優(yōu)點正慢慢地進入人們生活,將傳統(tǒng)的圖書管理方式徹底的解脫出來,提高效率,減輕工作人員以往繁忙的工作,減小出錯概率,使讀者可以花更多的時間再選擇書和看書上。</p><p>  Java是一種程序設計語言,它具有簡單的、完全面向?qū)ο笠约芭c平臺無關(guān)的結(jié)構(gòu),也具有可移植性、高性能和安全性等特點,而Java語言最大的成功之處在于它的平臺無

3、關(guān)性和具有強大的網(wǎng)絡編程功能。因此我將用JAVA編寫一個圖書管理系統(tǒng)。</p><p>  本系統(tǒng)是采用JSP+servlet在網(wǎng)絡上構(gòu)架一個動態(tài)的圖書管理系統(tǒng),它是以tomcat 作為服務器并且以MySQL作為數(shù)據(jù)庫來開發(fā),采用JSP技術(shù)開發(fā)的圖書管理系統(tǒng)。主要實現(xiàn)3個方面功能:1.圖書管理系統(tǒng)首頁 2.登錄區(qū)域 3.用戶系統(tǒng)查詢功能 4.用戶借閱、歸還功能</p><p>  關(guān)鍵詞:

4、圖書管理,系統(tǒng)設計,dreamweaver,數(shù)據(jù)庫</p><p><b>  ABSTRACT</b></p><p>  Increasingly developed in the network today,people had no longer meet the purpose of information browsing and publishing,b

5、ut hope to enjoy more and more convenient brought by Internet.Therefore,Book Management System the advantages of convenient,fast is slowly into people’s life,the traditional books management way thorough liberation,impro

6、ve efficiency,reduce staff ever busy job,reduce the error probability,so that readers can spend more time to choose books and read on.</p><p>  Java is a programming language, it has a simple, fully object-o

7、riented and platform independent structure, also with portability, high performance and safety, while Java language greatest success lies in its platform independence and has strong network programming function. So I wil

8、l use JAVA to write a Book Management System.</p><p>  This system is try to use the JSP+servlet on the network architecture of a dynamic books management system,it is a tomcat as the server,using MySQL as d

9、atabase to development ,using the JSP technology development books management system. Main realize three aspects of function:1. The books management system home page 2. Log in and registered area 3. The user’s system que

10、ry functions</p><p>  Key words: Management of books,systematic design,dreamweaver,database </p><p><b>  目錄</b></p><p><b>  1.緒論1</b></p><p> 

11、 1.1課題研究的目的和意義1</p><p>  1.2國內(nèi)外概況1</p><p><b>  2.實現(xiàn)技術(shù)2</b></p><p>  2.1 Java技術(shù)2</p><p>  2.2 MySQL3</p><p>  2.3 B/S結(jié)構(gòu)4</p><p&

12、gt;<b>  2.3.1作用5</b></p><p>  2.3.2架構(gòu)軟件5</p><p>  2.4 Eclipse 開發(fā)環(huán)境6</p><p>  2.5 Dreamweaver6</p><p>  2.6 WEB服務器7</p><p><b>  3.需求分

13、析8</b></p><p>  3.1系統(tǒng)需求概述8</p><p>  3.2系統(tǒng)的功能分析8</p><p>  3.3經(jīng)濟可行性分析8</p><p>  3.4 性能需求分析9</p><p>  4.系統(tǒng)設計與實現(xiàn)9</p><p>  4.1 模塊分析9&

14、lt;/p><p>  4.2數(shù)據(jù)流程圖10</p><p>  4.2.1 系統(tǒng)數(shù)據(jù)流圖10</p><p>  4.3 數(shù)據(jù)字典11</p><p>  4.4 主要代碼12</p><p>  4.5 系統(tǒng)實現(xiàn)15</p><p><b>  5.總 結(jié)17</b

15、></p><p>  參 考 文 獻18</p><p><b>  致 謝18</b></p><p><b>  1.緒論</b></p><p>  隨著互聯(lián)網(wǎng)逐步普及,人們的生活和工作也越來越離不開信息網(wǎng)絡的支持,而圖書作為信息存儲及傳播的主要媒體之一,其需求量越來越大。由于手工

16、管理方式的落后,處理數(shù)據(jù)的能力有限,工作效率低,不能及時為讀者提供所需信息,各種數(shù)據(jù)得不到充分利用,這對于圖書館的圖書管理要求越來越高。在計算機日益普及的今天,對圖書管理而言,可以采用圖書管理系統(tǒng)來管理圖書,從而實現(xiàn)圖書信息管理的自動化。本文所介紹的圖書管理系統(tǒng)前臺管理,系統(tǒng)前臺開發(fā)頁面用Dreamweaver設計,當網(wǎng)頁頁面元素需要調(diào)用數(shù)據(jù)庫的數(shù)據(jù)時,通過JSP服務器提取數(shù)據(jù)庫數(shù)據(jù)返回前臺顯示。其主要特性是能動態(tài)、實時的完成信息的傳遞

17、,且具有高效的交互性,更有效的處理客戶請求,易于維護和更新,其運行所需環(huán)境及其工作流程和各個功能控件的工作原理將在本文依次介紹,并且文中提供了部分程序源代碼。</p><p>  1.1課題研究的目的和意義</p><p>  隨著社會的發(fā)展、信息化的普及和發(fā)展,現(xiàn)在網(wǎng)絡不僅在各企事業(yè)單位中的應用越來越廣泛而且也已經(jīng)逐漸融入了每個人的生活當中,逐漸的成為人們生活中不可或缺的一部分。在這種情

18、況下,書籍就漸漸地成為人們獲取并增長知識的主要途徑,如何科學的管理圖書館不但關(guān)系到讀者閱讀的方便程度,也關(guān)系到圖書館的發(fā)展。為了更好的充實人們的生活,我特做此系統(tǒng)更滿足人們在日常生活的需要和需求。</p><p>  圖書管理系統(tǒng)主要功能實現(xiàn)圖書管理的自動化,只需一名圖書管理員即可操作系統(tǒng),節(jié)省人力;可以迅速查到所需信息,也可為學校老師和學生提供充足的信息和快捷的查詢手段。開發(fā)圖書管理系統(tǒng),以適應現(xiàn)行圖書管理工作

19、的要求,提高工作效率。</p><p><b>  1.2國內(nèi)外概況</b></p><p>  隨著計算機技術(shù)的發(fā)展越來越快,全球信息化和高新技術(shù)的發(fā)展也為圖書館提供了更好的發(fā)展機遇。隨著科學技術(shù)的不斷提高,計算機科學日漸成熟,作為計算及應用的一部分,使用計算機對圖書信息進行管理,有著手工管理所無法比擬的優(yōu)點。例如:檢索迅速、查找方便、易修改、存儲量大、數(shù)據(jù)處理快、

20、成本低、壽命長、便于打印等。這些優(yōu)點能夠極大地提高圖書管理的效率,也是圖書館的科學化、正規(guī)化管理,與世界接軌的重要條件。</p><p>  高校圖書館的工作理念與工作方式也在逐步轉(zhuǎn)變:首先,從“重藏輕用”逐步轉(zhuǎn)向“藏用并舉”,從“小而全”“大而全”的封閉性管理逐步轉(zhuǎn)向信息化、網(wǎng)絡化的開放式管理。其次,圖書館館藏資源由現(xiàn)實館藏想向現(xiàn)實館藏與虛擬館藏并存轉(zhuǎn)移。再次,圖書館的工作對象已由單一媒體轉(zhuǎn)變?yōu)槎喾N媒體。最后,

21、圖書館信息需求的深度正在變化,人們不再滿足于初級信息提供方式,需要更深層次的信息服務。這種服務以用戶為中心,根據(jù)用戶問題和問題環(huán)境確定用戶需求,通過信息分析和重組形成符合用戶需求的知識,或者幫助用戶找到解決的方案。</p><p>  在一些先進的西方國家,數(shù)字圖書館的定位,建立,應用相對比較成熟。而其應用價值,則更多體現(xiàn)在教育領域。數(shù)字圖書館教育涉及圖書、情報學、計算機、網(wǎng)絡、法律、經(jīng)濟、行為學、倫理學等學科和

22、領域。理論和實踐性緊密結(jié)合,不僅在理論上涉及面廣,而且在實踐操作方面對學生提出了較高的要求。而且,數(shù)字圖書館教育是動態(tài)的,它需要根據(jù)不同的受教育者施行不同層次的教育內(nèi)容,隨著數(shù)字圖書館理論和實踐研究的不斷深入而要對課程內(nèi)容進行更新。 數(shù)字圖書館是伴隨著互聯(lián)網(wǎng)發(fā)展而產(chǎn)生的一個正在成長的新生事物。目前,世界中許多發(fā)達國家都在抓緊數(shù)字圖書館的建設,數(shù)字圖書館已成為國際高科技競爭中新的制高點,成為評價一個國家信息基礎設施水平的重要標志。對我國來

23、說,數(shù)字圖書館的建設可以建立以中文信息為主的各種信息資源,互聯(lián)網(wǎng)上中文信息缺乏的狀況就可以得到解決,形成中華文化在互聯(lián)網(wǎng)上的整體優(yōu)勢。數(shù)字圖書館還是保存和延續(xù)發(fā)展民族文獻遺產(chǎn)的最佳手段,所有的珍貴資料都可以經(jīng)數(shù)字化處理后,將原件保存在更適宜的環(huán)境中,而數(shù)字化的資料由于實現(xiàn)原件的復制,并不影響一般意義上的查閱。因此,加快中國數(shù)字圖書館建設勢在必行。</p><p><b>  2.實現(xiàn)技術(shù)</b&g

24、t;</p><p>  2.1 Java技術(shù)</p><p>  Java,是一種可以撰寫跨平臺應用軟件的面向?qū)ο蟮某绦蛟O計語言,由Sun公司的詹姆斯·高斯林(James Gosling)等人于1990年代初開發(fā)。它最初被命名為Oak,目標設置在家用電器等小型系統(tǒng)的編程語言,來解決諸如電視機、電話、鬧鐘、烤面包機等家用電器的控制和通訊問題。由于這些智能化家電的市場需求沒有預期的

25、高,Sun放棄了該項計劃。就在Oak幾近失敗之時,隨著互聯(lián)網(wǎng)的發(fā)展,Sun看到了Oak在計算機網(wǎng)絡上的廣闊應用前景,于是改造了Oak,在1995年5月以“Java”的名稱正式發(fā)布了。Java伴隨著互聯(lián)網(wǎng)的迅猛發(fā)展而發(fā)展,逐漸成為重要的網(wǎng)絡編程語言。</p><p>  Java編程語言的風格十分接近C++語言。繼承了C++ 語言面向?qū)ο蠹夹g(shù)的內(nèi)核,Java舍棄了C++語言中容易引起錯誤的指針(以引用取代)、運算符

26、重載(operator overloading)、多重繼承(以接口取代)等特性,增加了垃圾回收器功能用于回收不再被引用的對象所占據(jù)的內(nèi)存空間。在Java SE 1.5版本中Java又引入了泛型編程(Generic Programming)、類型安全的枚舉、不定長參數(shù)和自動裝/拆箱等語言特性。</p><p>  Java不同于一般的編譯運行計算機語言和解釋執(zhí)行計算機語言。它首先將源代碼編譯成字節(jié)碼(bytecod

27、e),然后依賴各種不同平臺上的虛擬機來解釋執(zhí)行字節(jié)碼,從而實現(xiàn)了“一次編譯、到處執(zhí)行”的跨平臺特性。不過,這同時也在一定程度上降低了Java程序的運行效率。但在J2SE1.4.2發(fā)布后,Java的運行速度有了大幅提升。</p><p>  與傳統(tǒng)程序不同Sun公司在推出Java之際就將其作為一種開放的技術(shù)。全球數(shù)以萬計的Java開發(fā)公司被要求所設計的Java軟件必須相互兼容?!癑ava語言靠群體的力量而非公司的力

28、量”是Sun公司的口號之一,并獲得了廣大軟件開發(fā)商的認同。這與微軟公司所倡導的注重精英和封閉式的模式完全不同。</p><p>  Sun公司對Java編程語言的解釋是:Java編程語言是個簡單、面向?qū)ο蟆⒎植际?、解釋性、健壯、安全與系統(tǒng)無關(guān)、可移植、高性能、多線程和動態(tài)的語言。</p><p>  Java語言有以下特點</p><p>  簡單(Simple):

29、指的是去除了C/C++中較少使用或可能不安全的功能,例如指標,運算子重載,多重繼承等。 </p><p>  物件導向的(Object-oriented):利用OOP的三種基本特性:PIE(多型,繼承,封裝),來設計出可重複使用的元件,使系統(tǒng)有彈性易于維護。 </p><p>  網(wǎng)路的(Network-Savvy):提供容易使用的API來撰寫網(wǎng)路程式 。</p><p

30、>  直譯式的(Interpreted):bytecode在JVM上執(zhí)行時,JIT負責轉(zhuǎn)換為機器碼。 </p><p>  穩(wěn)健的(Robust):捨棄了對記憶體的指標運作。 </p><p>  安全性(Secure) : 資源回收處理 (Garbage Collection)由JVM自行作記憶體管理,例外處理 (Exception) 可預防突發(fā)錯誤的產(chǎn)生。 </p>

31、<p>  結(jié)構(gòu)中立(Architecture Neutral):程式執(zhí)行在虛擬機器上。 </p><p>  可攜的(Portable): Write once, run anywhere指的是由JVM與不同的作業(yè)系統(tǒng)溝通。 </p><p>  高效率的(High Performance):利用HotSpot, JIT技術(shù)改善效能。 </p><p>

32、;  多執(zhí)行緒的(Multithreaded):Java程序可發(fā)出多隻并行的輕量化行程。 </p><p>  動態(tài)的(Dynamic):Java程式執(zhí)行時動態(tài)的連結(jié)類別庫。</p><p><b>  2.2 MySQL</b></p><p>  MySQL是一個小型關(guān)系型數(shù)據(jù)庫管理系統(tǒng),開發(fā)者為瑞典MySQL AB公司。在2008年1月1

33、6號被Sun公司收購。而2009年,SUN又被Oracle收購.對于Mysql的前途,沒有任何人抱樂觀的態(tài)度.目前MySQL被廣泛地應用在Internet上的中小型網(wǎng)站中。由于其體積小、速度快、總體擁有成本低,尤其是開放源碼這一特點,許多中小型網(wǎng)站為了降低網(wǎng)站總體擁有成本而選擇了MySQL作為網(wǎng)站數(shù)據(jù)庫。MySQL的官方網(wǎng)站的網(wǎng)址是:www.mysql.com MySQL最初的開發(fā)者的意圖是用mSQL和他們自己的快速低級例程(ISAM)

34、去連接表格。不管怎樣,在經(jīng)過一些測試后,開發(fā)者得出結(jié)論:mSQL并沒有他們需要的那么快和靈活。這導致了一個使用幾乎和mSQL一樣的API接口的用于他們的數(shù)據(jù)庫的新的SQL接口的產(chǎn)生,這樣,這個API被設計成允許為用于mSQL而寫的第三方代碼更容易移植到MySQL。</p><p><b>  MySQL特性</b></p><p>  1.使用C和C++編寫,并使用了

35、多種編譯器進行測試,保證源代碼的可移植性。 </p><p>  2.支持AIX、FreeBSD、HP-UX、Linux、Mac OS、Novell Netware、OpenBSD、OS/2 Wrap、Solaris、Windows等多種操作系統(tǒng)。 </p><p>  3.為多種編程語言提供了API。這些編程語言包括C、C++、Python、Java、Perl、PHP、Eiffel、Ru

36、by和Tcl等。 </p><p>  4.支持多線程,充分利用CPU資源。 </p><p>  5.優(yōu)化的SQL查詢算法,有效地提高查詢速度。 </p><p>  6.既能夠作為一個單獨的應用程序應用在客戶端服務器網(wǎng)絡環(huán)境中,也能夠作為一個庫而嵌入到其他的軟件中提供多語言支持,常見的編碼如中文的GB 2312、BIG5,日文的Shift_JIS等都可以用作數(shù)據(jù)

37、表名和數(shù)據(jù)列名。</p><p>  7.提供TCP/IP、ODBC和JDBC等多種數(shù)據(jù)庫連接途徑。 </p><p>  8.提供用于管理、檢查、優(yōu)化數(shù)據(jù)庫操作的管理工具。 </p><p>  9.可以處理擁有上千萬條記錄的大型數(shù)據(jù)庫。</p><p><b>  2.3 B/S結(jié)構(gòu)</b></p>&

38、lt;p>  B/S結(jié)構(gòu)(Browser/Server,瀏覽器/服務器模式),是WEB興起后的一種網(wǎng)絡結(jié)構(gòu)模式,WEB瀏覽器是客戶端最主要的應用軟件。這種模式統(tǒng)一了客戶端,將系統(tǒng)功能實現(xiàn)的核心部分集中到服務器上,簡化了系統(tǒng)的開發(fā)、維護和使用??蛻魴C上只要安裝一個瀏覽器(Browser),如Netscape Navigator或Internet Explorer,服務器安裝Oracle、Sybase、Informix或 S

39、QL Server等數(shù)據(jù)庫。瀏覽器通過Web Server 同數(shù)據(jù)庫進行數(shù)據(jù)交互。圖2.1</p><p>  圖2.1 B/S結(jié)構(gòu)圖 </p><p><b>  2.3.1作用</b></p><p>  B/S最大的優(yōu)點就是可以在任何地方進行操作而不用安裝任何專門的軟件,只要有一臺能上網(wǎng)的電腦就能使用,客戶端零安裝、零維護。系統(tǒng)的擴展非常

40、容易。</p><p>  B/S結(jié)構(gòu)的使用越來越多,特別是由需求推動了AJAX技術(shù)的發(fā)展,它的程序也能在客戶端電腦上進行部分處理,從而大大的減輕了服務器的負擔;并增加了交互性,能進行局部實時刷新。</p><p><b>  2.3.2架構(gòu)軟件</b></p><p> ?。?)維護和升級方式簡單。目前,軟件系統(tǒng)改進和升級越來越頻繁,B/S架

41、構(gòu)的產(chǎn)品明顯體現(xiàn)著更為方便的特性。對一個稍微大一點單位來說,系統(tǒng)管理人員如果需要在幾百甚至上千部電腦之間來回奔跑,效率和工作量是可想而知的,但B/S架構(gòu)的軟件只需要管理服務器就行了,所有的客戶端只是瀏覽器,根本不需要做任何的維護。無論用戶的規(guī)模有多大,有多少分支機構(gòu)都不會增加任何維護升級的工作量,所有的操作只需要針對服務器進行;如果是異地,只需要把服務器連接專網(wǎng)即可,實現(xiàn)遠程維護、升級和共享。所以客戶機越來越“瘦”,而服務器越來越“胖”

42、是將來信息化發(fā)展的主流方向。今后,軟件升級和維護會越來越容易,而使用起來會越來越簡單,這對用戶人力、物力、時間、費用的節(jié)省是顯而易見的,驚人的。因此,維護和升級革命的方式是“瘦”客戶機,“胖”服務器。</p><p>  (2)成本降低,選擇更多。大家都知道windows在桌面電腦上幾乎一統(tǒng)天下,瀏覽器成為了標準配置,但在服務器操作系統(tǒng)上windows并不是處于絕對的統(tǒng)治地位。 現(xiàn)在的趨勢是凡使用B/S架構(gòu)的應用

43、管理軟件,只需安裝在Linux服務器上即可,而且安全性高。所以服務器操作系統(tǒng)的選擇是很多的,不管選用那種操作系統(tǒng)都可以讓大部分人使用windows作為桌面操作系統(tǒng)電腦不受影響,這就使得最流行免費的Linux操作系統(tǒng)快速發(fā)展起來,Linux除了操作系統(tǒng)是免費的以外,連數(shù)據(jù)庫也是免費的,這種選擇非常盛行。</p><p>  比如說很多人每天上“新浪”網(wǎng),只要安裝了瀏覽器就可以了,并不需要了解“新浪”的服務器用的是什

44、么操作系統(tǒng),而事實上大部分網(wǎng)站確實沒有使用windows操作系統(tǒng),但用戶的電腦本身安裝的大部分是windows操作系統(tǒng)。</p><p>  (3)應用服務器運行數(shù)據(jù)負荷較重。由于B/S架構(gòu)管理軟件只安裝在服務器端(Server)上,網(wǎng)絡管理人員只需要管理服務器就行了,用戶界面主要事務邏輯在服務器(Server)端完全通過WWW瀏覽器實現(xiàn),極少部分事務邏輯在前端(Browser)實現(xiàn),所有的客戶端只有瀏覽器,網(wǎng)絡

45、管理人員只需要做硬件維護。但是,應用服務器運行數(shù)據(jù)負荷較重,一旦發(fā)生服務器“崩潰”等問題,后果不堪設想。因此,許多單位都備有數(shù)據(jù)庫存儲服務器,以防萬一。</p><p>  2.4 Eclipse 開發(fā)環(huán)境 </p><p>  Eclipse 最初是由 IBM 公司開發(fā)的替代商業(yè)軟件 Visual Age for Java 的下一代 IDE 開發(fā)環(huán)境,是著名的跨平臺的自由集成開發(fā)環(huán)境。最

46、初主要用來 Java 語言開發(fā),但是目前亦有人通過插件使其作為其他計算機語言比如 C++和 Python 的開發(fā)工具。 </p><p>  Eclipse 的本身只是一個框架平臺,但是眾多插件的支持使得 Eclipse 擁有其他功能 相對固定的 IDE 軟件很難具有的靈活性。許多軟件開發(fā)商以 Eclipse 為框架開發(fā)自己的 IDE。 Eclipse 采用的技術(shù)是 IBM 公司開發(fā)的(SWT) ,這是一種基于

47、Java 的窗口組件, 類似 Java 本身提供的 AWT 和 Swing 窗口組件;不過 IBM 聲稱 SWT 比其他 Java 窗口 組件更有效率。</p><p>  Eclipse 的用戶界面還使用了 GUI 中間層 JFace,從而簡化了基于 SWT 的應用程序的構(gòu)建。 Eclipse 的插件機制是輕型軟件組件化架構(gòu)。在富客戶機平臺上,Eclipse 使用插件 來提供所有的附加功能,例如支持 Java

48、以外的其他語言。 已有的分離的插件已經(jīng)能夠 支持 C/C++(CDT) 、Perl、Ruby,Python、telnet 和數(shù)據(jù)庫開發(fā)。插件架構(gòu)能夠支持將 任意的擴展加入到現(xiàn)有環(huán)境中,例如配置管理,而決不僅僅限于支持各種編程語言。 </p><p>  Eclipse 的設計思想是:一切皆插件。Eclipse 核心很小,其它所有功能都以插件的 形式附加于 Eclipse 核心之上。Eclipse 基本內(nèi)核包括:圖

49、形 API (SWT/Jface), Java 開發(fā)環(huán)境插件(JDT) ,插件開發(fā)環(huán)境(PDE)等。</p><p>  2.5 Dreamweaver</p><p>  Dreamweaver可以用最快速的方式將Fireworks,F(xiàn)reeHand,或Photoshop等檔案移至網(wǎng)頁上。使用檢色吸管工具選擇熒幕上的顏色可設定最接近的網(wǎng)頁安全色。對于選單,快捷鍵與格式控制,都只要一個簡單

50、步驟便可完成。Dreamweaver能與您喜愛的設計工具,如Playback Flash,Shockwave和外掛模組等搭配,不需離開Dreamweaver便可完成,整體運用流程自然順暢。除此之外,只要單擊便可使Dreamweaver自動開啟Firework或Photoshop來進行編輯與設定圖檔的最佳化。</p><p>  使用網(wǎng)站地圖可以快速制作網(wǎng)站雛形、設計、更新和重組網(wǎng)頁。改變網(wǎng)頁位置或檔案名稱,Dre

51、amweaver 會自動更新所有鏈接。使用支援文字、HTML碼、HTML屬性標簽和一般語法的搜尋及置換功能使得復雜的網(wǎng)站更新變得迅速又簡單。</p><p>  Dreamweaver是唯一提供Roundtrip HTML、視覺化編輯與原始碼編輯同步的設計工具。它包含HomeSite和BBEdit等主流文字編輯器。幀(frames)和表格的制作速度快的令您無法想像。進階表格編輯功能使您簡單的選擇單格、行、欄或作未

52、連續(xù)之選取。甚至可以排序或格式化表格群組,Dreamweaver 支援精準定位,利用可輕易轉(zhuǎn)換成表格的圖層以拖拉置放的方式進行版面配置。所見即所得 Dreamweaver成功整合動態(tài)式出版視覺編輯及電子商務功能,提供超強的支援能力給Third-party廠商,包含ASP, Apache,BroadVision, Cold Fusion,iCAT, Tango與自行發(fā)展的應用軟體。當您正使用Dreamweaver在設計動態(tài)網(wǎng)頁時,所見即所

53、得的功能,讓您不需要透過瀏覽器就能預覽網(wǎng)頁。夢幻樣版和XML Dreamweaver將內(nèi)容與設計分開,應用于快速網(wǎng)頁更新和團隊合作網(wǎng)頁編輯。建立網(wǎng)頁外觀的樣版,指定可編輯或不可編輯的部份,內(nèi)容提供者可直接編輯以樣式為主的內(nèi)容卻不會不小心改變既定之樣式。您也可以使用樣版正確地輸入或輸出XML內(nèi)容。 全方位的</p><p>  2.6 WEB服務器</p><p>  Tomcat是Apac

54、he 軟件基金會(Apache Software Foundation)的Jakarta 項目中的一個核心項目,由Apache、Sun 和其他一些公司及個人共同開發(fā)而成。由于有了Sun 的參與和支持,最新的Servlet 和JSP 規(guī)范總是能在Tomcat 中得到體現(xiàn),Tomcat 5 支持最新的Servlet 2.4 和JSP 2.0 規(guī)范。因為Tomcat 技術(shù)先進、性能穩(wěn)定,而且免費,因而深受Java 愛好者的喜愛并得到了部分軟件

55、開發(fā)商的認可,成為目前比較流行的Web 應用服務器。目前最新版本是6.0。</p><p>  Tomcat 很受廣大程序員的喜歡,因為它運行時占用的系統(tǒng)資源小,擴展性好,支持負載平衡與郵件服務等開發(fā)應用系統(tǒng)常用的功能;而且它還在不斷的改進和完善中,任何一個感興趣的程序員都可以更改它或在其中加入新的功能。 </p><p>  Tomcat是一個小型的輕量級應用服務器,在中小型系統(tǒng)和并發(fā)訪

56、問用戶不是很多的場合下被普遍使用,是開發(fā)和調(diào)試JSP 程序的首選。對于一個初學者來說,可以這樣認為,當在一臺機器上配置好Apache 服務器,可利用它響應對HTML 頁面的訪問請求。實際上Tomcat 部分是Apache 服務器的擴展,但它是獨立運行的,所以當你運行tomcat 時,它實際上作為一個與Apache 獨立的進程單獨運行的。 </p><p>  這里的訣竅是,當配置正確時,Apache 為HTML頁

57、面服務,而Tomcat 實際上運行JSP 頁面和Servlet。另外,Tomcat和IIS、Apache等Web服務器一樣,具有處理HTML頁面的功能,另外它還是一個Servlet和JSP容器,獨立的Servlet容器是Tomcat的默認模式。不過,Tomcat處理靜態(tài)HTML的能力不如Apache服務器。</p><p><b>  3.需求分析</b></p><p&

58、gt;  3.1系統(tǒng)需求概述</p><p>  本次畢業(yè)設計的圖書管理系統(tǒng)的應用對象定位是河北農(nóng)業(yè)大學圖書館,因此在進行需求分析時主要考慮學校圖書館的具體要求。我們知道圖書館的主要功能就是為注冊的用戶提供圖書的借閱,在此過程中主要涉及對圖書的管理和借閱者的管理以及圖書借閱信息額管理。其中,對圖書館的管理主要是指:對館藏圖書的添加,修改、刪除、查詢等;對借閱者的管理主要是指:對圖書的借閱者添加、修改、刪除、查詢

59、等操作;對圖書借閱信息的管理主要是指:對借閱者的借閱信息的管理(比如,某個借閱者何時借閱和借閱哪本圖書等)。除此之外,因為本系統(tǒng)為計算機應用系統(tǒng),所以為了安全,對于每一個使用該系統(tǒng)的人,都要實行用戶密碼登陸,只有合法的用戶才能使用該系統(tǒng)。筆者預期本系統(tǒng)應具有以下特點:</p><p>  采用B/S模式實現(xiàn)在線借閱,管理圖書。</p><p>  確保系統(tǒng)具有良好的性能和友好的用戶界面。&

60、lt;/p><p>  較高的處理效率,便于使用和維護。</p><p>  采用成熟技術(shù)開發(fā),使系統(tǒng)具有較高的技術(shù)水平和較長的生</p><p><b>  命周期。</b></p><p>  系統(tǒng)盡可能簡化圖書館管理人員的重復工作,提高工作效</p><p><b>  率。</

61、b></p><p>  簡化數(shù)據(jù)查詢、統(tǒng)計難度。</p><p>  3.2系統(tǒng)的功能分析</p><p>  本系統(tǒng)對于讀者來著,他們關(guān)心的問題是如何方便的查詢所需書籍以及自己正在借閱或已經(jīng)借閱過的書籍,所借書籍是否到期。由此系統(tǒng)應做到以下幾點:</p><p>  用戶登錄:對用戶身份進行認證。不同身份的用戶使用的權(quán)限不同。<

62、;/p><p>  借閱者管理:對借閱者信息進行管理,增加權(quán)限或限制權(quán)限。</p><p>  圖書管理:對圖書信息進行修改、刪除,注銷圖書進行注銷,同時提供圖書檢索功能。</p><p>  查詢功能:實現(xiàn)圖書的查詢檢索</p><p>  其他功能:實現(xiàn)借閱期限的規(guī)定,處罰操作等。</p><p>  3.3經(jīng)濟可行性

63、分析</p><p>  整個系統(tǒng)由我們獨立完成,幾乎是零費用,然而應用到圖書館管理系統(tǒng)之后會節(jié)省大量人力與財力資源。鑒于圖書館的規(guī)模大小的不同,支付的能力不同,同時本作品是一個動態(tài)網(wǎng)頁,每次瀏覽都需要一個Web服務器支持,所以從經(jīng)濟上完全是可行的。</p><p>  3.4 性能需求分析 </p><p> ?。?)可靠性高,能在由于系統(tǒng)問題或其它原因產(chǎn)生錯誤后

64、,作出相對應處理,使程序具有較高的容錯性能。</p><p> ?。?)宜操作性,程序簡單易懂,容易上手使用。設計界面是簡化界面,使用戶能很容易看懂并使用。 </p><p> ?。?)開發(fā)文檔易理解,保證以后自己二次開發(fā)或他人接手開發(fā)時,能夠清晰的理解整個系統(tǒng)的設計思路和實現(xiàn)細節(jié)。 </p><p> ?。?)模塊化設計此軟件的功能,不同的模塊實現(xiàn)不同的功能,使得

65、軟件易于以后的維護與擴展,在以后可以更好的完善本軟件的功能,更方便于在工作中的應用。 </p><p><b>  4.系統(tǒng)設計與實現(xiàn)</b></p><p><b>  4.1 模塊分析</b></p><p>  本系統(tǒng)針對不同用戶有不同功能模塊,其中圖書館管理員模塊包括作者管理、出版社管理、圖書管理、用戶管理、退出系

66、統(tǒng)五個模塊,讀者模塊包括修改登錄密碼、查詢功能。系統(tǒng)功能結(jié)構(gòu)如圖4.1</p><p>  圖4.1 系統(tǒng)功能結(jié)構(gòu)圖</p><p><b>  4.2數(shù)據(jù)流程圖</b></p><p>  4.2.1 系統(tǒng)數(shù)據(jù)流圖 </p><p>  系統(tǒng)數(shù)據(jù)流程圖如圖4.2:</p><p>  圖4.2

67、系統(tǒng)數(shù)據(jù)流圖</p><p><b>  4.3 數(shù)據(jù)字典</b></p><p>  該系統(tǒng)有用戶信息、圖書信息、圖書借閱信息三個實體。</p><p><b>  用戶信息</b></p><p><b>  圖書基本信息</b></p><p>

68、<b>  圖書借閱信息</b></p><p><b>  圖書編號ISBN</b></p><p><b>  用戶ID</b></p><p><b>  4.4 主要代碼</b></p><p>  2、個人信息管理代碼</p>&l

69、t;p>  UpdateinfoServlet</p><p>  public class UpdateinfoServlet extends HttpServlet</p><p><b>  {</b></p><p><b>  @Override</b></p><p>  prot

70、ected void doGet(HttpServletRequest req, HttpServletResponse resp)</p><p>  throws ServletException, IOException {</p><p>  req.setCharacterEncoding("gbk");</p><p>  resp.

71、setCharacterEncoding("gbk");</p><p>  int m = Integer.parseInt(req.getParameter("m"));</p><p><b>  switch(m)</b></p><p><b>  {</b></p&

72、gt;<p>  case 2://修改個人信息</p><p>  this.modify_info(req,resp);</p><p><b>  break;</b></p><p><b>  }</b></p><p><b>  }</b></

73、p><p>  protected void modify_info(HttpServletRequest req, HttpServletResponse resp)</p><p>  throws ServletException, IOException {</p><p>  ReaderModel reader = new ReaderModel();<

74、;/p><p>  reader.setName(req.getParameter("name"));</p><p>  reader.setSex(req.getParameter("sex"));</p><p>  reader.setBirthday(req.getParameter("birthday&quo

75、t;));</p><p>  reader.setTel(req.getParameter("tel"));</p><p>  reader.setEmail(req.getParameter("email"));</p><p>  reader.setID((Integer)req.getSession().getAt

76、tribute("readerid"));</p><p>  ReaderDAO readerdao = new ReaderDAO();</p><p>  String info = "";</p><p><b>  try {</b></p><p>  if (read

77、erdao.update(reader)!=-1) {</p><p>  info="個人信息修改成功,請退出后重新登入系統(tǒng)!";</p><p>  req.setAttribute("info",info);</p><p>  req.getRequestDispatcher("QueryinfoServle

78、t?m=2").forward(req, resp);</p><p><b>  } else {</b></p><p>  info="個人信息修改失敗";</p><p>  req.setAttribute("info",info);</p><p>  req

79、.getRequestDispatcher("QueryinfoServlet?m=2").forward(req, resp);</p><p><b>  }</b></p><p>  } catch (Exception e) {</p><p>  e.printStackTrace();</p>&

80、lt;p><b>  }</b></p><p><b>  }</b></p><p><b>  }</b></p><p>  2、執(zhí)行各種查詢與插入數(shù)據(jù)庫的核心代碼</p><p>  import java.sql.Connection;</p>

81、<p>  import java.sql.PreparedStatement;</p><p>  import java.sql.ResultSet;</p><p>  import java.sql.SQLException;</p><p>  import java.sql.Statement;</p><p>  im

82、port java.util.ArrayList;</p><p>  import java.util.List;</p><p>  public abstract class BaseDAO {</p><p>  protected DbConnection dbconn;</p><p>  public BaseDAO(){<

83、;/p><p>  dbconn=new DbConnection();</p><p><b>  }</b></p><p>  //執(zhí)行增,刪,改等操作,不返回結(jié)果集,返回影響記錄的行數(shù)</p><p>  public int updateBySql(String sql) throws Exception{<

84、/p><p>  System.out.println(sql);</p><p>  Connection conn=null;</p><p>  Statement stmt=null;</p><p><b>  try {</b></p><p>  conn=dbconn.getConne

85、ction();</p><p>  stmt=conn.createStatement();</p><p>  return stmt.executeUpdate(sql);</p><p>  } catch (SQLException e) {</p><p>  // TODO Auto-generated catch block&

86、lt;/p><p>  e.printStackTrace();</p><p>  return -1;</p><p><b>  }finally{</b></p><p>  dbconn.closeStatement(stmt);</p><p>  dbconn.closeConnecti

87、on(conn);</p><p><b>  }</b></p><p><b>  }</b></p><p><b>  通過sql語句更新</b></p><p>  public int updateBySql(String sql,IParamBinding bin

88、d) throws Exception{</p><p>  Connection conn=null;</p><p>  PreparedStatement pstmt=null;</p><p><b>  try {</b></p><p>  conn=dbconn.getConnection();</p

89、><p>  pstmt=conn.prepareStatement(sql);</p><p>  bind.bindParam(pstmt);//參數(shù)綁定</p><p>  return pstmt.executeUpdate();</p><p>  } catch (SQLException e) {</p><p&

90、gt;  // TODO Auto-generated catch block</p><p>  e.printStackTrace();</p><p>  return -1;</p><p><b>  }finally{</b></p><p>  dbconn.closeStatement(pstmt);&l

91、t;/p><p>  dbconn.closeConnection(conn);</p><p><b>  }</b></p><p><b>  }</b></p><p>  //執(zhí)行多條不帶參數(shù)的sql語句</p><p>  public int[] executeBa

92、tch(String[] sqls) throws Exception{</p><p>  Connection conn=null;</p><p>  Statement stmt=null;</p><p><b>  try {</b></p><p>  conn=dbconn.getConnection()

93、;</p><p>  conn.setAutoCommit(false);</p><p>  stmt=conn.createStatement();</p><p>  for(int i=0;i<sqls.length;i++){</p><p>  stmt.addBatch(sqls[i]);</p><

94、p><b>  }</b></p><p>  dbconn.commitTrans(conn);</p><p>  return stmt.executeBatch();</p><p>  } catch (SQLException e) {</p><p>  // TODO Auto-generated

95、catch block</p><p>  dbconn.rollbackTrans(conn);</p><p>  e.printStackTrace();</p><p>  return null;</p><p><b>  }finally{</b></p><p>  dbconn.

96、commitTrans(conn);</p><p>  dbconn.closeStatement(stmt);</p><p>  dbconn.closeConnection(conn);</p><p><b>  }</b></p><p><b>  }</b></p>&

97、lt;p><b>  通過sql語句查詢</b></p><p>  public List queryBySql(String sql,IRowMapper mapper) throws Exception{</p><p>  //System.out.println(sql);</p><p>  Connection conn

98、=null;</p><p>  Statement stmt=null;</p><p>  ResultSet rs=null;</p><p>  List retList=new ArrayList();</p><p><b>  try {</b></p><p>  conn=dbc

99、onn.getConnection();</p><p>  stmt=conn.createStatement();</p><p>  rs=stmt.executeQuery(sql);</p><p>  while(rs.next()){</p><p>  Object obj=mapper.mappingRow(rs);<

100、/p><p>  retList.add(obj);</p><p><b>  }</b></p><p>  } catch (SQLException e) {</p><p>  // TODO Auto-generated catch block</p><p>  e.printStack

101、Trace();</p><p><b>  }finally{</b></p><p>  dbconn.closeResult(rs);</p><p>  dbconn.closeStatement(stmt);</p><p>  dbconn.closeConnection(conn);</p>

102、<p><b>  }</b></p><p>  return retList;</p><p><b>  }</b></p><p><b>  4.5 系統(tǒng)實現(xiàn)</b></p><p> ?。?)首先登陸界面,如下圖所示:</p><p&g

103、t;<b>  4.3登陸界面</b></p><p> ?。?)輸入帳號和密碼,普通管理員登陸,如下圖所示:</p><p>  4.4普通管理員登陸</p><p> ?。?)輸入賬號和密碼,用戶登陸,如下圖所示:</p><p><b>  4.5用戶登陸</b></p><

104、;p> ?。?)如果用戶想要借書,點圖書檢索,例如借《JSP開發(fā)王》,普通管理員點圖書借閱管理,添加新借閱記錄,如圖所示。</p><p>  4.6普通管理員圖書借閱管理</p><p>  4.7添加新借閱記錄</p><p> ?。?)用戶登陸,首頁如圖所示:</p><p>  4.8是否已借閱圖書</p><

105、;p> ?。?)用戶想歸還圖書,普通管理員點圖書歸還管理,如下圖所示:</p><p><b>  4.9圖書歸還界面</b></p><p>  4.10圖書歸還成功后</p><p><b>  5.總 結(jié)</b></p><p>  由于初次編寫大型軟件,所以感覺難度比較大,也因為如此,

106、在找資料及向老師同學的請教中學到了很多的東西。 這次的課程設計是JSP圖書管理系統(tǒng)-前臺管理,在平日的生活學習中,可以說圖書管理系統(tǒng)在人們借閱圖書時已占據(jù)重要的位置,所以這個課程設計很有現(xiàn)實意義。從最初的MyEclipse的安裝、MySQL的安裝,到使用Tomcat建立Web項目連接數(shù)據(jù)庫,一步步搭建環(huán)境、平臺和開發(fā)項目。其中所涉及的知識有軟件開發(fā)方法、JSP技術(shù)、數(shù)據(jù)庫等,學到了很多東西。現(xiàn)對系統(tǒng)總結(jié)如下:</p>&l

107、t;p>  通過本次系統(tǒng)的實際開發(fā),更加熟悉使用了界面開發(fā)工具Dreamweaver、數(shù)據(jù)庫開發(fā)工具MySQL、程序開發(fā)工具MyEclipse的使用。</p><p>  本設計系統(tǒng)實現(xiàn)了圖書館的讀者和普通管理員的登錄、注銷功能。</p><p>  實現(xiàn)了圖書的查詢功能。</p><p>  實現(xiàn)了圖書的借閱與歸還功能。</p><p&g

108、t;  課程設計項目雖然要求是獨立完成,但還是很多問題的解決離不開老師的指導及同學之間的探討,這些在做項目的時候都是必不可少的,在這里感謝大家?guī)淼膸椭?另外就是知識方面的問題, 對Java有很多方面的知識還是很不熟悉,具體用到的時候就感覺生疏,或者還是缺乏設計方面的實踐。課程設計的機會不是很多,由于所學的知識包含了太多的方面,所以實踐方面還是遠遠不夠。 雖然課程設計順利的完成了,但由于水平有限,還是有很多的欠缺跟不足之處,希望老師給

109、予指正。</p><p><b>  參 考 文 獻</b></p><p>  1、 強書香.  圖書館管理系統(tǒng)分析與設計[J]. 電腦編程技巧與維護. 2013(02) 2、Java 2 編程思想 (美) Bruce Eckel </p><p>  3、劉永華,于春花.Java 網(wǎng)絡編程.清華大學出版社.2008 &l

110、t;/p><p>  4、Java 語言與面向?qū)ο蟪绦蛟O計(清華大學出版)印雯 編著</p><p>  5、王健飛.  融合虛擬現(xiàn)實技術(shù)的圖書信息管理系統(tǒng)設計研究[J]. 信息與電腦(理論版). 2012(12)</p><p>  6、劉彥楠.  圖書管理系統(tǒng)的設計與實現(xiàn)[J]. 佳木斯教育學院學報. 2012(10)<

111、/p><p>  7、黃鑫.  高校圖書管理系統(tǒng)的設計與實現(xiàn)[D]. 東北大學 20118、薛為民, 夏文紅, 解侖.Java 應用教程 北京:北京交通大學出版社 2005</p><p>  9、朱天生,龍萍.  基于Web的圖書管理系統(tǒng)的設計與實現(xiàn)[J]. 農(nóng)業(yè)圖書情報學刊. 2009(04)</p><p>  10、張晶.

112、  圖書管理系統(tǒng)的設計與實現(xiàn)[D]. 西南交通大學 2011</p><p>  11、張鳳霞.  高校圖書管理系統(tǒng)的設計概述——基于B/S結(jié)構(gòu)的前臺管理[J]. 科技信息. 2009(23)</p><p><b>  致 謝</b></p><p>  四年的大學學習生涯就要結(jié)束了,首先我要向我的母校

113、——河北農(nóng)業(yè)大學致以深深的謝意。在這里度過了一段美好的、令我難忘的日子。</p><p>  感謝我的指導老師馬建斌老師,是他在繁忙的工作與教學之余,一次次不厭其煩地幫我分析相關(guān)技術(shù),解決技術(shù)難題,并教給我正確的研究方法,研究思路,沒有馬老師的幫助我不可能按時順利完成本設計。在馬老師的指導下,我不僅順利地完成了此畢業(yè)設計,而且初步掌握了計算機學科進行科學研究的正確研究態(tài)度,思考方法,研究方法,為我今后的更好地學習

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論