畢業(yè)設計(論文)-JSP中華圖書館網(wǎng)站設計_第1頁
畢業(yè)設計(論文)-JSP中華圖書館網(wǎng)站設計_第2頁
畢業(yè)設計(論文)-JSP中華圖書館網(wǎng)站設計_第3頁
畢業(yè)設計(論文)-JSP中華圖書館網(wǎng)站設計_第4頁
畢業(yè)設計(論文)-JSP中華圖書館網(wǎng)站設計_第5頁
已閱讀5頁,還剩33頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、摘 要世界由物質(zhì)、信息、能量三大局部組成。21世紀是信息時代的一個世紀,然而隨著信息技術和網(wǎng)絡技術的飛速開展,網(wǎng)絡已漸漸滲入到人們的日常生活中,傳統(tǒng)圖書館的業(yè)務流程和效勞模式正經(jīng)受著越來越強烈的沖擊,人們開始習慣從網(wǎng)絡上搜集和獲取自己所需要的信息資源,因此數(shù)字圖書館已經(jīng)成為許多人工作與生活的必需。而新聞數(shù)字圖書館作那么成為信息傳播的一個重要陣地,對信息的傳播起著中轉(zhuǎn)樞紐的作用,其開展水平更直接表達了一個社會的信息化水平。圖書館相關/ 網(wǎng)站的建設是該圖書館信息資源數(shù)字化、網(wǎng)絡化的重要表達,也與數(shù)字圖書館的建設密不可分。所以各大圖書館都應建設立一個代表自己信息化水平的門戶網(wǎng)站,從而為用戶提供更優(yōu)質(zhì)

2、、方便、和快捷的效勞。 圖書館的門戶網(wǎng)站不僅是其對外的形象、效勞的平臺和工作的基地,同時它還是整個數(shù)字資源的入口處。中華圖書館的門戶網(wǎng)站是虛擬圖書館的前門,為讀者提供了一個內(nèi)容豐富的基于Web瀏覽器的用戶界面,在這個用戶界面中既有資源信息又有資源的鏈接,讀者可以通過網(wǎng)絡訪問該界面,并從中得到該圖書館的日常相關信息和局部館藏信息資源,以及其他優(yōu)秀的信息資源。圖書館可以通過自己的門戶網(wǎng)站樹立新形象,建設和發(fā)布相關信息資源,宣傳自己,擴充自己的效勞模式,為讀者提供更優(yōu)質(zhì)的效勞。?中華圖書館網(wǎng)站?是根據(jù)圖書館實際的工作需要并結(jié)合我們專業(yè)所學的Web網(wǎng)站開發(fā)技術、JSP網(wǎng)頁編程技術和SQL Server

3、 2005數(shù)據(jù)庫技術開發(fā)設計的一個擁有信息發(fā)布、書籍查詢和讀者留言等根本功能的網(wǎng)站系統(tǒng)。 關鍵字:SQL Server 2005數(shù)據(jù)庫、網(wǎng)頁設計、Web網(wǎng)站開發(fā)、JSP網(wǎng)頁編程The site design of Zhonhua libraryAbstractThe world by the material, information, energy three major components. 21 century is a century of the information age, howeveAs information technology and the rapid devel

4、opment of network technology, the network has gradually infiltrated into peoples daily lives, the traditional library service model business processes and the impact of suffering the more intense, people get used to collect and access from the network information resources they need, so many digital

5、 library has become the essential work and life. The digital library for information dissemination has become a major battlefield in the transit hub for the dissemination of information plays a role, their level of development more directly reflects the level of an information society.Library constr

6、uction related sites is the digital library information resources, an important manifestation of network, but also closely related with the construction of digital libraries. Therefore, construction of major library should establish a level of information on behalf of their own portal to provide use

7、rs with more high-quality, convenient, and efficient service. Library portal is not only the external image of the service platform and work bases, but it is also the entrance to the digital resources. It is a virtual library of the front door, to provide readers with a rich browser-based Web user i

8、nterface, in this useAs information technology and the rapid development of network technology, the network has gradually infiltrated into peoples daily lives, the traditional library service model business processes and the impact of suffering the more intense, people get used to collect and access

9、 from the network information resources they need, so many digital library has become the essential work and life. The digital library for information dissemination has become a major battlefield in the transit hub for the dissemination of information plays a role, their level of development more di

10、rectly reflects the level of an information society.Keyword:SQL2005 database, web design, Web site development, JSP Web Programming目 錄摘 要. 1第一章 前 言. 51.1 基于B/S結(jié)構(gòu)Web應用系統(tǒng)的開發(fā)背景. 51.2 中華圖書館門戶網(wǎng)站建立的背景.6 開發(fā)技術以及開發(fā)環(huán)境.7 開發(fā)技術. 7 JSP運行環(huán)境建立 . 7第二章 工程規(guī)劃及開發(fā)技術簡介. 102.1 工程總體規(guī)劃. 102.2 JSP技術標準簡介. 102.3 Struts框架的MVC機制簡

11、介. 11 SQL Server 2005簡介. 12第三章 系統(tǒng)分析. 13 需求分析. 133.2 數(shù)據(jù)庫E-R關系圖. 143.3 系統(tǒng)功能模塊. 153.4 網(wǎng)站詳細功能. 16四、系統(tǒng)詳細設計與實現(xiàn). 18概念設計. 18程序設計. 20 公共函數(shù). 20 客戶端. 21 .1 CSS 層疊樣式表. 21 .2 struts標簽. 21 .3 JSP代碼證. 22 數(shù)據(jù)持久層. 22 表現(xiàn)層. 23 . 23 .2 actionform表單組件. 25 .3 action處理器. 28 .4 service數(shù)據(jù)庫函數(shù). 28 技術難點. 304.3 系統(tǒng)主要界面設計. 31五、系統(tǒng)功

