版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領
文檔簡介
1、<p> 本科生畢業(yè)論文(設計)</p><p> 題 目: 新聞發(fā)布系統(tǒng) </p><p> 學生姓名: 馬粒蘋 </p><p> 學 號: 201317020127 </p><p> 專業(yè)班級: 信息管理與信息系統(tǒng) <
2、/p><p> 指導教師: 丁德鴻 </p><p> 完成時間: 年 月 </p><p><b> 目錄</b></p><p><b> 緒論1</b></p><p> 1.1 課題背景1&l
3、t;/p><p> 1.2 課題的目的和意義1</p><p> 系統(tǒng)開發(fā)的關鍵技術2</p><p> 2.1 運行環(huán)境及開發(fā)工具2</p><p> 2.2 JAVA語言簡介2</p><p> 2.3 JAVA的優(yōu)勢與特點2</p><p> 2.5 MVC設計模式的簡介
4、4</p><p> 2.6 Servlet和jsp的簡介及優(yōu)勢4</p><p> 2.7 Oracle數(shù)據(jù)庫簡介4</p><p> 2.8 Eclipse neno.3和PLSQL簡介5</p><p> 2.9 Tomcat簡介5</p><p><b> 系統(tǒng)分析6</b
5、></p><p> 3.1 可行性分析6</p><p> 3.1.1 技術上可行性6</p><p> 3.1.2 操作上可行性6</p><p> 3.1.3 經(jīng)濟上可行性6</p><p> 3.2系統(tǒng)E-R圖6</p><p> 3.3系統(tǒng)功能分析7<
6、;/p><p><b> 系統(tǒng)設計8</b></p><p> 4.1 設計思想8</p><p> 4.2 系統(tǒng)功能模塊8</p><p> 4.3 系統(tǒng)流程分析9</p><p> 4.4 數(shù)據(jù)庫結(jié)構(gòu)設計10</p><p> 4.4.1 系統(tǒng)數(shù)據(jù)庫性
7、能需求10</p><p> 4.4.2數(shù)據(jù)庫需求分析10</p><p> 4.4.3 數(shù)據(jù)字典設計及數(shù)據(jù)庫表命名規(guī)則10</p><p> 4.4.4 創(chuàng)建序列13</p><p> 主要功能的實現(xiàn)14</p><p> 5.1 系統(tǒng)代碼框架15</p><p> 5
8、.2 系統(tǒng)登錄界面15</p><p> 5.3 系統(tǒng)管理16</p><p> 5.3.1 部門管理17</p><p> 5.3.2 權(quán)限角色管理20</p><p> 5.3.3 用戶管理22</p><p> 5.4 新聞版塊管理26</p><p> 5.4.1
9、 版塊基本管理26</p><p> 5.4.2 版塊狀態(tài)管理30</p><p> 5.5 新聞管理32</p><p> 5.5.1 發(fā)布新聞32</p><p> 5.5.3 新聞信息管理34</p><p> 5.6 新聞統(tǒng)計36</p><p> 5.6.1 新
10、聞統(tǒng)計報表36</p><p> 5.6.2 新聞統(tǒng)計圖37</p><p><b> 結(jié)論38</b></p><p><b> 致謝39</b></p><p><b> 參考文獻39</b></p><p><b>
11、摘要</b></p><p> 隨著互聯(lián)網(wǎng)的快速發(fā)展,傳統(tǒng)的媒介已經(jīng)不能滿足人們及時獲取新聞信息的要求。一種簡單方便的新方式的出現(xiàn)成為必然的趨勢。而新聞發(fā)布系統(tǒng)作為當今主流的獲取新聞的一種渠道,顯得越來越重要。一方面,它能夠提供新聞管理和發(fā)布的功能;另一方面,它可以實現(xiàn)系統(tǒng)與用戶之間的交互,用戶可以對新聞進行閱讀和評論。此次的新聞發(fā)布系統(tǒng)是一個能夠自動發(fā)布各種信息的平臺,可以借助此系統(tǒng)顯示新聞系統(tǒng)的
12、頁面,自動生成首頁的新聞鏈接,提供新聞頁面的管理界面,自動發(fā)布相關新聞,且支持圖片等的插入。在當今這個互聯(lián)網(wǎng)信息時代,新聞發(fā)布系統(tǒng)的開發(fā)也越來越規(guī)范化。此次新聞發(fā)布系統(tǒng)是基于java語言主要采用MVC的設計模式和jsp+servlet實現(xiàn)的系統(tǒng)。</p><p> 關鍵字:數(shù)據(jù)庫 java servlet jsp Eclipse jdk1.7 Tomcat7</p><p>&
13、lt;b> ABSTRACT</b></p><p> With the rapid development of the Internet, the traditional media can not meet the requirements of people to get news information in time. The emergence of a simple and
14、convenient new way has become an inevitable trend. The news release system, as one of the main channels of obtaining news, becomes more and more important. On the one hand, it can provide the function of news management
15、and publishing; on the other hand, it can realize the interaction between the system and the user, the user can</p><p> KEYWORD:Databasejava servletjspEclipse jdk1.7 Tomcat7</p><p><b&
16、gt; 一、緒論</b></p><p><b> 1.1 課題背景</b></p><p> 現(xiàn)代社會是一個互聯(lián)網(wǎng)時代,人們的生活方式越來越方便快捷。人們的生活也越來越離不開網(wǎng)絡。互聯(lián)網(wǎng)的時代也是一個信息時代,及時的獲取信息顯得尤為重要。傳統(tǒng)的媒介已經(jīng)不能夠滿足人們及時獲取新聞信息的要求。一種簡單方便的新方式的出現(xiàn)成為一種必然的趨勢。新聞發(fā)布系統(tǒng)作
17、為當今主流的獲取新聞的渠道,它的重要性日益顯著。</p><p> 1.2 課題的目的和意義</p><p> 新聞發(fā)布系統(tǒng)是一個便于人們獲取各種信息的平臺,整個系統(tǒng)涉及六大功能模塊:用戶瀏覽模塊、評論模塊、系統(tǒng)管理、新聞版塊管理、新聞統(tǒng)計管理、新聞管理。各個模塊之間又有著一定的聯(lián)系。相互之間的聯(lián)系在后臺進行處理,然后將相應的頁面在前臺進行展示。通過前后臺的相互結(jié)合,用戶可以在前臺進行
18、瀏覽,也可以獲取管理員的身份在后臺進行相應的管理操作。</p><p> 二、系統(tǒng)開發(fā)的關鍵技術</p><p> 本系統(tǒng)的開發(fā)是基于JAVA編程語言,采用B/S模式和MVC的設計模式。使用的數(shù)據(jù)庫為Oracle數(shù)據(jù)庫,數(shù)據(jù)庫的輔助工具為PLSQL Developer,Web服務器為Tomcat7.0,編碼工具為Eclipse neon.3。</p><p>
19、 2.1 運行環(huán)境及開發(fā)工具</p><p><b> 硬件環(huán)境:</b></p><p><b> pc機一臺。</b></p><p><b> 軟件環(huán)境:</b></p><p> 操作系統(tǒng):Windows7操作系統(tǒng)</p><p> 數(shù)
20、據(jù)庫:Oracle數(shù)據(jù)庫</p><p> Web 服務器:Tomcat 7.0</p><p> 開發(fā)工具:Eclipse neon.3、PLSQL Developer</p><p> 2.2 JAVA語言簡介</p><p> Java是由Sun Microsystems 1995年5月開放的一種基于C和C++的一門新的編程語言
21、。它的主要創(chuàng)始人為詹姆斯.高斯林。說到Java語言,最先想到的就是它擁有面向?qū)ο蟮木幊趟枷牒涂缙脚_運行。所謂的跨平臺是指程序可以跨越多種平臺運行,即編寫一次,到處運行。</p><p> Java語言能夠?qū)崿F(xiàn)它的跨平臺性,這得歸功于Java虛擬機(Java Virtual Machine)的存在。我們知道Java平臺由Java虛擬機(Java Virtual Machine)和Java應用編程接口(Applic
22、ation Programming InterFace,簡稱API)構(gòu)成。于是Java應用為我們提供了一個獨立于操作系統(tǒng)分為基本部分和擴展部分的標準接口?,F(xiàn)在Java平臺已經(jīng)適用于幾乎所有的操作系統(tǒng),當我們在硬件或操作系統(tǒng)平臺上安裝了Java平臺之后,Java應用程序就能夠?qū)崿F(xiàn)運行。這樣Java程序就能夠做到只編譯一次,就能夠在各種系統(tǒng)中運行。</p><p> 2.3 JAVA的優(yōu)勢與特點</p>
23、<p> Java語言被稱為是一門入門門檻低的語言,這說明了Java的簡單易學。對于編程,我們總是說到語言是相通的。Java在語法上與傳統(tǒng)的C語言和C++語言存在很多相似的地方。在一般情況下,有C語言基礎的程序員是比較容易學習和使用Java的。在另一方面java也丟棄了一些在C++中很少使用的、很難理解的特性。需要注意的是在java中沒有指針,而且提供了自動的垃圾回收機制。</p><p> J
24、ava語言是一種面向?qū)ο蟮某绦蛘Z言。而所有面向?qū)ο缶幊陶Z言都具有三個基本特點:</p><p> 封裝、繼承、多態(tài)。Java也不例外。對于面向?qū)ο蟮木幊趟枷?,我們最常說的就是“萬事萬物皆對象”,現(xiàn)實世界中的對象均有屬性和行為,如果將這種關系反映到計算機程序上,那么屬性則表示對象的數(shù)據(jù),行為則代表對象的方法。所謂的封裝就是將類的狀態(tài)信息隱藏在類的內(nèi)部,將其私有化。不允許外部程序直接訪問,提供公有的方法訪問私有化的
25、屬性??梢哉f,對象是支持封裝的手段,是封裝的基本單位。封裝能夠?qū)⒆兓綦x,便于程序的維護和擴展。繼承是面向?qū)ο笞铒@著的一個特性 。是指一個對象直接使用另一個對象的屬性和方法。并且這個子類還可以擴展自己的新的屬性和方法。在java中只支持單一繼承,可以理解為一個孩子只能有一個父親。多態(tài)性即多種表現(xiàn)形式,可以用“一個對外接口,多個內(nèi)在實現(xiàn)方法”表示。從一定的角度來說,封裝和繼承是為多態(tài)做準備的。多態(tài)存在的三個必要的條件是有繼承、有重寫、父類
26、引用指向子類對象。而在Java中有兩種實現(xiàn)多態(tài)的形式:繼承和接口。繼承的實現(xiàn)機制主要表現(xiàn)在父類和繼承該父類的一個或多個子類對某些方法的重寫,多個子類對同一方法的重寫可以表現(xiàn)出不同的行為。在接口的多態(tài)中,指向接口的引用必須是指定這實現(xiàn)了該接口的一</p><p> Java語言是可移植的。它的可移植性主要表現(xiàn)在三個方面:源代碼可移植性、CPU可移植性、操作系統(tǒng)可移植性。源代碼可移植性意味著任意一個Java程序,無
27、論它運轉(zhuǎn)在哪種CPU、操作系統(tǒng)或者Java編譯器上,都將發(fā)生異樣的結(jié)果。Java利用其Java虛擬機實現(xiàn)CPU可移植性,Java虛擬機能掩蓋不同CPU之間的差別,使J-COde能運轉(zhuǎn)于任何具有Java虛擬機的機器上。Java提供了一套與平臺無關的庫函數(shù)的方法來處理操作系統(tǒng)可移植性的問題。就像JVM提供了一個虛擬的CPU一樣,Java庫函數(shù)提供了一個虛擬的GUI環(huán)境。Java程序僅對Java庫函數(shù)提出調(diào)用,而庫函數(shù)對操作系統(tǒng)公用的調(diào)用由不
28、同的虛擬機來完成。</p><p> 2.5 MVC設計模式的簡介</p><p> MVC全名是Model View Controller,是一種設計模式,是模型(model)-視圖(view)-控制器(contronller)的縮寫。用一種業(yè)務邏輯、數(shù)據(jù)、界面顯示分離的方法組織代碼。模型包含所有數(shù)據(jù)、狀態(tài)和程序邏輯。視圖是用來表現(xiàn)邏輯,視圖能直接從模型中取得它需要顯示的狀態(tài)與數(shù)據(jù),
29、對于相同的信息能夠以多個不同的顯示形式或視圖來展現(xiàn)??刂破魑挥谝晥D和模型之間,作用是負責接受用戶的輸入,將輸入進行解析并反饋給模型。MVC分層有助于管理復雜的應用程序,提高系統(tǒng)的靈活性和復用性。使用MVC的設計模式讓程序員可以在一個時間內(nèi)專門關注一個方面。MVC強制性的使應用程序的輸入、處理和輸出分開。最典型的MVC就是JSP+Servlet+JavaBean的模式。</p><p> 2.6 Servlet和
30、jsp的簡介及優(yōu)勢</p><p> Servlet(Servlet Applet),全稱Java Servlet。是用java編寫的服務器端程序,能夠?qū)崿F(xiàn)交互式地瀏覽和修改數(shù)據(jù),生成動態(tài)web內(nèi)容。狹義的Servlet是指java語言實現(xiàn)的一個接口,而廣義上的Servlet是指任何實現(xiàn)了這個Servlet接口的類,我們一般理解為后者。</p><p> JSP(Java Server
31、 Pages)是一種基于java語言的動態(tài)網(wǎng)頁技術,Jsp頁面部署在Web服務器端(Server)供客戶端通過瀏覽器(Browser)訪問。一個Jsp頁面主要構(gòu)成有</p><p> HTML、CSS標記、JavaScript腳本代碼等,是由瀏覽器解釋執(zhí)行,屬于頁面的“靜態(tài)”元素;</p><p> Java代碼、JSP指令、JSP標記、EL表達式等,在服務器端執(zhí)行,屬于頁面的“動態(tài)”
32、元素。</p><p> 本次系統(tǒng)設計采用JSP+Sverlet+JavaBean的經(jīng)典模式。JSP作為視圖;Svervlet作為控制器,控制程序的流程并調(diào)用業(yè)務進程處理;JavaBean封裝業(yè)務邏輯。遵循MVC設計模式。</p><p> 2.7 Oracle數(shù)據(jù)庫簡介</p><p> Oracle Database,簡稱Oracle,是甲骨文公司的一款關
33、系型數(shù)據(jù)庫管理系統(tǒng)。Oracle在數(shù)據(jù)庫領域一直處于領先地位。Oracle系統(tǒng)使用方便、可移植性好、功能強,它能夠適用于各類大、中、小、微機環(huán)境。是一種可靠性好、高效率的、適應高吞吐量的數(shù)據(jù)庫解決方案。</p><p> 2.8 Eclipse neno.3和PLSQL簡介</p><p> Eclipse是一個開發(fā)源代碼的、基于java的擴展開發(fā)平臺。Eclipse Neon是Ecl
34、ipse最新版,這個版本的IDE支持Java、JaveScript、C/C++、PHP等多種編程語言。</p><p> PL/SQL Developer也是一個集成開發(fā)環(huán)境,它是專門開發(fā)面向 Oracle數(shù)據(jù)庫的應用。</p><p> 2.9 Tomcat簡介</p><p> Tomcat服務器是一個免費的開放源代碼的Web應用服務器。</p>
35、;<p> Tomcat技術先進、性能穩(wěn)定且免費。在運行時占用的系統(tǒng)資源小,而且擴展性好,還支持負載平衡與郵件服務等開發(fā)應用系統(tǒng)常用的功能。受到了許多Java愛好者的喜愛并得到部分軟件開發(fā)商的認可,Tomcat以其獨特的優(yōu)勢成為目前比較流行的Web應用服務器。Tomcat是一個小型的通用性輕量級應用服務器,在中小型系統(tǒng)中被普遍使用,是開發(fā)和調(diào)試JSP程序的首選。</p><p><b>
36、 三、系統(tǒng)分析</b></p><p><b> 3.1 可行性分析</b></p><p> 可行性分析,顧名思義就是運用合理的分析方法去分析,證明要進行的項目、工程、方案等是否可行。并且具有必要性、迫切性、科學性。判斷原定的系統(tǒng)規(guī)模和目標是否現(xiàn)實,系統(tǒng)完成后能否帶來預期的效益??尚行匝芯繉嵸|(zhì)上是要進行一次大大壓縮簡化了的系統(tǒng)分析和設計的過程,可行
37、性分析是建設項目決策階段最重要的工作,可行性分析可以讓我們用最小的代價在盡可能短的時間內(nèi),確定問題是否能夠解決,從而確定問題是否值得去解決。</p><p> 系統(tǒng)的可行性分析主要包括經(jīng)濟上的可行性,技術上的可行性和操作上的可行性。</p><p> 3.1.1 技術上可行性</p><p> 新聞發(fā)布系統(tǒng)是基于java語言編寫的系統(tǒng),具有java的一次編寫,
38、到處運行的優(yōu)點,所以此系統(tǒng)可以在不同的操作系統(tǒng)上運行,具有較強的移植性、健全性和安全性。新聞發(fā)布系統(tǒng)應具備功能完備、易于使用、易于維護等特點,而對于易于維護這一特點則要求能建立數(shù)據(jù)一致和完整性強、數(shù)據(jù)安全性好的數(shù)據(jù)庫。為符合這些要求,本系統(tǒng)采用Eclipse neno.3作為開發(fā)工具,大大簡化了代碼的編寫過程。數(shù)據(jù)庫采用Oracle數(shù)據(jù)庫,java對Oracle具有良好的支持。所有經(jīng)過以上分析認為此系統(tǒng)在技術上是可行的。</p&g
39、t;<p> 3.1.2 操作上可行性</p><p> 新聞發(fā)布系統(tǒng)具有友好美觀的用戶界面,使用方便,易于維護,操作簡單易于被用戶接受,用戶只需要具有一定的計算機操作基礎就可以使用本系統(tǒng)。因此從操作方面看,此系統(tǒng)的開發(fā)是可行的。</p><p> 3.1.3 經(jīng)濟上可行性</p><p> 本新聞發(fā)布系統(tǒng)運行的硬件環(huán)境只需一臺電腦即可,軟件環(huán)
40、境則是安裝Windows系統(tǒng),Eclipse neno.3,Oracle數(shù)據(jù)庫即可。成本支出很小。因此此系統(tǒng)在經(jīng)濟上、技術上、操作上的開發(fā)都是可行的。</p><p><b> 3.2系統(tǒng)E-R圖</b></p><p> 圖3-1 系統(tǒng)E-R圖</p><p><b> 3.3系統(tǒng)功能分析</b></p>
41、;<p> 滿足用戶的需求,實現(xiàn)新聞管理的流程。整個系統(tǒng)涉及六大功能模塊:用戶瀏覽模塊、評論模塊、系統(tǒng)管理、新聞版塊管理、新聞統(tǒng)計管理、新聞管理。各個模塊之間又有著一定的聯(lián)系。相互之間的聯(lián)系在后臺進行處理,然后將相應的頁面在前臺進行展示。通過前后臺的相互結(jié)合,用戶可以在前臺進行瀏覽,也可以獲取管理員的身份在后臺進行相應的管理操作。</p><p> 本系統(tǒng)主要包括前臺的數(shù)據(jù)展示和后臺的業(yè)務邏輯處
42、理。前臺的系統(tǒng)功能主要包括兩個模塊:</p><p> (1)用戶瀏覽模塊:用戶可以瀏覽自己感興趣的新聞內(nèi)容。 </p><p> (2)評論模塊:當用戶瀏覽完相應的新聞后,可以對該新聞發(fā)表自己的看法。</p><p> 后臺系統(tǒng)功能主要包括四個大模塊(根據(jù)用戶的身份得到相應的權(quán)限):</p><
43、;p> (1)系統(tǒng)管理:里面主要包括部門管理、用戶管理、權(quán)限角色管理</p><p> (2)新聞版塊管理:其子菜單為版塊的基本管理,版塊的狀態(tài)管理,其中版塊的基本管理即對版塊進行增刪改查的操作。版塊的狀態(tài)管理主要是對版塊是否熱門、是否前臺顯示做相應的設置(3)新聞統(tǒng)計:主要功能是新聞統(tǒng)計報表和新聞統(tǒng)計圖,可根據(jù)新聞統(tǒng)計功能對社會新聞做出分析,了解人們的生活狀態(tài)習慣。</p><p&
44、gt; (4)新聞管理:主要功能包括新聞發(fā)布、新聞狀態(tài)管理、新聞信息管理。其中新聞狀態(tài)管理主要是對新聞是否熱門、是否前臺顯示做相應的設置。</p><p><b> 四、系統(tǒng)設計</b></p><p><b> 4.1 設計思想</b></p><p> 本系統(tǒng)的用戶角色的分配主要為普通的游客和新聞管理者。普通的
45、游客可以在前臺的頁面進行新聞的瀏覽,而新聞的管理者可以在點擊前臺的登錄頁面進入后臺的管理頁面,進行新聞的管理。</p><p> 4.2 系統(tǒng)功能模塊</p><p><b> 如圖4-1。</b></p><p> 圖4-1 系統(tǒng)功能模塊圖</p><p> 4.3 系統(tǒng)流程分析</p><
46、p> 本系統(tǒng)主要流程如下圖4-2。</p><p> 圖4-2 系統(tǒng)流程圖</p><p> 4.4 數(shù)據(jù)庫結(jié)構(gòu)設計</p><p> 4.4.1 系統(tǒng)數(shù)據(jù)庫性能需求</p><p> 首先整個系統(tǒng)應當設計的操作簡便,界面簡潔友好,后期的維護方便。對于數(shù)據(jù)庫,我們一般要求能夠做到運行穩(wěn)定,執(zhí)行速度快,數(shù)據(jù)安全性高。軟件系統(tǒng)本身
47、運行對計算機硬件平臺和操作系統(tǒng)平臺要求適中。</p><p> 在整個開發(fā)過程中,數(shù)據(jù)庫技術是信息資源管理最有效的手段。一個優(yōu)秀的數(shù)據(jù)庫設計能夠在一個指定的應用環(huán)境中,為整個系統(tǒng)構(gòu)造最優(yōu)的數(shù)據(jù)庫模式,建立數(shù)據(jù)庫及其應用系統(tǒng),為系統(tǒng)的開發(fā)有效的存儲數(shù)據(jù),實現(xiàn)用戶信息要求和處理要求。一個數(shù)據(jù)庫結(jié)構(gòu)設計的好壞可以直接影響應用系統(tǒng)的效率及實現(xiàn)的效果。合理的數(shù)據(jù)庫設計可以提高數(shù)據(jù)存儲的效率,保證數(shù)據(jù)的完整和一致。本系統(tǒng)采
48、用Oracle數(shù)據(jù)庫,靈活方便。</p><p> 4.4.2數(shù)據(jù)庫需求分析</p><p> 此系統(tǒng)是一個小型的新聞發(fā)布系統(tǒng),設計如下的數(shù)據(jù)項和數(shù)據(jù)結(jié)構(gòu):</p><p> 用戶信息的輸入包括:登錄賬號、登錄密碼、用戶姓名、用戶角色、用戶所在部門等。</p><p> 部門信息的輸入包括:部門名稱、備注信息等。</p>
49、<p> 權(quán)限信息的輸入包括:權(quán)限名稱、權(quán)限級別、父級權(quán)限、權(quán)限說明、備注信息等。</p><p> 角色信息的輸入包括:角色名稱、角色說明等。</p><p> 新聞版塊信息的輸入包括:新聞版塊名稱、是否熱門、是否前臺顯示、版塊說明等。</p><p> 新聞信息的輸入包括:標題、內(nèi)容、是否熱門、是否前臺顯示、所屬版塊、新聞發(fā)布人、發(fā)布時間等。
50、</p><p> 4.4.3 數(shù)據(jù)字典設計及數(shù)據(jù)庫表命名規(guī)則</p><p> 1.部門信息表4-1。</p><p> 表4-1 部門信息表</p><p> 2.權(quán)限信息表4-2。</p><p> 表4-2 權(quán)限信息表</p><p> 3.角色信息表4-3。</p&g
51、t;<p> 表4-3 角色信息表</p><p> 4.角色權(quán)限關聯(lián)表4-4。</p><p> 表4-4 角色權(quán)限關聯(lián)表</p><p> 5.用戶信息表4-5。</p><p> 表4-5 用戶信息表</p><p> 6.新聞版塊信息表4-6。</p><p>
52、 表4-6 角色信息表</p><p> 7.新聞信息表4-7。</p><p> 表4-7 新聞信息表</p><p> 4.4.4 創(chuàng)建序列</p><p><b> --創(chuàng)建序列</b></p><p><b> --1.1部門</b></p>
53、<p> create sequenceseq_dept</p><p> increment by 1</p><p> maxvalue 1000000</p><p> minvalue 1</p><p><b> nocycle</b></p><p><b
54、> cache 10;</b></p><p><b> --1.2權(quán)限</b></p><p> create sequence seq_power;</p><p><b> --1.3角色</b></p><p> create sequence seq_role;
55、</p><p><b> --1.4用戶</b></p><p> create sequence seq_user;</p><p><b> --1.5新聞版塊</b></p><p> create sequence seq_tip;</p><p><
56、b> --1.6新聞信息</b></p><p> create sequence seq_news;</p><p> create sequence seq_comment;</p><p><b> 五、主要功能的實現(xiàn)</b></p><p> 5.1 系統(tǒng)代碼框架</p>
57、<p> 本次系統(tǒng)的核心結(jié)構(gòu)主要是每個對象的相應的Bean類,對象實現(xiàn)的功能的方法Dao以及方法的實現(xiàn)類,相應的業(yè)務邏輯,以及業(yè)務邏輯的實現(xiàn)類,還有對象實現(xiàn)功能請求的Servlet。一些工具封裝在工具包util里面。</p><p> 圖5-1 系統(tǒng)代碼框架</p><p> 5.2 系統(tǒng)登錄界面</p><p> 用戶在登陸本新聞管理系統(tǒng)的時候
58、,只需要輸入正確的用戶名、密碼即可登錄本系統(tǒng)。</p><p> 圖5-2 系統(tǒng)登錄界面</p><p><b> 核心實現(xiàn)代碼如下:</b></p><p> UserDaoImpl:</p><p><b> @Override</b></p><p> pub
59、lic UserBean findUser(String username, String password) {</p><p><b> try {</b></p><p> String sql = "select *from t_user where loginname = ? and password = ?";</p>
60、<p> return qr.query(sql,new BeanHandler<UserBean>(UserBean.class),username,password);</p><p> } catch (SQLException e) {</p><p> throw new RuntimeException();</p><p>
61、; UserServiceImpl:</p><p><b> @Override</b></p><p> public UserBean findUser(String username, String password) {</p><p> return UserDao.findUser(username, password);
62、</p><p><b> UserServ:</b></p><p> public void login(HttpServletRequest request, HttpServletResponse response) throws Exception{</p><p> String username = request.getP
63、arameter("username");</p><p> String password = request.getParameter("password");</p><p> UserBean user = userService.findUser(username, password);</p><p> if
64、(user != null){</p><p> if(user.getUsername() != null){</p><p> HttpSession session = request.getSession();</p><p> session.setAttribute("curruser", user);</p>&
65、lt;p> List<PowerBean> powerBeans = powerService.findPowerByUserId(user.getUserid());</p><p> request.getServletContext().setAttribute("powerBeans", powerBeans);</p><p> req
66、uest.getRequestDispatcher("jsp/sys/index.jsp").forward(request, response);</p><p><b> }else{</b></p><p> request.getRequestDispatcher("jsp/error/500.jsp").forwa
67、rd(request, response);</p><p><b> }</b></p><p><b> }else{</b></p><p> request.getRequestDispatcher("login.jsp").forward(request, response);</
68、p><p><b> }</b></p><p><b> }}</b></p><p><b> 5.3 系統(tǒng)管理</b></p><p> 5.3.1 部門管理</p><p> 部門管理主要是對部門的曾刪改查。當用戶點擊相應的按鈕,就能夠?qū)?/p>
69、現(xiàn)相應的功能。</p><p> 圖 5-3 部門列表</p><p><b> 實現(xiàn)代碼:</b></p><p> DeptDaoImpl:</p><p><b> @Override</b></p><p> public List<DeptBean&
70、gt; findAllDept() {</p><p><b> try {</b></p><p> StringBuilder sql = new StringBuilder();</p><p> sql.append(" SELECT");</p><p> sql.
71、append("HUAS.T_DEPT.DEPTID, ");</p><p> sql.append("HUAS.T_DEPT.DEPTNAME, ");</p><p> sql.append("HUAS.T_DEPT.MEMO ");</p><p> sql.append(
72、" FROM ");</p><p> sql.append("HUAS.T_DEPT ");</p><p> return qr.query(sql.toString(), new BeanListHandler<DeptBean>(DeptBean.class));<
73、;/p><p> } catch (SQLException e) {</p><p> throw new RuntimeException(e);</p><p> DeptServiceImpl:</p><p><b> @Override</b></p><p> public L
74、ist<DeptBean> findAllDept() {</p><p> return DeptDao.findAllDept();</p><p><b> }</b></p><p> DeptServ:</p><p> public void findAllDept(HttpServle
75、tRequest request, HttpServletResponse response) throws Exception{</p><p> List<DeptBean> depts = deptService.findAllDept();</p><p> request.getServletContext().setAttribute("depts&q
76、uot; , depts);</p><p> request.getRequestDispatcher("jsp/sys/dept/deptList.jsp").forward(request, response);</p><p><b> }</b></p><p><b> }</b>&l
77、t;/p><p><b> 添加部門</b></p><p> 添加部門的頁面包括部門名稱和部門備注信息的填寫,信息填寫完整后點擊添加就可以將數(shù)據(jù)添加到數(shù)據(jù)庫中,點擊返回可以返回部門列表頁面。</p><p><b> 圖5-4 添加部門</b></p><p><b> 實現(xiàn)代碼如下
78、:</b></p><p> DeptDaoImpl:</p><p><b> @Override</b></p><p> public void save(String deptname, String momo) {</p><p> StringBuilder sql = new Strin
79、gBuilder();</p><p> sql.append("insert into t_dept values(seq_dept.nextval,?,?)");</p><p><b> try {</b></p><p> qr.update(sql.toString(), deptname,momo);<
80、;/p><p> } catch (Exception e) {</p><p> throw new RuntimeException(e);</p><p><b> }</b></p><p><b> } </b></p><p> DeptServiceImp
81、l:</p><p><b> @Override</b></p><p> public void save(String deptname, String momo) {</p><p> DeptDao.save(deptname, momo);</p><p><b> } </b>
82、;</p><p><b> DeptServ:</b></p><p> private void add(HttpServletRequest request, HttpServletResponse response) throws Exception{</p><p> String deptname = request.getP
83、arameter("deptname");</p><p> String momo = request.getParameter("memo");</p><p> deptService.save(deptname,momo);</p><p> findAllDept(request, response);<
84、/p><p><b> }</b></p><p><b> }</b></p><p><b> 修改部門信息</b></p><p> 在部門列表點擊修改就會進入修改部門的頁面中,可以在頁面中修改部門名稱和部門備注。信息填寫完整后點擊修改就可以將修改后的數(shù)據(jù)添加到數(shù)據(jù)庫
85、中,點擊返回可以返回部門列表頁面。</p><p> 圖5-5 修改部門信息</p><p><b> 實現(xiàn)代碼:</b></p><p> DeptDaoImpl:</p><p><b> @Override</b></p><p> public void u
86、pdate(int deptid, String deptname, String memo) {</p><p><b> try {</b></p><p> String sql ="UPDATE t_dept SET deptname=?,memo=? where deptid=?";</p><p> qr.
87、update(sql,deptname,memo,deptid);</p><p> } catch (Exception e) {</p><p> throw new RuntimeException(e);</p><p><b> }</b></p><p><b> }</b>&l
88、t;/p><p> DeptServiceImpl:</p><p><b> @Override</b></p><p><b> @Override</b></p><p> public void update(int deptid, String deptname, String mem
89、o) {</p><p> DeptDao.update(deptid,deptname,memo);</p><p><b> }</b></p><p><b> DeptServ:</b></p><p> private void update(HttpServletRequest
90、request, HttpServletResponse response) throws Exception {</p><p> int deptid = Integer.parseInt(request.getParameter("deptid"));</p><p> String deptname = request.getParameter("
91、deptname");</p><p> String memo = request.getParameter("memo");</p><p> deptService.update(deptid,deptname,memo);</p><p> findAllDept(request, response);</p>
92、<p><b> }</b></p><p><b> 刪除部門</b></p><p> 點擊刪除,就會把數(shù)據(jù)在數(shù)據(jù)庫中刪除,列表頁面也將不在出現(xiàn)刪除的那個部門的數(shù)據(jù)。</p><p><b> 實現(xiàn)代碼:</b></p><p><b>
93、DeptDao:</b></p><p><b> @Override</b></p><p> public void delete(int deptid) {</p><p> DeptDao.delete(deptid);</p><p><b> }</b></
94、p><p> DeptDaoImpl:</p><p><b> @Override</b></p><p> public void delete(int deptid) {</p><p><b> try {</b></p><p> StringBuilder
95、sql = new StringBuilder();</p><p> sql.append(" delete from t_dept where deptid = ? ");</p><p> qr.update(sql.toString(),deptid);</p><p> } catch (SQLException e) {<
96、/p><p> e.printStackTrace();</p><p><b> }</b></p><p><b> }</b></p><p> DeptService:</p><p> void delete(int deptid);</p>&
97、lt;p> DeptServiceImpl:</p><p><b> @Override</b></p><p> public void delete(int deptid) {</p><p> DeptDao.delete(deptid);</p><p><b> }</b&
98、gt;</p><p><b> DeptServ:</b></p><p> private void delete(HttpServletRequest request, HttpServletResponse response) throws Exception {</p><p> int deptid = Integer.par
99、seInt(request.getParameter("deptid"));</p><p> deptService.delete(deptid);</p><p> findAllDept(request, response);</p><p><b> }</b></p><p> 5.
100、3.2 權(quán)限角色管理</p><p> 權(quán)限角色管理可以查看所有的權(quán)限。包括權(quán)限名稱、權(quán)限等級、父級權(quán)限、權(quán)限地址、權(quán)限描述等。</p><p> 圖 5-6 權(quán)限列表</p><p><b> 實現(xiàn)代碼:</b></p><p> PowerDaoImpl:</p><p> publ
101、ic List<PowerBean> findAllPower() {</p><p><b> try {</b></p><p> StringBuilder sql = new StringBuilder();</p><p> sql.append(" SELECT");<
102、/p><p> sql.append("HUAS.T_POWER.POWERID, ");</p><p> sql.append("HUAS.T_POWER.POWERNAME, ");</p><p> sql.append("HUAS.T_POWER. LEVELS, ");</
103、p><p> sql.append("HUAS.T_POWER.PPOWERID, ");</p><p> sql.append("HUAS.T_POWER.URL, ");</p><p> sql.append("HUAS.T_POWER.MEMO ");</p
104、><p> sql.append(" FROM ");</p><p> sql.append("HUAS.T_POWER ");</p><p> return qr.query(sql.toString(), new BeanListHandler<
105、PowerBean>(PowerBean.class));</p><p> } catch (SQLException e) {</p><p> throw new RuntimeException(e);</p><p><b> }</b></p><p><b> }</b>
106、</p><p><b> @Override</b></p><p> public PowerBean findCurrPower(int powerid) {</p><p> String sql = "";</p><p> return null;</p><p
107、><b> }</b></p><p> PowerServiceImpl:</p><p> public List<PowerBean> findAllPower() {</p><p> return powerDao.findAllPower();</p><p><b>
108、}</b></p><p><b> }</b></p><p> PowerServ:</p><p> public void findAllPower(HttpServletRequest request, HttpServletResponse response) throws Exception{</p>
109、;<p> List<PowerBean> powerBeans = powerService.findAllPower();</p><p> request.getServletContext().setAttribute("powerBeans", powerBeans);</p><p> request.getRequestDi
110、spatcher("jsp/sys/power/powerList.jsp").forward(request, response);</p><p><b> }</b></p><p><b> }</b></p><p> 5.3.3 用戶管理</p><p> 用
111、戶管理包括對用戶的增刪改查。</p><p> 圖 5-7 用戶列表</p><p><b> 實現(xiàn)代碼:</b></p><p> UserDaoImpl:</p><p><b> @Override</b></p><p> public List<Us
112、erBean> findAllUser() {</p><p><b> try {</b></p><p> StringBuilder sql = new StringBuilder();</p><p> sql.append(" SELECT" );</p><p&
113、gt; sql.append("HUAS.T_USER.USERID, " );</p><p> sql.append("HUAS.T_USER.LOGINNAME, " );</p><p> sql.append("HUAS.T_USER. PASSWORD, " );</p>&
114、lt;p> sql.append("HUAS.T_USER.USERNAME, " );</p><p> sql.append("HUAS.T_USER.ROLEID, " );</p><p> sql.append("HUAS.T_USER.DEPTID " );</p&g
115、t;<p> sql.append(" FROM " );</p><p> sql.append("HUAS.T_USER " );</p><p> sql.append("" );</p><p> retu
116、rn qr.query(sql.toString(), new BeanListHandler<UserBean>(UserBean.class));</p><p> } catch (SQLException e) {</p><p> throw new RuntimeException(e);</p><p><b> }<
117、/b></p><p> UserServiceImpl:</p><p><b> @Override</b></p><p> public List<UserBean> findAllUser() {</p><p> // TODO Auto-generated method stub&
118、lt;/p><p> return UserDao.findAllUser();</p><p><b> }</b></p><p><b> UserServ:</b></p><p> public void findAllUser(HttpServletRequest request,
119、HttpServletResponse response) throws Exception{</p><p> List<UserBean> users = userService.findAllUser();</p><p> request.getServletContext().setAttribute("users", users);</
120、p><p> request.getRequestDispatcher("jsp/sys/user/userList.jsp").forward(request, response);</p><p><b> }</b></p><p><b> 添加用戶</b></p><p&
121、gt; 點擊用戶列表左下方的添加按鈕,進入添加用戶的頁面,填寫用戶姓名、登錄名稱、密碼、角色、部門等信息。點擊添加就可以將創(chuàng)建一個新的用戶。</p><p> 圖 5-8 添加用戶</p><p><b> 實現(xiàn)代碼:</b></p><p> UserDaoImpl:</p><p><b> @O
122、verride</b></p><p> public void add(String username, String loginname, String password, int roleid, int deptid) {</p><p><b> try {</b></p><p> String sql ="
123、;insert into t_user values(seq_user.nextval,?,?,?,?,?)";</p><p> qr.update(sql, username, loginname, password, roleid, deptid);</p><p> } catch (Exception e) {</p><p> throw
124、 new RuntimeException(e);</p><p><b> }</b></p><p><b> }</b></p><p> UserServiceImpl:</p><p><b> @Override</b></p><p&g
125、t; public void add(String username, String loginname, String password, int roleid, int deptid) {</p><p> UserDao.add(username, loginname, password, roleid, deptid);</p><p><b> }</b&g
溫馨提示
- 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 新聞發(fā)布系統(tǒng)
- jsp新聞發(fā)布課程設計---新聞發(fā)布系統(tǒng)
- 新聞發(fā)布系統(tǒng) (2)
- 《新聞發(fā)布系統(tǒng)》論文
- 新聞發(fā)布更新系統(tǒng)
- 新聞發(fā)布系統(tǒng)畢業(yè)設計
- 新聞發(fā)布系統(tǒng)課程設計
- 新聞發(fā)布系統(tǒng)畢業(yè)論文
- 新聞發(fā)布系統(tǒng)課程設計
- 新聞發(fā)布系統(tǒng)(畢業(yè)論文)
- 畢業(yè)論文——新聞發(fā)布系統(tǒng)
- 新聞發(fā)布系統(tǒng)課程設計
- 新聞發(fā)布系統(tǒng)畢業(yè)論文
- 新聞發(fā)布系統(tǒng)課程設計
- 《新聞發(fā)布系統(tǒng)》畢業(yè)設計
- 基于.net的新聞發(fā)布系統(tǒng)
- 新聞發(fā)布系統(tǒng)畢業(yè)論文
- 新聞發(fā)布系統(tǒng)畢業(yè)論文
- 畢業(yè)論文——新聞發(fā)布系統(tǒng)
- 新聞發(fā)布系統(tǒng)畢業(yè)論文
評論
0/150
提交評論