




已閱讀5頁,還剩14頁未讀, 繼續(xù)免費閱讀
版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
重慶郵電大學本科畢業(yè)設計(論文)畢業(yè)論文 jsp綜合新聞發(fā)布系統(tǒng)畢業(yè)論文目 錄第一章 緒 論11.1 課題意義11.2 課題背景11.3開發(fā)工具的選用及介紹11.3.1 JSP的優(yōu)勢21.3.2 JSP的特點2第二章 基礎知識42.1 JSP 技術42.1.1 JSP訪問數(shù)據(jù)庫的原理42.1.2 JSP頁面的結構:42.1.3 JSP的運行環(huán)境62.1.4 JSP的內(nèi)建對象72.1.5 JSP的主要內(nèi)置組件:72.2 Database Access組件ADO82.3 ACCESS 2003 技術簡介8第三章 需求分析103.1 市場需求分析103.2 任務目標113.2.1新聞發(fā)布系統(tǒng)的特點113.2.2 對性能的規(guī)定113.2.3 數(shù)據(jù)管理能力要求113.2.4 應用目標113.3 運行環(huán)境12第四章 系統(tǒng)設計134.1 模塊設計134.2 系統(tǒng)流程分析134.3 數(shù)據(jù)庫的分析及設計134.3.1 數(shù)據(jù)庫的搭建134.3.2 本系統(tǒng)用到的數(shù)據(jù)表19第五章 詳細設計與實現(xiàn)255.1 前臺顯示255.2 后臺新聞管理255.2.1系統(tǒng)管理275.2.2版面管理315.2.3新聞管理325.2.4 用戶管理34第六章 部分編碼實現(xiàn)36第七章 總結60致 謝61參考文獻62附 錄632第一章 緒 論1.1 課題意義每個學校都有自己的一套獨特的教學資源,但卻缺少一個功能完備的平臺來存放,簡單的校園網(wǎng)的建設已不能滿足學校資源精細存放的需求。所以設計一個新聞發(fā)布系統(tǒng),為學校提供了一個功能強大的資源共享平臺是很有必要的。這樣的一個新聞發(fā)布系統(tǒng)可以將雜亂無章的信息(包括文字、圖片和影音)經(jīng)過組織,合理而且有序地呈現(xiàn)在大家面前。簡單的說,新聞發(fā)布系統(tǒng)就是充當一個網(wǎng)絡新聞媒介的功能。主要實現(xiàn)對新聞的分類,審核,發(fā)布,模擬了一般新聞媒介的發(fā)布的過程,因為可以動態(tài)發(fā)布新聞信息,所以使得對信息的管理更加及時、高效,提高了工作效率。同時也可以為學生提供大量的系統(tǒng)整理的學習資源,學生不需到外網(wǎng),僅在校園網(wǎng)上就能找到自己所需大量學習資料,有效的避免了外網(wǎng)對校園環(huán)境的污染,為學生提供一個安全而純凈的網(wǎng)上學習環(huán)境。1.2 課題背景隨著信息時代的高速發(fā)展,傳統(tǒng)的報紙雜志已經(jīng)遠遠滿足不了人們的需求,人們更加希望于能夠在網(wǎng)上了解更多的新聞和信息,于是我們就很有必要在網(wǎng)上創(chuàng)建一個新聞發(fā)布管理信息系統(tǒng)了。大部分網(wǎng)站都是采用靜態(tài)的方式來發(fā)布和管理信息的,可是網(wǎng)站需要更新的信息量也越來越大,所以這很不利于網(wǎng)站管理人員的工作。為了更加方便的管理網(wǎng)站,于是我們就很迫切的需要利用動態(tài)技術創(chuàng)建一個新聞發(fā)布管理信息系統(tǒng)了。1.3開發(fā)工具的選用及介紹1.3.1 JSP的優(yōu)勢Java Server Pages:“Java動態(tài)服務器網(wǎng)頁”,一般簡稱為“JSP”,JSP是一種以Java語言為基礎的動態(tài)網(wǎng)頁技術。JSP可以應用Java下的各種包和類,并且繼承了Java以面向?qū)ο罄碚摓橹行牡脑O計架構,這些特點讓JSP可制作出功能更為多樣的動態(tài)網(wǎng)頁。1.3.2 JSP的特點JSP 是Sun公司推出的新一代站點開發(fā)語言,他完全解決了目前ASP,PHP的一個通病 腳本級執(zhí)行(據(jù)說PHP4 也已經(jīng)在Zend 的支持下,實現(xiàn)編譯運行).Sun 公司借助自己在Java 上的不凡造詣,將Java 從Java 應用程序 和 Java Applet 之外,又有新的碩果,就是JspJava Server Page。Jsp 可以在Serverlet和JavaBean的支持下,完成功能強大的站點 程序。但JSP代碼被編譯成 Servlet 并由 Java 虛擬機解釋執(zhí)行,這種編譯操作僅在對 JSP 頁面的第一次請求時發(fā)生。 JSP特點: 將內(nèi)容的生成和顯示進行分離 使用JSP技術,Web頁面開發(fā)人員可以使用HTML或者XML標識來設計和格式化最終頁面。使用JSP標識或者小腳本來生成頁面上的動態(tài)內(nèi)容。生成內(nèi)容的邏輯被封裝在標識JavaBeans 組件中,并且捆綁在小腳本中,所有的腳本在服務器端運行。如果核心邏輯被封裝在標識和Beans中,那么其他人,如Web管理人員和頁面設計者,能夠編輯和使用JSP頁面,而不影響內(nèi)容的生成。在服務器端,JSP引擎解釋JSP標識和小腳本,生成所請求的內(nèi)容(例如,通過訪問Java Beans組件,使用JDBCTM技術訪問數(shù)據(jù)庫,或者包含文件),并且將結果以HTML(或者XML)頁面的形式發(fā)送回瀏覽器。這有助于作者保護自己的代碼,而又保證任何基于HTML的Web瀏覽 器的完全可用性。 強調(diào)可重用的組件 絕大多數(shù)JSP頁面依賴于可重用的,跨平臺的組件(JavaBeans或者Enterprise JavaBea nsTM組件)來執(zhí)行應用程序所要求的更為復雜的處理。開發(fā)人員能夠共享和交換執(zhí)行普通操 作的組件,或者使得這些組件為更多的使用者或者客戶團體所使用?;诮M件的方法加速了 總體開發(fā)過程,并且使得各種組織在他們現(xiàn)有的技能和優(yōu)化結果的開發(fā)努力中得到平衡。 采用標識簡化頁面開發(fā) Web頁面開發(fā)人員不會都是熟悉腳本語言的編程人員。JavaServer Page技術封裝了許多功能,這些功能是在易用的、與JSP相關的XML標識中進行動態(tài)內(nèi)容生成所需要的。標準的JSP標識能夠訪問和實例化JavaBeans組件,設置或者檢索組件屬性,下載Applet,以及執(zhí)行用 其他方法更難于編碼和耗時的功能。 通過開發(fā)定制化標識庫,JSP技術是可以擴展的。今后,第三方開發(fā)人員和其他人員可以 為常用功能創(chuàng)建自己的標識庫。這使得Web頁面開發(fā)人員能夠使用熟悉的工具和如同標識一樣 的執(zhí)行特定功能的構件來工作。 JSP技術很容易整合到多種應用體系結構中,以利用現(xiàn)存的工具和技巧,并且擴展到能夠支持企業(yè)級的分布式應用。作為采用Java技術家族的一部分,以及Java 2(企業(yè)版體系結構)的一個組成部分,JSP技術能夠支持高度復雜的基于Web的應用。 由于JSP頁面的內(nèi)置腳本語言是基于Java編程語言的,而且所有的JSP頁面都被編譯成為Java Servlet,JSP頁面就具有Java技術的所有好處,包括健壯的存儲管理和安全性。 作為Java平臺的一部分,JSP擁有Java編程語言“一次編寫,各處運行”的特點。隨著越來越多的供應商將JSP支持添加到他們的產(chǎn)品中,您可以使用自己所選擇的服務器和工具,更改工具或服務器并不影響當前的應用。第二章 基礎知識2.1 JSP 技術2.1.1 JSP訪問數(shù)據(jù)庫的原理JSP通過JDBC訪問數(shù)據(jù)庫時的流程;當Jsp被調(diào)用時,它通過jdbc API 來訪問數(shù)據(jù)庫并執(zhí)行查詢和更新,jdbc是采用SQL語言與底層的數(shù)據(jù)庫交互的。如果一條 SQL語句會從數(shù)據(jù)庫中產(chǎn)生一組結果記錄,它們就會被JDBc打包成一個Result對象,JsP處 理這些記錄并動態(tài)地生成HTML頁面,最后瀏覽器將得到的頁面顯示給用戶。 簡而言之,必須知道5個JDBC的類或接口:數(shù)據(jù)庫的JDBC驅(qū)動器類,DriverManager類、 Connect接口、Statement接口、Result接口。它們用如下方式和數(shù)據(jù)庫建立連接和操作數(shù)據(jù)庫: 1)JsP代碼通過帶參數(shù)調(diào)用Class.forName(),為DriverManager類實例化、加載 驅(qū)動器。 2)在JSP中用DriverManagere.getConnection()取得一個Connection對象。 3)用Connection.createStatement()創(chuàng)建一個Statement對象。 4)用JSP代碼通過Statement.executeQuery()或Statement.executeUpdate()查詢或更新數(shù)據(jù)庫。 5)如果執(zhí)行了一個查詢JSP代碼會處理Statement.executeQuery()返回Result對象。 2.1.2 JSP頁面的結構:JSP頁面的基本結構在JSP(Java Server Page)頁面中,利用符號標識把頁面代碼分成為兩個部分,在標識之間的部分為JSP程序代碼部分,在標識以外的部分為非程序代碼部分,非程序代碼部分與一般的靜態(tài)網(wǎng)頁的編寫方法一樣。JSP頁面組成如下圖1:圖1 JSP頁面的基本結構 JSP頁面由三類原素組成:HTML標簽、JSP標簽和JSP腳本。其中JSP腳本又可分為java程序片(thg)、java表達式、變量及(ey)方法等的聲明。 如果服務器上的JSP頁面被第一次請求,則服務器上的JSP引擎先將該頁面轉(zhuǎn)譯成java文件,再編譯成java字節(jié)碼文件,最后通過執(zhí)行字節(jié)碼文件來響應客戶的請求;而當此JSP頁面再次被請求時,服務器則直接執(zhí)行此頁面的字節(jié)碼來響應客戶的請求。這些字節(jié)碼的作用是讓服務器執(zhí)行JSP的標簽和腳本,并將結果連同HTML標簽一起發(fā)送給客戶的瀏覽器顯示。 JSP頁面的首次執(zhí)行往往由服務器管理者來完成。而當有多個用戶同時請求同一個頁面時,JSP引擎則為每個用戶啟動一個線程。2.1.3 JSP的運行環(huán)境從最開始的JSWDK到現(xiàn)在的Tomcat、WebLogic等,JSP的運行環(huán)境發(fā)生了很大的變化,出現(xiàn)了很多優(yōu)秀的JSP容器,如Tomcat、BEA WebLogic Server和WebLogic等。下面簡單介紹幾種常用的JSP容器及其特點。TomcatTomcat是Apache Jakarta軟件組織的一個子項目,是一個JSP/Servlet的容器。它是在Sun公司的JSWDK(JavaServer Web DevelopmentKit)基礎上發(fā)展起來的一個JSP和Servlet規(guī)范的標準實現(xiàn),試用Tomcat可以體驗JSP和Servlet的最新規(guī)范。經(jīng)過多年的發(fā)展,Tomcat不僅成為JSP和Servlet規(guī)范的標準實現(xiàn),而其具備了很多商業(yè)Java Servlet容器的熱心,這使得它常被一些企業(yè)用于商業(yè)用途。BEA WebLogic ServerBEA WebLogic Server是Web應用服務器的重要產(chǎn)品,是用于集成、開發(fā)、部署和管理大型分布式Web應用、網(wǎng)絡數(shù)據(jù)庫應用的Java應用服務器。它將Java的動態(tài)功能和Java Enterprise標準的高效性和安全性引入了大型Web應用的繼承和開發(fā)之中,BEA WebLogic Server是第一個提供EJB組建、Java消息傳遞和事件服務、微軟COM集成以及零管理客戶機的Web應用服務器,代表了新一地啊Web應用服務器的發(fā)展方向。IBM WebSphereIBM WebSphere是一直領先的互聯(lián)網(wǎng)基礎設施軟件,適用于跨多種平臺創(chuàng)建、運行和集成各種業(yè)務的應用。它的優(yōu)點是能夠?qū)⒎爆嵉腎T流程進行整合,并使其框架清晰,使用簡便,節(jié)省大量人力和事件,從而提高企業(yè)的辦公效率。2.1.4 JSP的內(nèi)建對象JSP共有以下9種基本內(nèi)置組件(可與ASP的6種內(nèi)部組件相對應) request :用戶端請求,此請求會包含來自GET/POST請求的參數(shù) 。 response :網(wǎng)頁傳回用戶端的回應。 pageContext: 網(wǎng)頁的屬性是在這里管理。 session :與請求有關的會話期。 application servlet:正在執(zhí)行的內(nèi)容。 out: 用來傳送回應的輸出。 config servlet:的構架部件。 page JSP:網(wǎng)頁本身。 exception :針對錯誤網(wǎng)頁,未捕捉的例外。 2.1.5 JSP的主要內(nèi)置組件: Request請求對象Request對象用于接受所有從瀏覽器發(fā)往你的服務器的請求內(nèi)的所有信息。與request 相聯(lián)系的是HttpServletRequest類。通過getParameter方法可以得到request參數(shù),通過GET、POST、HEAD等方法可以得到request的類型,通過cookies、Referer等可以得到引入的HTTP頭。 Response響應對象Response對象用于向客戶端瀏覽器發(fā)送數(shù)據(jù),用戶可以使用該對象將服務器的數(shù)據(jù)發(fā)送到用戶端的瀏覽器。與Response相聯(lián)系的是HttpServletResponse類。 Out對象Out對象用于向客戶端輸出數(shù)據(jù)。 Session工作對象Session對象用于分別保存每一個用戶信息的對象,以便于跟蹤用戶的操作狀態(tài)。與Session相聯(lián)系的是HttpSession類,Session是自動創(chuàng)建的。注:不同的用戶對應的Session對象一般是不相同的。 pageContext對象pageContext對象用于管理對屬于JSP中特殊可見部分中已經(jīng)命名對象的訪問。JSP中的一個新類。 Application應用程序?qū)ο驛pplication對象用于在多個程序中保存信息。用來在所有用戶間共享信息,并可以在Web應用程序運行期間持久地保持數(shù)據(jù)。與application相聯(lián)系的是ServletContext類,通過使用getServletConfig().getContext()方法得到。一旦創(chuàng)建application對象,該對象將一直保持下去,直到服務器關閉為止。注:每個用戶的application對象都是相同的,每一個用戶都共用同一個application對象。 Config對象Config對象用于配置處理JSP程序的句柄,而且只有在JSP頁面范圍內(nèi)合法。它是一個ServletConfig類的對象。 Page對象Page對象僅用于保存在腳本的語言不是JAVA時的時間,在JAVA中不很實用。2.2 Database Access組件ADOWWW上很重要的應用是訪問WEB數(shù)據(jù)庫,用JSP訪問WEB數(shù)據(jù)庫時,必須使用ADO組件,ADO是ASP內(nèi)置的ActiveX服務器組件(ActiveX Server Component),通過在WEB服務器上設置ODBC和OLEDB可連接多種數(shù)據(jù)庫:如SYBASE、ORACLE、INFORMIX、SQL SERVER、ACCESS、VFP等,是對目前微軟所支持的數(shù)據(jù)庫進行操作的最有效和最簡單直接的方法。ADO組件主要提供了以下七個對象和四個集合來訪問數(shù)據(jù)庫。(1) Connection對象:建立與后臺數(shù)據(jù)庫的連接。(2) Command對象:執(zhí)行SQL指令,訪問數(shù)據(jù)庫。(3) Parameters對象和Parameters集合:為Command對象提供數(shù)據(jù)和參數(shù)。(4) RecordSet對象:存放訪問數(shù)據(jù)庫后的數(shù)據(jù)信息,是最經(jīng)常使用的對象。(5) Field對象和Field集合:提供對RecordSet中當前記錄的各個字段進行訪問的功能。(6) Property對象和Properties集合:提供有關信息,供Connection、Command、RecordSet、Field對象使用。(7) Error對象和Errors集合:提供訪問數(shù)據(jù)庫時的錯誤信息。2.3 ACCESS 2003 技術簡介Access2003 就是關系數(shù)據(jù)庫開發(fā)工具,數(shù)據(jù)庫能匯集各種信息以供查詢,存儲和檢索。那么什么叫數(shù)據(jù)庫呢?數(shù)據(jù)庫(Database)是由一些有意義和有關系的數(shù)據(jù)(data)所組合而成。一個數(shù)據(jù)庫中,包含了許多條記錄(Record),而每條記錄是由多個字段(Field)所組成,不同的字段存放這不同的數(shù)據(jù)。所以數(shù)據(jù)庫的嚴格定義是一組相關記錄的集合,而字段則是最基本的數(shù)據(jù)項,也是數(shù)據(jù)庫中最小的單位。在計算機中用來幫我們管理數(shù)據(jù)庫的系統(tǒng),我們稱之為數(shù)據(jù)庫管理管理系統(tǒng)(Database Management System DBMS)。數(shù)據(jù)庫管理系統(tǒng)是架構在一個或多個數(shù)據(jù)庫之上,并針對數(shù)據(jù)庫中的數(shù)據(jù)進行管理運用。 Access 的優(yōu)點在于它能使用數(shù)據(jù)表示圖或自定義窗體收集信息,數(shù)據(jù)表示圖提供了一種類似于 Excel 的電子表格,可以使數(shù)據(jù)庫一目了然。另外,Access 允許創(chuàng)建自定義報表用于打印或輸出數(shù)據(jù)庫中的信息。Access也提供了數(shù)據(jù)存儲庫,可以使用桌面數(shù)據(jù)庫文件把數(shù)據(jù)庫文件置于網(wǎng)絡文件服務器,與其他網(wǎng)絡用戶共享數(shù)據(jù)庫。如上所述,Access 作為關系數(shù)據(jù)庫開發(fā)具備了許多優(yōu)點,可以在一個數(shù)據(jù)包中同時擁有桌面數(shù)據(jù)庫的便利和關系數(shù)據(jù)庫的強大功能。第三章 需求分析3.1 市場需求分析新聞發(fā)布系統(tǒng)(News Release System or Content Management System)又叫做內(nèi)容管理系統(tǒng),是一個基于新聞發(fā)布和內(nèi)容管理的全站管理系統(tǒng),新聞發(fā)布系統(tǒng)是基于B/S模式的WEBMIS系統(tǒng),本系統(tǒng)可以將雜亂無章的信息(包括文字、圖片和影音)經(jīng)過組織,合理有序地呈現(xiàn)在大家面前。當今社會是一個信息化的社會,新聞信息作為信息的一部分有著信息量大,類別繁多,形式多樣的特點,新聞發(fā)布系統(tǒng)的概念就此提出。新聞發(fā)布系統(tǒng)的提出使電視不再是唯一的新聞媒體,從此以后網(wǎng)絡也充當了一個重要的新聞媒介的功能。簡單地說,新聞發(fā)布系統(tǒng)就是充當一個網(wǎng)絡新聞媒介的功能,主要實現(xiàn)對新聞的分類、上傳、審核、發(fā)布,模擬了一般新聞媒介的新聞發(fā)布的過程,通過不同權限的賬號分別實現(xiàn)以上所說功能,當然這些功能也可以是某一個賬號全部具有。隨著互聯(lián)網(wǎng)的進一步發(fā)展,網(wǎng)絡媒體在人們心中的地位進一步提高,新聞發(fā)布系統(tǒng)作為網(wǎng)絡媒體的核心系統(tǒng),其重要性是越來越重要:一方面,它提供一個新聞管理和發(fā)布的功能;另一方面,現(xiàn)在的新聞發(fā)布要求實現(xiàn)與普通的用戶實現(xiàn)交互,用戶可以很方便地參加一些調(diào)查和相關新聞的評論,這一點也是其他一些媒體現(xiàn)在無法做到的(電視、電臺等),同時,INTERNET發(fā)展到當今,可以說,只要你上INTERNET,你就會接觸到新聞發(fā)布系統(tǒng),新聞發(fā)布系統(tǒng)的用戶是相當驚人的,其重要性是不容置疑的。在素質(zhì)教育與終身教育成為必然的今天,人們對信息的需求有了更新、更高的要求,而網(wǎng)頁由于本身所具有的信息量大,傳遞速度快,沒有時空限制等特點恰好滿足了這種要求。所以網(wǎng)頁也逐漸成為一種新興的教育資源。 在校園網(wǎng)盛行的今天,每個學校都有其自己精彩的網(wǎng)站,而網(wǎng)站中的新聞發(fā)布系統(tǒng)幾乎是必不可少的。新聞發(fā)布及管理在校園網(wǎng)中具有廣泛的應用,隨著時代的進步,信息的社會化,學校作為教育的前沿地帶,研究和開發(fā)學校新聞發(fā)布系統(tǒng),有著重要的意義,當然這也對新聞發(fā)布系統(tǒng)的開發(fā)提出了更高的要求。3.2 任務目標3.2.1新聞發(fā)布系統(tǒng)的特點與一般的信息系統(tǒng)相比較,新聞發(fā)布系統(tǒng)具有以下特征:是基于B/S模式下的WEB信息系統(tǒng),數(shù)據(jù)庫邏輯相對簡單,但數(shù)據(jù)量一般比較龐大;用戶數(shù)量大,服務器壓力大,是系統(tǒng)設計中必須考慮的問題之一,而一般的信息系統(tǒng)相對壓力要少了很多;系統(tǒng)是一個開放式的系統(tǒng),前臺瀏覽無需驗證。3.2.2 對性能的規(guī)定(1) 操作應方便、靈活。(2) 系統(tǒng)應有較高的穩(wěn)定性。(3) 系統(tǒng)應有較高的安全性。(4) 系統(tǒng)應有較高的容錯性。(5) 速度上要求前臺要能夠很快地反應用戶,后臺操作不能出現(xiàn)超時現(xiàn)象。3.2.3 數(shù)據(jù)管理能力要求(1) 能處理大量的新聞數(shù)據(jù)。(2) 安全指數(shù)高,防止黑客攻擊。(3) 負荷能力強,防止數(shù)據(jù)量過大,而影響速度。3.2.4 應用目標新聞發(fā)布系統(tǒng)是以JSP網(wǎng)頁編程+ACCESS數(shù)據(jù)庫,其系統(tǒng)功能在Tomcat服務器上運行。用戶都可以了解系統(tǒng)軟件的基本工作原理。用戶只需進行一些簡單的操作即可達到自己想要的目的。3.3 運行環(huán)境為了保證新聞發(fā)布系統(tǒng)運行的效率和可靠性,服務器應具有較高的軟硬件配置,客戶端的要求不是很高。此應用程序可廣泛運行于國際互聯(lián)網(wǎng)即Internet,也可適用于內(nèi)部的局域網(wǎng)。其運行要求如下:軟件環(huán)境:客戶端: Windows95/98/2000/XP,Internet Explorer(IE)等。服務器端:Windows95/98/2000/XP,Internet Explorer(IE)等數(shù)據(jù)庫:采用Access和SQL,運行于服務器端。程序基于 JSP + JavaBean 開發(fā),數(shù)據(jù)庫可以使用Access,SQL數(shù)據(jù)庫。開發(fā)平臺:WinXP + Apache2.0.52 + Tomcat6.0 + Dreamweaver8+ JDK1.5第四章 系統(tǒng)設計4.1 模塊設計根據(jù)新聞網(wǎng)站的性質(zhì),可以把網(wǎng)站大體上分為五個模塊:前臺頁面、新聞發(fā)布、欄目管理、其他操作、系統(tǒng)設置。每個模塊又有許多小模塊組成。4.2 系統(tǒng)流程分析前臺頁面包括:首頁、各類別新聞顯示頁面、新聞閱讀頁面。新聞發(fā)布模塊包括:添加新聞、新聞管理。其中添加新聞模塊主要是添加新聞用的;新聞管理模塊主要是用來管理已經(jīng)發(fā)表的新聞,可以對已經(jīng)發(fā)表的新聞進行審核、編輯、刪除操作。欄目管理模塊:主要用來管理新聞類別。其他操作模塊包括:數(shù)據(jù)庫備份、數(shù)據(jù)庫恢復、新聞采集。數(shù)據(jù)庫備份與恢復主要是用來對網(wǎng)站的數(shù)據(jù)進行簡單的維護操作的,新聞采集可以用來自動添加外部網(wǎng)站上我們所需要的新聞信息。系統(tǒng)設置模塊包括:管理員列表、新增管理員、修改密碼。管理員列表和新增管理員是超級管理員用來管理系統(tǒng)管理員的一個重要的功能,修改密碼可以用來方便的修改自己的密碼。4.3 數(shù)據(jù)庫的分析及設計4.3.1 數(shù)據(jù)庫的搭建數(shù)據(jù)只有用數(shù)據(jù)庫來管理才能有自動化管理的可能。數(shù)據(jù)的結構將影響整個管理機制的應用,而且一旦建立,以后要修改常會出現(xiàn)麻煩。所以一開始就要仔細慎重地搭建一個完整而合理的結構。Microsoft Access數(shù)據(jù)庫相對其它的數(shù)據(jù)庫來說要簡單容易操作些,新聞發(fā)布系統(tǒng)中的數(shù)據(jù)庫文件就是Access類型的數(shù)據(jù)庫,數(shù)據(jù)庫中共有七張表如圖4-1圖4-1 數(shù)據(jù)庫七張表1. 頁面模塊化,頁首和頁腳,blog排序都模塊化,所有用到的頁面直接include,方便維護和修改。2. 本案例架構MVC3. 功能模塊三層結構架構本實例采用三層架構設計,它的工作原理如圖4-2所示。圖4-2 三層架構的工作原理圖采用三層架構以后,用戶界面層通過統(tǒng)一的接口向業(yè)務層發(fā)送請求,業(yè)務層按自己的邏輯規(guī)則將請求處理之后進行數(shù)據(jù)庫操作,然后將數(shù)據(jù)庫返回的數(shù)據(jù)封裝成類的形式返回給用戶界面層。這樣用戶界面層甚至可以不知道數(shù)據(jù)庫的結構,它只要維護與業(yè)務層之間的接口即可。這種方式在一定程度上增加了數(shù)據(jù)庫的安全性,同時也降低了對用戶界面層開發(fā)人員的要求,因為它根本不需要進行任何數(shù)據(jù)庫操作。上面javaBean通過返回對象的形式來返回數(shù)據(jù),在類的內(nèi)部可以規(guī)定哪些數(shù)據(jù)可訪問,那些數(shù)據(jù)是只讀的等,從而通過封裝數(shù)據(jù)達到再一次提高數(shù)據(jù)的安全性的目的。系統(tǒng)功能模塊劃分根據(jù)本章導讀部分的系統(tǒng)功能分析,可以畫系統(tǒng)的功能模塊圖,本例從客戶界面、管理界面分別對功能模塊圖加以描述??蛻艚缑娴南到y(tǒng)功能模塊圖如圖4-3所示。圖4-3 客戶界面的功能模圖管理界面的功能模塊圖如圖9-10所示。圖4-4 管理界面的功能模塊圖數(shù)據(jù)庫概念結構設計根據(jù)上面的設計規(guī)劃出的實體有:管理員信息實體、新聞實體、小標題實體、大標題實體、專題實體。實體之間關系的E-R圖如圖4-5所示。圖4-5 實體間的關系E-R圖管理員信息實體E-R圖如圖4-6所示。圖4-6 管理員信息實體E-R圖大標題實體E-R圖如圖4-7所示。圖4-7 圖書實體E-R圖新聞實體E-R圖如圖4-8所示。圖4-8圖書分類實體E-R圖小標題實體E-R圖如圖4-9所示。圖4-9 訂單實體E-R圖專題列表實體E-R圖如圖4-10所示。圖4-10 訂單列表實體E-R圖數(shù)據(jù)庫邏輯結構設計數(shù)據(jù)據(jù)的概念結構設計完畢后,現(xiàn)在可以將上面的數(shù)據(jù)庫概念結構轉(zhuǎn)化為某種數(shù)據(jù)庫系統(tǒng)所支持的實際數(shù)據(jù)模型,也就是數(shù)據(jù)庫的邏輯結構。下圖為生成數(shù)據(jù)庫的ER實體圖可以生成SQL代碼4.3.2 本系統(tǒng)用到的數(shù)據(jù)表本系統(tǒng)的數(shù)據(jù)表如下各表所示:(1) 管理員表(admin)表 4-1管理員表字段名稱數(shù)據(jù)類型說明AdminID自動編號AdminName文本管理員名稱AdminPwd文本管理員密碼AdminType數(shù)字管理員權限。1為普通管理員,2為系統(tǒng)管理員,3為超級管理員AddTime文本加入時間LastLoginTime文本最后登陸時間LastLoginIP文本最后登錄IPNewsNum數(shù)字一共發(fā)表的新聞數(shù)LoginNum數(shù)字登錄數(shù)字UserName文本真實姓名UserSex文本性別UserBirthday文本出生日期UserEmail文本電子郵件UserQQ文本聯(lián)系QQUserTel文本聯(lián)系電話UserAddress文本聯(lián)系地址UserZip文本郵編UserInfo備注其它信息(2)新聞分類大類表(BigClass)表 4-2新聞分類大類表字段名稱數(shù)據(jù)類型說明BigClassID數(shù)字編號BigClassName文本類別名稱BigClassInfo文本類別詳細說明AddTime日期/時間加入時間(3)新聞存儲表(News)表 4-3新聞存儲表字段名稱數(shù)據(jù)類型說明NewsID自動編號自動編號NewsTitle文本新聞標題NewsContent備注新聞內(nèi)容NewsKey文本新聞關鍵字NewsAuthor文本新聞發(fā)布人NewsFrom文本新聞出處NewsTime文本新聞發(fā)布時間NewsPicture文本圖片新聞的圖片地址BigClassID數(shù)字新聞所屬大類SmallClassID 數(shù)字新聞所屬小類IsHead文本是否頭條(YES OR NO)HeadPicture文本頭條新聞圖片IsImg文本是否圖片新聞IsHot文本是否滾動新聞SpecialID數(shù)字所屬專題ID,為0表示不屬于任何專題NewsInfo文本新聞簡介AdminName文本操作的管理員(4)新聞分類小類表(SmallClass)表 4-4新聞分類小類表字段名稱數(shù)據(jù)類型說明SmallClassID自動編號自動編號SmallClassName文本類別名稱SmallClassInfo文本類別名稱的詳細說明ForBigClassID數(shù)字所屬大類AddTime日期/時間加入時間(5)系統(tǒng)參數(shù)設置表(Config)表 4-5系統(tǒng)參數(shù)設置表字段名稱數(shù)據(jù)類型說明ConfigID自動編號自動編號AdminUserListNum數(shù)字用戶管理每頁顯示記錄數(shù)AdminLogListNum數(shù)字日志管理每頁顯示記錄數(shù)AdminNewsListNum數(shù)字新聞管理每頁顯示記錄數(shù)HotNewsNum數(shù)字新聞管理每頁顯示記錄數(shù)HeadNewsNum數(shù)字首頁滾動新聞條數(shù)TopNewsNum數(shù)字首頁最新文字新聞條數(shù),請設置為5的倍數(shù)TopImgNum數(shù)字首頁最新新聞圖片條數(shù),請設置為3的倍數(shù)ClassNewsNum數(shù)字首頁讀取新聞大類顯示新聞的條數(shù),請設置為5的倍數(shù)ClassImgNum數(shù)字首頁顯示大類圖片新聞數(shù),請設為3的倍數(shù)SpecNum數(shù)字首頁顯示的專題數(shù),默認為10SpecNewsNum數(shù)字首頁專題顯示新聞條數(shù)BHotNewsNum數(shù)字大類滾動新聞條數(shù)BHeadNewsNum數(shù)字大類頭條新聞數(shù)BTopNewsNum數(shù)字大類最新新聞條數(shù),請設置為5的倍數(shù)BTopImgNum數(shù)字大類最新新聞圖片條數(shù),請設置為3的倍數(shù)BClassNewsNum數(shù)字大類讀取新聞小類顯示新聞的條數(shù),請設置為5的倍數(shù)BClassImgNum數(shù)字大類顯示小類圖片新聞數(shù),請設為3的倍數(shù)BSpecNum數(shù)字大類顯示的專題數(shù),默認為10BSpecNewsNum數(shù)字大類專題顯示新聞條數(shù)ListSpecNum數(shù)字專題列表每頁顯示的專題數(shù)ListNewsNum數(shù)字分頁新聞顯示條數(shù),請設為5的倍數(shù)SearchNewsNum數(shù)字搜索新聞每頁顯示條數(shù)DreamNewsTitle文本網(wǎng)站標題DreamNewsCopyRight文本版權信息DreamNewsEmail文本郵件地址(6)系統(tǒng)日志記錄表(Log)表 4-6系統(tǒng)日志記錄表字段名稱數(shù)據(jù)類型說明LogID自動編號User文本操作用戶LogType文本類型LogTime日期/時間時間IP文本用戶IPResult文本操作結果(7)專題欄目表(special)表 4-7專題欄目表字段名稱數(shù)據(jù)類型字段大小SpecialID自動編號自動編號SpecialName文本專題名稱SpecialInfo文本專題介紹SpecialTime日期/時間專題建立時間第五章 詳細設計與實現(xiàn)5.1 前臺顯示圖 5-1 前臺顯示頁面(1) 首頁的最上邊顯示大類新聞,用戶可以直接點擊查看各項大類新聞里面的新聞,直到閱讀每條詳細信息。(2) 國內(nèi)、國際、軍事、財經(jīng)、娛樂、科技等各個欄目,通過后臺可以控制是否顯示,或顯示條數(shù)。5.2 后臺新聞管理(1) 管理員登陸頁面圖 5-2 后臺管理員登陸頁面管理員可以通過這個頁面輸入正確的用戶名和密碼進入系統(tǒng)后臺,這里還引入了輸入驗證碼的功能。(2) 后臺管理首頁圖 5-3 后臺管理首頁頁面5.2.1系統(tǒng)管理1系統(tǒng)基本信息圖5-4系統(tǒng)基本信息用戶可以在這里面添加用戶信息2系統(tǒng)參數(shù)設置圖5-5系統(tǒng)參數(shù)設置用戶管理每頁顯示記錄數(shù):參數(shù):為(1-999)之間的整數(shù):日志管理每頁顯示記錄數(shù):新聞管理每頁顯示記錄數(shù):前臺顯示參數(shù):設置首頁設置首頁滾動新聞條數(shù):首頁頭條新聞條數(shù):首頁最新文字新聞條數(shù):請設置為5的倍數(shù):首頁最新圖片新聞條數(shù):請設置為3的倍數(shù):首頁調(diào)用大類文字新聞條數(shù):請設置為5的倍數(shù):首頁調(diào)用大類圖片新聞條數(shù):請設置為3的倍數(shù):首頁顯示的專題數(shù):首頁顯示每專題的新聞數(shù):一級分類設置大類滾動新聞條數(shù):大類頭條新聞數(shù):大類最新新聞條數(shù):請設置為5的倍數(shù):大類最新新聞圖片條數(shù):請設置為3的倍數(shù):大類讀取新聞小類顯示新聞的條數(shù):請設置為5的倍數(shù):大類顯示小類圖片新聞數(shù):請設置為3的倍數(shù):大類顯示的專題數(shù):大類專題顯示新聞條數(shù):其它設置專題列表每頁顯示的專題數(shù):小類每頁顯示的新聞數(shù):新聞搜索每頁顯示的新聞數(shù):用戶可以對前臺顯示設置和后臺管理顯示設置進行設置3系統(tǒng)日志管理只有超級管理員可以對系統(tǒng)日志進行管理圖5-6系統(tǒng)日志管理在這里可以看到操作日志。5.2.2版面管理1類別管理圖5-7類別管理在這里可以對新聞的類別進行增刪和修改,還可以添加子類。2專題管理圖5-8專題管理這里設計的是一個專題項目,可以添加刪除專題項目和修改專題項目。5.2.3新聞管理(1)添加新聞頁面圖 5-9添加新聞頁面 新聞添加界面設有一系列添加新聞時需要選擇和填寫的屬性,在界面的開頭顯示新聞添加的分類,主要是新聞所屬的大類和小類名稱和專題名稱。 可以注明所添加新聞的來源和作者,可以選擇是否滾動顯示,是否在頭條顯示,是否是圖片新聞。 還設有新聞編輯框,可進行可視化新聞添加,可以粘貼網(wǎng)頁任意圖片、表格、文字,就象WORD一樣方便,可以選擇HTML語法書寫。 添加新聞的同時可根據(jù)你的需要上傳你的一個或多個圖片。(2)新聞管理頁面如圖圖 5-10 新聞管理頁面 在這個頁面里管理員可以方便的對已經(jīng)發(fā)布的新聞進行審核、編輯和刪除管理等。 管理員還可以通過對新聞審核屬性的設置可以使新聞在首頁顯示或不顯示等。5.2.4 用戶管理用戶管理頁面圖 5-11 用戶添加頁面圖5-12用戶管理頁面 通過用戶管理頁面管理員可以對用戶進行增加,修改,刪除。 在用戶添加頁面下設置用戶的各種個人信息和用戶權限。第六章 部分編碼實現(xiàn)/* * * 源文件名: DBConnecion.java * 功 能: 綜合新聞發(fā)布系統(tǒng) - 數(shù)據(jù)庫連接類 *作者:hxz */package dreamtime.dreamnews;/指定類所在的包import java.sql.*;/導入數(shù)據(jù)庫操作的類import java.util.*;import java.io.*;public class DBConnection private String FileName;/配置文件名 private int DBType;/數(shù)據(jù)庫類型 private Connection conn;/連接對象private Statement stmt;/語句對象private ResultSet rs;/結果集對象 private String AccessDriver;/保存Access驅(qū)動程序 private String AccessURL; /保存Access連接字符串 private String AccessPath; /保存Access數(shù)據(jù)庫的路徑 private String SqlDriver;/SQL Server驅(qū)動程序 private String SqlURL; /SQL Server連接字符串 public DBConnection() conn = null; public Connection getConn()DBType= new Function().StrToInt(getPara(DBType);switch(DBType)case 0:return(getConnToAccess();case 2:return(getConnToSql();default:return null;public String getPara(String ParaName) FileName=././DBCperty;Properties prop= new Properties();tryInputStream is = getClass().getResourceAsStream(FileName);prop.load(is);if(is!=null) is.close();catch(Exception e) return Error!;return prop.getProperty(ParaName); public Connection getConnToAccess() try AccessDriver = getPara(AccessDriver); AccessURL = getPara(AccessURL); AccessPath = getPara(AccessPath);AccessURL=AccessURL+AccessPath; Class.forName(AccessDriver).newInstance(); conn = DriverManager.getConnection(AccessURL); catch(Exception e) /e.printStackTrace(); /return 操作數(shù)據(jù)庫出錯,請仔細檢查 ; /System.err.println(e.getMessage(); return conn; public Connection getConnToSql() try SqlDriver = getPara(SQLDriver); SqlURL = getPara(SQLURL); Class.forName(SqlDriver).newInstance(); conn = DriverManager.getConnection(SqlURL); catch(Exception e) e.printStackTrace(); /return 操作數(shù)據(jù)庫出錯,請仔細檢查 ; /System.err.println(e.getMessage(); return conn; /關閉數(shù)據(jù)庫連接 /* public void Close() try Conn.close(); catch(SQLException sqlexception) sqlexception.printStackTrace(); */ public static void main(String args)DBConnection DBConn = new DBConnection();tryConnection Conn = DBConn.getConn();ResultSet rs = null;Statement stmt = Conn.createStatement(1004,1007); String Sql = select * from Admin where AdminName=dream and AdminPwd=dream; rs = stmt.executeQuery(Sql); rs.next(); if (!rs.isAfterLast() System.out.println(rs.getString(AdminName)+登錄成功!);elseSys
溫馨提示
- 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025秋季幼兒園疫情防控安全計劃
- 2025至2030中國自行車傳動系統(tǒng)行業(yè)市場深度研究及發(fā)展前景投資可行性分析報告
- 2025至2030中國自己動手(DIY)家裝零售行業(yè)產(chǎn)業(yè)運行態(tài)勢及投資規(guī)劃深度研究報告
- 2025至2030中國自動車載無線充電器行業(yè)發(fā)展趨勢分析與未來投資戰(zhàn)略咨詢研究報告
- 2025至2030中國自動托盤裝載系統(tǒng)行業(yè)市場深度研究及發(fā)展前景投資可行性分析報告
- 2025至2030中國自動乘客計數(shù)系統(tǒng)行業(yè)產(chǎn)業(yè)運行態(tài)勢及投資規(guī)劃深度研究報告
- 2025至2030中國腺嘌呤行業(yè)市場占有率及投資前景評估規(guī)劃報告
- 大型體育館鋼結構質(zhì)量通病防治措施
- 2025至2030中國背壓調(diào)節(jié)器行業(yè)產(chǎn)業(yè)運行態(tài)勢及投資規(guī)劃深度研究報告
- 2025至2030中國肉兔養(yǎng)殖行業(yè)產(chǎn)業(yè)運行態(tài)勢及投資規(guī)劃深度研究報告
- 寧夏回族自治區(qū)城市體檢工作技術指南(試行)2024
- 國開《課堂提問與引導》期末大作業(yè)及答案
- 固定式啟閉機及閘門的檢修與維護規(guī)范
- 內(nèi)蒙古呼和浩特市(2024年-2025年小學五年級語文)統(tǒng)編版期末考試(下學期)試卷及答案
- 企業(yè)ESG治理體系構建
- 氣管異物應急預案
- 防臺風防雷安全
- 服飾2個人合伙人協(xié)議書范文
- 高血壓病課件
- DB4116-T 058-2024 智慧消防物聯(lián)感知設備配置規(guī)范
- 2024年西藏自治區(qū)中考化學試題卷(含答案)
評論
0/150
提交評論