12、能測試. 3351測試方法. 3352測試舉例. 33六、總 結(jié).36參考文獻. 37致謝. 38第一章 前言 自從20世紀電腦問世以來,計算機技術或者后期衍生出的網(wǎng)絡通信技術軟件應用技術,就以不可思議的速度深入到各個研究領域??v觀計算機的開展史我們不難看出,其興起作為一門單獨的學科時間并不長,但是其推陳出新的速度卻是嘆為觀止,無論是在研究領域還是在民眾推廣上計算機及其相關的應用的時間段是越來越短,而技術種類涉及細節(jié)卻是越來越精細完善。時至今日,我們已經(jīng)能將麻煩的數(shù)據(jù)計算當做遙遠的歷史,而要面對的卻是在形形色色的計算機技術中選擇最有效最便捷的方式到達應用的目的。 在進行web應用開放的過程中,

13、如何切實的選擇開發(fā)技術,如何恰當?shù)倪x擇開發(fā)理念與整個工程的開發(fā)息息相關,而正確的選擇必須要把握以下幾點: web應用開發(fā)工程的具體大小,計算投資本錢。 web工程的要求,確定技術支持。 具體的市場調(diào)研,確定工程的規(guī)劃方向。1.1 基于B/S結(jié)構(gòu)Web應用系統(tǒng)的開發(fā)背景B/SBrowser/Server結(jié)構(gòu)即瀏覽器和效勞器結(jié)構(gòu),它隨著Internet技術興起,是對C/S結(jié)構(gòu)的一種變化或者改良的結(jié)構(gòu)。在這種結(jié)構(gòu)下,用戶工作界面是通過WWW瀏覽器來實現(xiàn),極少局部事物邏輯在前段Browser實現(xiàn),但是主要事物邏輯在效勞器端Server實現(xiàn),形成所謂三層3-tier結(jié)構(gòu)。這樣就大大簡化了客戶端電腦載荷,

14、減輕了系統(tǒng)維護和升級的本錢和工作量,降低了用戶的總體本錢TCO。以目前的技術看,局域網(wǎng)簡歷B/S結(jié)構(gòu)的網(wǎng)絡應用,并通過Internet/intranet模式下數(shù)據(jù)庫應用,相對易于把握本錢也比擬低。它是一次性到位的開發(fā),能實現(xiàn)不同的人員從不同的地點以不同的接入方式訪問和操作共同的數(shù)據(jù)庫;它能有效的保護數(shù)據(jù)平臺和管理訪問權限,效勞器數(shù)據(jù)庫也很平安,特別是在java這樣的跨平臺語言出現(xiàn)之后,其架構(gòu)管理軟件更是方便、快捷、高效。相對于B/S結(jié)構(gòu),另一種使用廣泛的結(jié)構(gòu)被稱為C/Sclient/Server,即大家所熟知的客戶端/效勞器結(jié)構(gòu)。通過它可以充分利用兩端硬件環(huán)境的優(yōu)勢,將任務合理分配到Clien

15、t端和Server端來實現(xiàn),降低了系統(tǒng)的通訊開銷。目前大多數(shù)應用軟件系統(tǒng)都Client/Server形式的兩層結(jié)構(gòu),由于現(xiàn)在的軟件應用系統(tǒng)正在向分布式的Web應用開展,Web應用和 Client/Server應用都可以進行同樣的業(yè)務處理,運用不同的模塊共享邏輯組件;因此,內(nèi)部的和外部的用戶都可以訪問新的和現(xiàn)有的應用系統(tǒng),通過現(xiàn)有應用系統(tǒng)中的邏輯可以擴展出新的應用系統(tǒng)。這也就是目前應用系統(tǒng)的開展方向。兩種結(jié)構(gòu)相比擬,C/S具有應用效勞器運行數(shù)據(jù)負荷較輕,數(shù)據(jù)庫操作透明的優(yōu)點,但是C/S的高昂的維護本錢和投資也成為其劣勢。而B/S具有本錢低,維護方便升級方便的優(yōu)點,相較于C/S盡管其劣勢也就在于效

16、勞器的運行數(shù)據(jù)負荷較重。本次設計的重點在于WEB應用系統(tǒng),側(cè)重點在于低本錢,高效維護的系統(tǒng)設計,而且綜觀真?zhèn)€系統(tǒng)的需求以及未來開展預期,選著B/S結(jié)構(gòu)將大大滿足設計的需求論點。 1.2 中華圖書館門戶網(wǎng)站建立的背景在前面講到在WEB應用中使用比重比擬大的B/S系統(tǒng)開發(fā)結(jié)構(gòu),該結(jié)構(gòu)除了其本錢低維護升級方面的優(yōu)點之外,還具有網(wǎng)絡軟硬件環(huán)境要求低面向人群廣的優(yōu)點,這也是切合本次設計主題的要點。在全民加速文化水平提高的今天,文化的信息化也成為舉足輕重的一個方面。在我們的綜合調(diào)查中發(fā)現(xiàn),各個地方的圖書館或者文化單位都已經(jīng)有成熟的信息體系結(jié)構(gòu),無論是系統(tǒng)化的管理或者對外的網(wǎng)絡信息開放。而本次的設計我們的側(cè)

17、重點也是面向非特定人群,網(wǎng)絡軟硬環(huán)境要求低,也就是WWW瀏覽器即可支持的應用系統(tǒng)。除了以上根本的系統(tǒng)構(gòu)建架構(gòu)選擇,圖書館門戶網(wǎng)站的開發(fā)還要具有以下的特點:及時豐富的動態(tài)信息發(fā)布。最新最全的文化信息或者活動信息,都能使得網(wǎng)站成為關注的焦點。必要的專業(yè)的導航將成為人群使用的首選。Internet的開展是伴隨著信息的快速交換要求而誕生的,而各類WEB應用系統(tǒng)就是隨著無特定對象的信息發(fā)布的要求而誕生的。圖書館的門戶網(wǎng)站那么是應文化信息的廣泛發(fā)布要求以及用戶對象不特定的要求而誕生的,面對過往的同類網(wǎng)站的結(jié)構(gòu)單一,用戶群體對象單一的缺陷,運用新的技術支持,開發(fā)全面性能高的網(wǎng)站也成了趨勢。 開發(fā)技術以及開發(fā)

18、環(huán)境開發(fā)技術及環(huán)境總論:Web技術開展到今天已經(jīng)形成了一系列獨具特色的語言或者說程序組織架構(gòu),通常web應用系統(tǒng)的開發(fā)就是通過前端管理一個或大或小或獨立或分布的關系型數(shù)據(jù)庫。而通常所說的web架構(gòu),是指web應用開發(fā)中每種技術獨有的資源組織形式包括文件,數(shù)據(jù)庫, 請求處理等,web架構(gòu)通??梢苑譃槿悾?(一) 基于“WEB頁面/文件,例如CGI和PHP/ASP程序。程序的文件分別 HYPERLINK :/ enet /solution/ t _blank 存儲在不同的目錄里,與URL相對應。當 請求提交至 HYPERLINK :/product.enet /price/plist70.sht

19、ml t _blank 效勞器時,URL直接指向某個文件,然后由該文件來處理請求,并返回響應結(jié)果。 (二) 基于“動作(Action)。這是MVC架構(gòu)的WEB程序所采用的最常見的方式。目前主流的WEB框架像Struts、 Webwork(Java),Ruby on Rails(Ruby),Zend Framework(PHP)等都采用這種設計。URL映射到控制器(controller)和控制器中的動作(action),由action來處理請 求并輸出響應結(jié)果。這種設計和上面的基于文件的方式一樣,都是請求/響應驅(qū)動的方案,離不開 。(三) 基于“組件Component ,GUI設計也常稱控件事件

20、驅(qū)動的架構(gòu),最常見的是 HYPERLINK :/ enet /ezone/2291/index.shtml t _blank 微軟的.NET。根本思想是把程序分成很多組件,每個組件都可以觸發(fā)事件,調(diào)用特定的事件 HYPERLINK :/product.enet /price/plist20_2106.shtml t _blank 處理器來處理比方在一個HTML按鈕上設置onClick事件鏈接到一個 PHP函數(shù)。這種設計遠離 , 請求完全抽象,映射到一個事件。通過對上述三種開發(fā)理念的了解可以將流行的web應用開發(fā)技術總結(jié)為PHP,.net,JAVAEE,Ruby/RoR。1.開發(fā)技術 開發(fā)技術:

21、在對開發(fā)的技術的選擇上,按照三種開發(fā)模式的劃分,在web應用開發(fā)上選擇基于動作action的開發(fā)模式。相較于其他兩種,基于web頁面文件在應對大量模塊功能時工作量大,而基于組件component卻缺乏相應的成熟的IDE,所以在選擇上傾向于基于action。 基于action的模式開發(fā)現(xiàn)今比擬成熟的是jsp java server page,其插件式的開發(fā)模式使得開發(fā)擴展簡便,而Servlet ,javabean的使用也使開發(fā)更形象化,IDE工具的選擇上,全面的工具功能,完善的使用也成為jsp的亮點。 具體的JSP技術選擇可以分為效勞器的選擇,IDE工具的選擇,技術框架選擇。 效勞器支持:Tom

22、cat。目前能支持jsp的效勞器主要有resintomcatapacheweblogicWebSphere和JBoss。商業(yè)使用WebLogic和WebSphere,開發(fā)測試用主要就是tomcat和JBoss。隸屬于Apache的子工程Jakarta的下屬工程,是目前最流行的中小型站點應用平臺,也是最常用的JSP效勞器,而且完全免費,其版本也在不斷升級。技術支持:JSP技術。JSP技術使用Java編程語言編寫類XML的tags和scriptlets,來封裝產(chǎn)生動態(tài)網(wǎng)頁的處理邏輯。網(wǎng)頁還能通過tags和scriptlets訪問存在于效勞端的資源的應用邏輯。JSP將網(wǎng)頁邏輯與 HYPERLINK

23、:/baike.baidu /view/8972.htm t _blank 網(wǎng)頁設計和顯示別離,支持可重用的基于組件的設計,使基于Web的應用程序的開發(fā)變得迅速和容易;擴展Web效勞器,用于交互式的瀏覽和修改數(shù)據(jù),并生成動態(tài)Web內(nèi)容返回給客戶端的Servlet技術;連接數(shù)據(jù)庫進行數(shù)據(jù)存取操作的JDBC技術,該技術是一組使用Java語言編寫用于鏈接各種關系型數(shù)據(jù)庫的程序接口API。工具支持:Eclipse。Eclipse是最常用的IDE工具軟件,提供了很好的集成環(huán)境,其插件類型MyEclipse具有各類框架結(jié)構(gòu)可視統(tǒng)一的特點,簡化了設計過程中操作繁復,代碼復雜的麻煩。數(shù)據(jù)庫支持:sql ser

24、ver2005。 當前的數(shù)據(jù)庫中,主流技術有sql servermysqloracle等。 MYSQL作為開源工程不需要太大的本錢投入,而且其體積小綠色軟件的特性,方便實現(xiàn),數(shù)據(jù)導入導出方便成為選擇的必要原因,但是其純命令行的操作和可視化操作的局限性也是不能成為選擇的原因。 相較于mysql,sql server具有一體化的可視化操作界面,系統(tǒng)應用也較完善和快捷方便。在最終選擇中,由于分工的明確規(guī)劃,以及技術難點上的要求,我們最終選擇SQLserver2005作為開發(fā)的數(shù)據(jù)支持。 1.3.2.JSP運行環(huán)境的建立 運行環(huán)境:基于JSP應用開發(fā)的系統(tǒng),對硬件和操作系統(tǒng)沒有什么特別的要求,只要擁有

25、現(xiàn)在一般的配置就可以,但需要建立相應的軟件環(huán)境:JSP開發(fā)工作必須要安裝JDKJavaDevelopmentKit,一個Java開發(fā)工具包,安裝后并要配置環(huán)境變量JAVA_HOME。安裝Tomcat效勞器,并配置效勞器環(huán)境變量CATANINA_HOME。進行開發(fā)時需要安裝開發(fā)工具軟件Eclipse,并將其和Tomcat效勞器集成。通過以上步驟對環(huán)境變量的設置及搭建,JSP的運行和集成開發(fā)環(huán)境就搭建好了。第二章 工程規(guī)劃及開發(fā)技術簡介在進行web的實際應用開發(fā)中,必要的市場調(diào)研確定開發(fā)方向,再從開發(fā)方向入手確定開發(fā)方式,再由具體的規(guī)劃確定開發(fā)的具體要求,這是一個循序漸進的過程。在前面的問題解析中

26、,我們通過對現(xiàn)有的技術根底市場根底確定了大致的方向方法,而具體的開發(fā)細節(jié)工程規(guī)劃那么需要更深入的探討,以及做出更深入的選擇。2.1 ?中華圖書館?工程總體規(guī)劃中華圖書館網(wǎng)站的總體設計目標是為圖書館提供另外一種宣傳自己的方式,為讀者提供一個通過網(wǎng)絡獲取信息和交流的平臺。圖書館可以通過這個網(wǎng)站發(fā)布自己的最新活動訊息,而讀者可以在網(wǎng)站上瀏覽到有關圖書館的各方面信息,查詢館藏書籍信息和留言咨詢,到達與圖書館網(wǎng)站管理人員交流。為了滿足上面提出的功能需求,圖書館網(wǎng)站設計需要根據(jù)不同的使用者到達以下目標:1、對一般網(wǎng)站游客:可以瀏覽網(wǎng)站導航下的所有頁面信息,游客可以通過注冊成為網(wǎng)站用戶。2、對網(wǎng)站用戶:除了

27、具有游客的所有權限外,還可以在網(wǎng)站上留言咨詢3、對網(wǎng)站管理員:管理員通過登錄進入后臺管理系統(tǒng),對網(wǎng)站所有的欄目、供讀者檢索的圖書以及用戶的留言進行管理。后臺管理中的刪除操作為邏輯刪除,非物理刪除。4、對操作的成功或失敗要給出信息提示。5、信息的及時發(fā)布與更改:各類文化信息活動信息的發(fā)布更改,做到網(wǎng)站信息發(fā)布快,新,準的特點。6、面對非特定用戶人群:軟硬環(huán)境要求低,即通過萬維網(wǎng)瀏覽器即可進行操作,管理員操作也同是如此;功能不同,用戶需求不同,最大程度的表達在網(wǎng)站的明顯地方,不能有導航復雜,功能缺失的現(xiàn)象。 JSP技術標準簡介JSP即Java Server Pages技術,是由Sun Micros

28、ystems公司倡導,許多公司參與建立的一種動態(tài)網(wǎng)頁技術標準,也是目前最流行的Web開發(fā)技術之一。相對于傳統(tǒng)的網(wǎng)頁制作技術和當今其他比擬常用的如ASP、PHP技術而言,JSP有其獨特的優(yōu)勢。JSP有如下5個優(yōu)點:將內(nèi)容的生成和顯示進行別離生成可重用的組件JavaBean或Enterprise JavaBeanTM組件采用標識簡化頁面開發(fā),使開發(fā)變得容易以強大的JavaAPI為后盾,擁有健壯的存儲管理和平安性,功能十分強大JSP技術以Java語言為根底,因此具有平臺無關性JSP的內(nèi)置對象有request對象session對象response對象application對象out對象exceptio

29、n對象等。Request對象封裝用戶提交的信息,通過調(diào)用該對象的方法即可使用用戶的提交信息;response對象負責對用戶的請求做出響應,向客戶端發(fā)送數(shù)據(jù);session對象也稱會話對象,負責從請求建立到斷開連接這段時間的會話管理,具有有效期;out對象用于向客戶端輸出數(shù)據(jù),并用于各種數(shù)據(jù)的輸出。JSP表達了當今最先進的網(wǎng)站開發(fā)思想,可以開發(fā)任何基于Web的軟件系統(tǒng)。2.3 Struts框架的MVC機制簡介隨著JSP應用復雜程度的加深和應用范圍的擴大,傳統(tǒng)的JSP、JavaBean設計模式開始出現(xiàn)越來越多的弊端。為了更好的提高開發(fā)效率,廣闊的開發(fā)人員嘗試著將現(xiàn)有的Web開發(fā)技術進行整合形成一個

30、文正的應用模型,而MVC是眾多框架設計理念中最優(yōu)秀、最實用的一種設計模式?;贛VC設計模式的框架技術能夠有效的實現(xiàn)業(yè)務邏輯與顯示邏輯的別離,提高了系統(tǒng)的可維護性。MVC具有3個優(yōu)點:利于分工部署;降低耦合,提高可維護性;提高程序的重用性。Struts框架良好的實現(xiàn)了MVC設計模式,它將應用邏輯、處理過程和顯示邏輯由不同組件來實現(xiàn),利用ActionForm Bean來傳遞View組件和Controller組件之間的表單數(shù)據(jù)。Struts實現(xiàn)重點在Controller-ActionServlet統(tǒng)一管理整個工作流程,這樣就可以完全將事務處理層和表示層別離。中,當控制器接受到一個客戶端發(fā)送的Req

31、uest請求時,它會根據(jù)配置文件中預先配置好的信息來選擇適宜的Action對象來出來請求,或直接選擇適宜的View對象直接返回給瀏覽器。以下是Struts的工作原理圖:2.4 SQL Server 2005簡介SQL Server 2005是基于客戶機/效勞器C/S體系結(jié)構(gòu)的關系型數(shù)據(jù)庫管理系統(tǒng),也是目前最常用的版本。SQL Server 2005支持幾乎各種類型的客戶應用程序,而它自帶的圖形化管理工具讓管理效勞器和使用變得非常容易。SQL Server 2005除了支持合并復制這種新的數(shù)據(jù)復制方法外,還具有以下四個特點:SQL Server 2005支持分布式事務處理。SQL Server

32、2005在處理大量數(shù)據(jù)方面做了許多改良,使其在管理大型數(shù)據(jù)倉庫方面相當完美。SQL Server 2005將OLAP在線分析處理工具效勞內(nèi)建于效勞器中,降低了數(shù)據(jù)庫本身的花費。SQL Server 2005在硬件、軟件、客戶許可證、管理費用、開發(fā)所需費用方面均比市場上其他RDBMS要低。這些特性擴展了SQL Server 2005作為一種具有豐富開發(fā)環(huán)境的高性能相關數(shù)據(jù)庫系統(tǒng)的能力。 JSP操作SQLServer時所用的驅(qū)動為:連接的url為:Jdbc:Microsoft.sqlserver:/localhost:1433;DatabaseName=library 第三章 系統(tǒng)分析在進行了必要

33、的市場調(diào)查過后,對設計的具體要求,具體的客戶需求進行了細致的分析,無論是系統(tǒng)的功能設計還是后臺數(shù)據(jù)庫的數(shù)據(jù)支持設計,盡量能最好的迎合開發(fā)。在分析中,使用軟件工程的方法,將事件對象化,過程對象化,以期到達理想的目的。3.1 需求分析需求分析是開發(fā)管理信息系統(tǒng)的關鍵性階段,是一個從不斷認識和逐步細化的過程,是下一階段的工作根底,是為下一階段進行物理方案設計、為解決“怎么做提供依據(jù),其關鍵性主要表達在“理解需求和“表達需求兩方面。注冊用戶普通用戶管理員登錄留言書評查看公告查看新書管理新書管理導航管理留言管理公告管理公共信息在整個圖書網(wǎng)站中,確定的主動參與者是“網(wǎng)站管理員與“普通用戶,普通用戶享有瀏覽

34、網(wǎng)站根本功能的權限,注冊成為注冊用戶后可進行書評和留言;管理員主要負責網(wǎng)站信息的更新,這里的信息主要設計公告,通知,圖書信息發(fā)布,留言回復刪除更新等等。具體的用例圖如下: 用例圖3.2數(shù)據(jù)庫E-R關系圖根據(jù)以上的分析,該系統(tǒng)有以下幾個實體:用戶分為網(wǎng)站用戶和系統(tǒng)管理員、公告通知、網(wǎng)站文章、書籍、留言,各實體之間也存在一定的聯(lián)系。本系統(tǒng)數(shù)據(jù)庫的ER圖如下所示。所有實體或是關系的詳細字段和關鍵字,在后面的數(shù)據(jù)庫詳細設計中將會進行詳細的闡述。普通用戶注冊用戶管理員注冊留言管理公告管理導航管理公共信息管理圖書信息管理T-userT-messageT-navigateT-informT-informat

35、iont-book通過以上的分析,可以做出設計的數(shù)據(jù)流圖:矩形框代表交互雙方,橢圓代表處理方法,雙杠表示數(shù)據(jù)存儲 3.3系統(tǒng)功能模塊該網(wǎng)站管理系統(tǒng)運用SQL Server 2005數(shù)據(jù)庫作為網(wǎng)站根本信息的存儲,而前臺頁面具采用JSP語言開發(fā)結(jié)合Web動態(tài)網(wǎng)站開發(fā)技術,動態(tài)生成Web網(wǎng)頁內(nèi)容,減少了網(wǎng)頁數(shù)量,并提高了網(wǎng)站的可維護性。其工作流程為:讀者通過個人電腦上的IE瀏覽器進行網(wǎng)站訪問,游客可以瀏覽整個網(wǎng)站信息和檢索相關圖書;用戶登錄通過權限判斷,網(wǎng)站用戶登錄之后除了可以瀏覽整個網(wǎng)站信息、檢索圖書外,還可以進行留言咨詢,網(wǎng)站管理員可以進入后臺管理系統(tǒng)對網(wǎng)站的所有模塊進行管理操作,如對網(wǎng)站公共信

36、息的添加、修改和刪除,對圖書信息進行管理,查看和回復讀者留言等。以下是網(wǎng)站系統(tǒng)的功能模塊圖系統(tǒng)的主要功能描述:(1)網(wǎng)站系統(tǒng)注冊、登錄表單該表單的功能是在讀者在瀏覽網(wǎng)站信息時需要留言咨詢,必須先注冊成為網(wǎng)站用戶,然后進行登錄,而系統(tǒng)那么要對進入的用戶進行平安性檢查,防止非法用戶破壞系統(tǒng)數(shù)據(jù)及威脅系統(tǒng)平安,防止不必要的損失。只有合法的用戶在輸入正確的密碼前方可登錄留言。(2)圖書檢索功能讀者可以通過訪問網(wǎng)站,然后進入圖書查詢頁面輸入某本圖書的一條相關信息即可檢索到該書的索書號等信息,而點擊網(wǎng)站的檢索按鈕還可以進入到圖書信息列表,查看數(shù)據(jù)庫中所有圖書的相關信息。(3)網(wǎng)站后臺管理網(wǎng)站管理員可以前臺

37、頁面的登錄框登錄進入到后臺管理系統(tǒng)。管理員可以在后臺發(fā)布最新的活動信息,添加相關欄目文章,管理圖書和讀者留言,如添加新的圖書、修改原有圖書信息、刪除過時書籍、回復讀者留言、刪除留言等。以上的刪除操作均為邏輯刪除,非物理刪除。3.4系統(tǒng)網(wǎng)站詳細功能根據(jù)以上的功能分析和描述,網(wǎng)站的具體操作流程圖如下:網(wǎng)站導航圖通過對現(xiàn)行各圖書館網(wǎng)站的詳細調(diào)研,結(jié)合中華圖書館的實際工作需要,整個網(wǎng)站的功能模塊及結(jié)構(gòu)劃分如下:一、首頁:公告欄、中圖簡介、友情鏈接等板塊二、中圖概況:中圖簡介機構(gòu)設置中圖大事記館藏精品 主要介紹中圖書館的具體情況,作為圖書館的簡介使用三、中圖動態(tài):中圖簡訊活動通知最新的圖書館文化活動通知

38、發(fā)布四、效勞指南 : 作為圖書館的導航中必不可少的局部,涉及管類必要的守那么規(guī)章制度:入館須知、開館時間借閱須知辦證須知館內(nèi)布局到館路線中圖分類法簡介五、書目查詢:一個站內(nèi)書目檢索引擎,讀者可以根據(jù)書名、作者、出版社、索書號、中圖分類號來檢索到需要的圖書信息六、讀者空間:活動簡訊新書推介好書分享讀者交流少兒天地七、特色資源:特色文獻物質(zhì)文化遺產(chǎn)非物質(zhì)文化遺產(chǎn)中華歷史旅游資源八、留言板:讀者注冊讀者登錄讀者查看留言、添加新留言 第四章 系統(tǒng)詳細設計 系統(tǒng)的詳細設計涉及到具體的數(shù)據(jù)持久層設計,后臺程序的設計規(guī)劃,以及前臺頁面的具體規(guī)劃。合理的規(guī)劃細致的安排將會影響到系統(tǒng)的具體實現(xiàn),同樣也代表了設計

39、者的設計理念,這里用具體的有代表性的實例來逐一說明設計過程中的細節(jié)。概念設計 在前面的系統(tǒng)需求分析中,我們已經(jīng)將數(shù)據(jù)層的具體設計形象概括了,這里將對數(shù)據(jù)庫的具體信息設計做規(guī)劃和演示,也就是數(shù)據(jù)架構(gòu)的設計,主要表達在以下幾張數(shù)據(jù)表中。1用戶信息表:T_userid,username,password,role用于存放網(wǎng)站系統(tǒng)用戶信息字段字段名類型字段大小Nulls字段說明1idint4否用戶編號2usernamechar10否用戶姓名3passwordchar10否登錄密碼4roleint4否用戶權限注:其中id為主鍵,用戶權限“0表示系統(tǒng)管理員,“1表示注冊用戶。在系統(tǒng)的具體實現(xiàn)中并未實現(xiàn)用戶

40、的管理,用戶權限的識別是通過用戶角色的不同來進行識別的。2公共信息表:T_navigateid,rank,title,content,fathrid,isend用于存放網(wǎng)站導航以及公共信息字段字段名類型字段大小Nulls字段說明1idint4否記錄編號2rankint4欄目級別3titlenvarchar20題目4contentnvarchar4000內(nèi)容5fatheridint4父欄目編號6isendint4是否有子欄目注:其中id為主鍵,是否有子欄目“0表示有,“1表示沒有。公共信息中的重要局部表達在管理員添加公共信息中,具體的信息經(jīng)過分類過后才存進數(shù)據(jù)庫中的,不同類別的信息需要使用父欄或

41、子欄標識,通過這種方式到達對大量信息的分門別類。3圖書信息表:T_bookid,title,author,press,category,ztnumber,asknumber,information,price用于存放圖書信息字段字段名類型字段大小Nulls字段說明1idint4否記錄編號2titlenvarchar50書名3authornvarchar50作者4pressnvarchar50出版社5categoryvarchar10類別6ztnumbervarchar20中圖分類號7asknumbervarchar20索書號8informationnvarchar200圖書簡介9pricemo

42、ney8價格 注:其中id為主鍵。圖書信息主要為發(fā)布使用,所以與其他圖書館管理時的信息相比,注重發(fā)布的細節(jié),管理員在添加時也比擬注重說明的細節(jié)。4公告信息表:T_informid,title,content,itime用于存放通知公告的信息字段字段名類型字段大小Nulls字段說明1idint4否記錄編號2titlenvarchar100通知題目3contentnvarchar3000通知內(nèi)容4itimenvarchar50添加時間 注:其中id是主鍵。該表也是供管理員使用,用于添加公告信息,顯示在導航欄的公告信息區(qū)域內(nèi),操作由管理員實現(xiàn)。5留言表:T_messageid,title,conte

43、nt,byuser,upid,downid,sign用于存放留言字段字段名數(shù)據(jù)類型字段大小Nulls字段說明1idint4否記錄編號2titlenvarchar50留言標題3contentnvarchar4000留言內(nèi)容4byuserint4否用戶編號5upidint4否前條記錄編號6downidint4否用戶權限7signint4否留言狀態(tài)注:其中id是主鍵,該表涉及普通用戶和管理員,用戶發(fā)布信息查看信息,管理員管理信息并有回復信息的權利。42 系統(tǒng)程序設計 系統(tǒng)的程序設計一般分為客戶端和效勞器端,客戶端即用戶可見的也就是根本的網(wǎng)頁布局腳本語言等,效勞器端包括效勞器端的驗證函數(shù)或者數(shù)據(jù)庫連接

44、操作等等。在本節(jié)中將分三個局部來講解,并對各種情況例出實例講解。 公共函數(shù) 公共函數(shù)主要使用在數(shù)據(jù)處理局部或者公共請求局部,在本次設計中公共函數(shù)主要使用在數(shù)據(jù)庫數(shù)據(jù)調(diào)出的過程中將數(shù)據(jù)分類或者分頁和數(shù)據(jù)庫的連接調(diào)用。為了使說明文檔條理清晰也幫助理解將數(shù)據(jù)庫連接局部與效勞器端程序結(jié)合講解說明,而這里主要講解數(shù)據(jù)輸出使用的分頁函數(shù)和字符設置。 字符設置CharSetFilter接口,以實現(xiàn)對輸入輸出字符的規(guī)格化,具體代碼如下:public class CharSetFilter implements Filter public void destroy() public void doFilter(

45、ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException request.setCharacterEncoding(GBK); chain.doFilter(request, response);public void init(FilterConfig arg0) throws ServletException 分頁函數(shù)paging.java,存儲路徑為com mon,該類調(diào)用數(shù)據(jù)庫中的查詢語句,查詢數(shù)據(jù)條目總數(shù),返回記錄數(shù)總數(shù)頁碼。具體代

46、碼如下:public class Paging int count;int totalpage;int pagesize=3;public Paging(String sql) throws SQLExceptionJdbcBaseDaoImpl jdbcBaseDaoImpl=new JdbcBaseDaoImpl();count=jdbcBaseDaoImpl.queryCount(sql);totalpage=(count+pagesize-1)/pagesize;public int getTotalpage() return totalpage;public int getCount

47、() return count;public int getPagesize() return pagesize; 客戶端設計 客戶端程序主要是指顯示的頁面設計,也就是用戶可見的設計,其中不僅僅是具體顯示的HTML或者XHTML語言腳本,在使用動態(tài)網(wǎng)頁標準設計中就參加了嵌入HTML的java script語言腳本,還有css表單文件等等。 在本次設計中客戶端程序的設計主要設計三個方面,第一,網(wǎng)頁布置,在這里主要是指CSS表單及調(diào)用;第二,后臺使用到struts架構(gòu),故前臺程序設計使用到struts標簽;第三,java script程序語言的使用,主要使用在頁面調(diào)用以及表單提交驗證等。.1 CS

48、S層疊樣式表 S一般來說,CSS鏈接到網(wǎng)頁中有三種方式,鏈入外部樣式表文件 (Linking to a Style Sheet),也就是使用HTML的link對象進行鏈接;定義內(nèi)部樣式塊對象Embedding a style block,使用.標簽;內(nèi)聯(lián)定義linning style。 在設計中,采用鏈入外部樣式表文件,即先編寫CSS文件使用LINK對象進行鏈接。具體執(zhí)行代碼例舉如下:IR.2 STRUTS標簽STRUTS也稱表現(xiàn)層架構(gòu),形象的來說就是負責用戶的操作與后臺程序交互。在效勞器端程序講解過程中我們將講到FORMBEAN的使用,而這正是與客戶端用戶可見的表單對應的,STRUTS將兩者

49、聯(lián)系起來就使用到了struts獨有的標簽對象,例如表單標簽,按鈕標簽等。在這里主要使用就是與頁面表單提交相關的表單標簽。H讀者空間|特色資源|留言板 /留言板的標簽中參加了動作,點擊留言板時將會根據(jù)stuts-config.xml的mapping查找對應的處理器。留言板.3 jsp代碼驗證 Java script主要嵌入HTMl中作必要的函數(shù)演算,而這里主要集中在表單輸入內(nèi)容是否合理的檢測上,具體的實例如下:Hfunction checkhead()if (document.forms0.username.value=)window.alert (請輸入用戶名!)/form.username.

50、focus()return false;if (document.forms0.password.value=)window.alert (請輸入密碼!)/form.password.focus()return false; 數(shù)據(jù)持久層dao(data access object)1保存數(shù)據(jù)源連接driverclass username password url private String userName = root;private String password = 19890927;private String driverClass = com.mysql.jdbc.Driver;

51、private String url = jdbc:mysql:/localhost:3306/demo?useUnicode=true&characterEncoding=utf-8;2構(gòu)造函數(shù)JdbcBaseDaoImpl()取得數(shù)據(jù)庫連接3數(shù)據(jù)庫操作函數(shù):getconncetion() 實現(xiàn)構(gòu)造函數(shù)JdbcBaseDaoImpl,返回conn,取得數(shù)據(jù)庫連接。delete(String sql) 調(diào)用Sava方法,執(zhí)行修改方法,實現(xiàn)邏輯刪除,既不現(xiàn)實非物理刪除。Querycount(String sqk)執(zhí)行靜態(tài)的SQL語句,調(diào)用Statement接口的executeQuery(Stri

52、ng sql)方法執(zhí)行查詢query操作,返回記錄數(shù)。query(String sql)執(zhí)行靜態(tài)的SQL語句,調(diào)用Statement接口的executeQuery(String sql)方法執(zhí)行查詢query操作,返回結(jié)果集。 save(String sql)執(zhí)行靜態(tài)的SQL語句,調(diào)用Statement接口的executeUpdate(String sql)方法執(zhí)行修改update操作,判斷Statement對象s是否為空,關閉對象,該函數(shù)被delete調(diào)用以實現(xiàn)邏輯刪除。update(String sql) 執(zhí)行靜態(tài)的SQL語句,調(diào)用Statement接口的executeUpdate(Str

53、ing sql)方法執(zhí)行修改update操作,判斷Statement對象s是否為空,關閉對象。 close() 判斷conn是否為空,也就是判斷是否取得數(shù)據(jù)庫連接,如果不為空執(zhí)行conn.close方法,關閉數(shù)據(jù)庫連接。4.2.4表現(xiàn)層4.2.41配置ActionForm: 標簽申明使用的bean。例如,登錄的actionform,loginform。 2配置映射關系 映射關系表示對應的jsp表單提交與action的對應關系,之間有配置文件中申明的forward動作指明。映射關系由指明。 /動作名和跳轉(zhuǎn)頁面名 ActionForm表單組件實現(xiàn)此功能組件如下,保存于com.form包下實現(xiàn)功能如

54、下:1屬性定義 表單組件的屬性與頁面表單的每個輸入對象對應,且名稱相同,大小寫敏感。 如:1、BookForm中定義圖書屬性如下:String title; 書名String author; 作者String press; 出版社String category; 類別String ztnumber; 中國圖書分類號String asknumber; 圖書檢索號String information; 說明String price; 價格對應于圖書的JSP表單2、InformForm中定義信息的屬性如下:private String title; 通知公告標題private String cont

55、ent; 添加內(nèi)容private String itime; 添加時間 對應于信息的JSP表單3、LoginForm中定義用戶登錄信息的屬性如下:private String username; 用戶名 private String password; 密碼對應于用戶登錄的JSP表單4、RegisterForm中定義用戶注冊信息的屬性如下:private String password;private String username;private String passwordrepeat;對應于用戶注冊信息的屬性如下2編寫setter/getter方法 ActionForm是與一個或多個A

56、ctionConfig關聯(lián)的JavaBean,在相應的Action類的execute方法被調(diào)用之前,ActionForm會自動利用請求參數(shù)來填充自己即初始化屬性,這就需要為每一個屬性添加一個setter方法。 同樣地。填充了屬性之后,要取得屬性就需要定義getter方法。RegisterForm中定義如下:public String getPassword() return password;public void setPassword(String password) this.password = password;public String getUsername() return u

57、sername;public void setUsername(String username) this.username = username;public String getPasswordrepeat() return passwordrepeat;public void setPasswordrepeat(String passwordrepeat) this.passwordrepeat = passwordrepeat;3編寫重置方法ActionForm Bean 的生命周期可以設置為session或request,當設置為session是,需在reset方法中將所有的屬性重新

58、設置為初始值。 RegisterForm中定義如下:public void reset(ActionMapping mapping, ServletRequest request) 4編寫驗證方法 ActionForm初始化完成后,validate方法被調(diào)用,使用該方法進行數(shù)據(jù)的正確性和有效性驗證,同時將錯誤信息以ActionErrors的形式返回輸入窗體。RegisterForm中定義ActionErrors如下:public ActionErrors validate(ActionMapping mapping, ServletRequest request) return null; A

59、ction處理器在以上的Java程序中,為完成一組業(yè)務操作,所以采用可自動分發(fā)的DispatchAction 1在元素中添加paremeter,用來指定函數(shù)的入口參數(shù),例如添加圖書信息的struts設置:2在Action類中新建參數(shù)值對應的函數(shù)。 例如:BookAction中實現(xiàn)如下一組函數(shù): 1、添加圖書public ActionForward addBook(ActionMapping mapping, ActionForm form, ServletRequest request, ServletResponse response)2、查詢所有圖書public ActionForward

60、 queryAllBook(ActionMapping mapping, ActionForm form, ServletRequest request, ServletResponse response)3、修改圖書public ActionForward updateBook(ActionMapping mapping, ActionForm form, ServletRequest request, ServletResponse response)4、刪除圖書public ActionForward deleteBook(ActionMapping mapping, ActionFor

溫馨提示

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

評論

0/150

提交評論