




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
基于MVC的小型新聞發(fā)布系統(tǒng)頁基于MVC的小型新聞發(fā)布系統(tǒng)
目錄 TOC\o"1-4"\h\u第1章前言 4第2章系統(tǒng)概述 42.1設計模式 42.1.1MVC模式基本原理 52.2.2MVCModel1 62.2.3MVCModel2 62.3小結 7第3章系統(tǒng)設計 73.1系統(tǒng)總體設計 73.1.1系統(tǒng)構架 73.1.2系統(tǒng)類設計 83.2視圖層設計 93.2.1前臺設計 93.2.2后臺設計 93.3模型層設計 103.3.1前臺顯示和用戶登錄 103.3.2新聞管理 103.3.3欄目管理 113.4控制層設計 113.4.1用戶登錄 113.4.2新聞管理 113.4.3欄目管理 113.5數(shù)據(jù)庫設計 113.5.1數(shù)據(jù)庫概念設計 113.5.2數(shù)據(jù)庫表設計 123.6數(shù)據(jù)庫連接設計 133.6.1傳統(tǒng)的數(shù)據(jù)庫連接 133.7小結 16第4章系統(tǒng)實現(xiàn) 164.1視圖層實現(xiàn) 164.1.1公共頁面 164.1.2前臺實現(xiàn) 184.1.3后臺實現(xiàn) 194.2模型層實現(xiàn) 214.2.1新聞顯示 214.2.2新聞管理 224.2.3欄目管理 224.3控制層實現(xiàn) 224.3.1用戶登錄 234.3.2新聞管理 234.3.3欄目管理 244.4小結 24第5章系統(tǒng)運行測試 245.1系統(tǒng)測試環(huán)境 245.1.1系統(tǒng)測試硬件環(huán)境 245.1.2系統(tǒng)測試軟件環(huán)境 245.2系統(tǒng)測試 25總結 26伴隨著網(wǎng)絡的出現(xiàn),網(wǎng)頁逐漸融入人們的生活??焖偌皶r的新聞瀏覽,五彩繽紛的網(wǎng)上信息,使網(wǎng)絡與人們的生活息息相關,于是世界上出現(xiàn)了第三媒體——Internet。它打破了地域限制,真正使信息得以共享,改變了人們的工作和生活方式。人們對信息的需求有了更新,更高的要求,而網(wǎng)頁由于本身所具有的信息量大,傳遞快速,沒有時空限制等特點恰好滿足這種要求。也正是由于網(wǎng)絡實現(xiàn)網(wǎng)站的數(shù)據(jù)信息能夠進行實時交互,保證網(wǎng)站數(shù)據(jù)的實時性。隨著Internet信息技術的高速發(fā)展,越來越多的企業(yè)想將自己企業(yè)的信息通過網(wǎng)絡與全世界分享并最終實現(xiàn)電子商務,所以它們已經(jīng)建立或計劃建立自己的網(wǎng)站。但是,如果為了建立和維護自己的網(wǎng)站而聘請專職的網(wǎng)絡技術人員,其成本對于一個中小型企業(yè)來說實在是太高了。對于上面這類企業(yè)來說,他們最需要的就是一個現(xiàn)成的可以自動發(fā)布信息的新聞發(fā)布系統(tǒng),這樣只要會打字,會上網(wǎng)就能利用新聞發(fā)布系統(tǒng)快速簡潔地發(fā)布企業(yè)信息。然而傳統(tǒng)的信息發(fā)布方式已經(jīng)不適應這個快速變化的信息時代,需要一個更高效,更簡潔的方式進行信息發(fā)布。內容管理系統(tǒng)正是基于這樣一個目的而誕生的,它是企業(yè)信息化建設和電子政務的新寵。它的基本思想是分離信息內容和表現(xiàn)形式,內容存儲在數(shù)據(jù)庫或獨立的文件中,而表現(xiàn)形式存儲在模版里。當用戶請求頁面時,各部分聯(lián)合生成一個標準的HTML頁面;當信息修改時,用戶只需在一個可視化的界面對信息內容進行修改。大大縮短了信息的更新時間,提高了效率,并且簡化了操作。本設計便是基于內容管理思想的一個新聞發(fā)布系統(tǒng),以下各章從系統(tǒng)概述、需求分析、系統(tǒng)設計、系統(tǒng)實現(xiàn)、系統(tǒng)運行測試和系統(tǒng)評價與改進依次展現(xiàn)系統(tǒng)開發(fā)過程。本章主要介紹在系統(tǒng)開發(fā)過程中所采用系統(tǒng)設計模式。2.1設計模式隨著Web技術的發(fā)展,Web內容從一些靜態(tài)頁面發(fā)展到內容豐富的動態(tài)頁面。目前,用于生成動態(tài)網(wǎng)頁較為流行的技術有Microsoft的ASP、Tex的PHP和Sun的JSP。ASP只能工作在微軟的IIS(InternetInformationServer)和PWS(PersonalWebServer)上及PHP模式,一些天生缺陷使得它們的使用受到了一定的制約。而JSP是一種完全與平臺無關的開發(fā)新技術,它集極高的運行效率,較短的開發(fā)周期,超強的擴展能力,完全開放的技術標準,自由的開發(fā)方式等眾多完美特性于一身。JSP+JavaBean+Servlet+JDBC是一套能夠實現(xiàn)動態(tài)網(wǎng)站的開發(fā)和維護的技術。JDBC用于連接數(shù)據(jù)庫并對數(shù)據(jù)庫進行存儲,Servlet用于處理過程控制,JavaBean用于封裝業(yè)務邏輯,JSP用于頁面顯示部分。而MVC正是這種設計模式代表。2.1.1MVC模式基本原理MVC(Model-View-Controller),即把一個應用的輸入、處理、輸出流程按照Model,View,Controller的方式進行分離,這樣一個應用被分成三個層——模型層、視圖層、控制層,其三層之間的關系和功能如圖2-1“MVC組件類型關系和功能圖”。圖2-1 MVC組件類型關系和功能圖MVC設計模式的典型流程[4]為:首先Controller接收用戶的請求,并決定應該調用哪個Model來進行處理,然后Model用業(yè)務邏輯來處理用戶的請求并返回數(shù)據(jù),最后Controller用相應的View格式化Model返回的數(shù)據(jù),并通過表示層呈現(xiàn)給用戶??刂茖?Controller)可以理解為從用戶接收請求,將模型與視圖匹配在一起,共同完成用戶的請求。劃分控制層的作用也很明顯,它清楚地告訴我們,它就是一個分發(fā)器,選擇什么樣的模型,選擇什么樣的視圖,可以完成什么樣的用戶請求??刂茖硬⒉蛔鋈魏蔚臄?shù)據(jù)處理。例如,用戶點擊一個鏈接,控制層接受請求后,并不處理業(yè)務信息,它只把用戶的信息傳遞給模型,告訴模型做什么,選擇符合要求的視圖返回給用戶。因此,一個模型可能對應多個視圖,一個視圖可能對應多個模型。模型層(Model)就是業(yè)務流程/狀態(tài)的處理以及業(yè)務規(guī)則的制定。業(yè)務流程的處理過程對其它層來說是黑箱操作,模型接受視圖請求的數(shù)據(jù),并返回最終的處理結果。業(yè)務模型的設計可以說是MVC最主要的核心,必須能夠滿足大多數(shù)客戶的需求,包括保證應用程序各組件的事務整合、維護并快速獲取應用數(shù)據(jù),支持事務工作流的協(xié)調以及在已有應用程序中集成新的應用組件等。MVC并沒有提供模型的設計方法,而只告訴我們應該組織管理這些模型,以便于模型的重構和提高重用性。視圖層(View)代表用戶交互界面,對于Web應用來說,可以概括為HTML界面,但有可能為XHTML,XML和Applet。隨著應用的復雜性和規(guī)模性,界面的處理也變得具有挑戰(zhàn)性。一個應用可能有很多不同的視圖,MVC設計模式對于視圖的處理僅限于視圖上數(shù)據(jù)的采集和處理,以及用戶的請求,而不包括在視圖上的業(yè)務流程的處理。業(yè)務流程的處理交予模型(Model)處理。2.2.2MVCModel1在MVC模式的Model1體系中,JSP頁面獨立響應請求并將出理結果返回客戶,所有的數(shù)據(jù)存取都是由JavaBean來完成。Model1體系十分適合簡單應用需要,卻不能滿足復雜的大型應用程序的實現(xiàn)。MVCModel1的體系結構如圖2-2所示。圖2-2 MVCModel1體系結構圖2.2.3MVCModel2MVC模式的Model2體系結構是一種把JSP與Servlet聯(lián)合起來實現(xiàn)動態(tài)內容服務的方法。它吸取了兩種技術的優(yōu)點,用JSP生成表達層的內容,讓Servlet完成深層次的處理任務。這是一種有代表性的方法,它清晰地分離了表達和內容,明確了角色的定義及開發(fā)者與網(wǎng)頁設計者的分工。本系統(tǒng)的設計模式選擇的便是Model2。MVCModel2的體系結構如圖2-3所示。圖2-3 MVCModel2體系結構圖2.3小結本章對MVC設計模式基本原理進行了詳細闡述,并介紹了MVC的兩種不同的模式Model1和Model2,并確定本系統(tǒng)的設計模式便是MVCModel2。根據(jù)上一章的需求用例分析,本章從先總體構架的角度對系統(tǒng)進行總體設計,然后根據(jù)MVC三層模式對系統(tǒng)進行詳細設計,最后對系統(tǒng)數(shù)據(jù)庫和數(shù)據(jù)庫連接池進行了設計。3.1系統(tǒng)總體設計3.1.1系統(tǒng)構架系統(tǒng)基于MVCModel2設計模式,設計出本系統(tǒng)自己的設計模式,在MVCModel2基礎上加入數(shù)據(jù)庫連接池模塊層對數(shù)據(jù)庫操作進行封裝。具體模式圖如圖3-1。圖3-1 系統(tǒng)設計模式圖對于MVC設計模式,在本系統(tǒng)中具體實現(xiàn)方式是:Model由JavaBean完成,View由JSP完成,Controller由Servlet完成,再加上數(shù)據(jù)庫連接池專門負責數(shù)據(jù)庫連接和管理。本系統(tǒng)具體構架如圖3-2。圖3-2 系統(tǒng)構架圖3.1.2系統(tǒng)類設計在本系統(tǒng)中,根據(jù)對系統(tǒng)需求的分析,可以總結出如下的需求集:(1)系統(tǒng)應該分為前臺和后臺;(2)系統(tǒng)前臺應該可以顯示新聞欄目和新聞以及用于管理員登錄系統(tǒng)后臺的登錄界面;(3)一般用戶應該可以在前臺自由瀏覽新聞,包括選擇性地瀏覽新聞即先選擇新聞欄目再瀏覽新聞欄目下的新聞條目;(4)注冊用戶可以發(fā)表相關新聞的評論;(4)系統(tǒng)管理員應該可以登錄到系統(tǒng)后臺;(5)系統(tǒng)管理員應該可以對新聞欄目和新聞進行查看、修改、刪除和添加操作,也可以對注冊用戶管理,同時還可以對相關新聞的評論進行管理。由以上需求集進一步分析可知:(1)“新聞欄目”和“新聞”為系統(tǒng)的兩個主要內容,所以應該分別作為一個類,而新聞欄目和新聞的顯示需要管理類進行管理,系統(tǒng)管理員要對欄目和新聞進行查看、添加、修改和刪除,也需要相應的管理類進行管理,所以,系統(tǒng)對于新聞欄目和新聞分別需要“欄目管理類”和“新聞管理類”;(2)系統(tǒng)中應該要有超級管理員、管理員、注冊用戶等角色,超級管理員是最高權限的,管理員是超級管理員發(fā)放的,注冊用戶是前臺注冊產(chǎn)生的。(3)系統(tǒng)要保存信息,必須用到數(shù)據(jù)庫,所以需要一個數(shù)據(jù)庫連接的類;(4)要將系統(tǒng)的各個功能執(zhí)行成功,少不了相應的控制類。因此,識別出系統(tǒng)主要的類:新聞管理類(NewsJdbc),欄目管理類(NewclaJdbc),用戶管理類(RoleJdbc),評論管理類(Pingl)數(shù)據(jù)庫連接的連接對象類(JdbcConn)以及各個Servlet類。3.2視圖層設計3.2.1前臺設計當一個用戶瀏覽新聞系統(tǒng)時,首先進入系統(tǒng)前臺界面。如果把一個系統(tǒng)比作一個人,那么前臺界面則是這個人的臉,因此系統(tǒng)的前臺界面的設計是比較重要的,并且,前臺界面應該被設計得比較簡潔,方便。首先,在本系統(tǒng)的前臺界面的頂部用戶可以看到一個專為注冊用戶提供的登錄入口,為用戶提供了方便。而對于一般用戶來說,他們也不會感覺這有何不妥,因為此登錄界面比較簡潔,并不會影響用戶正常地閱讀新聞。其次,在登錄界面的下方是新聞欄目的顯示,顯示系統(tǒng)新聞欄目數(shù)據(jù)庫中已有的新聞欄目,一目了然,用戶可以方便地找到自己喜歡和關心的新聞所在的欄目。再次,在新聞欄目的下方則是新聞條目的顯示,默認的新聞條目的顯示方式是以表格的形式將系統(tǒng)新聞數(shù)據(jù)表中的新聞按發(fā)布時間進行列表(發(fā)布較早的新聞被放在列表的后面,而發(fā)布較遲的新聞被放在列表的前面,體現(xiàn)了新聞的“新”,即“時效性”)。新聞列表中僅顯示新聞的標題,發(fā)布時間和新聞作者,如果想瀏覽整篇新聞,用戶可以點擊新聞標題(超鏈接)。然后,用戶可以對自己比較關心和感興趣的新聞進行有選擇性地瀏覽,這時新聞欄目便起作用了。當用戶點擊新聞所在的欄目時,系統(tǒng)在新聞列表中只顯示本欄目的新聞條目。用戶可以在此瀏覽自己關心和感興趣的新聞。3.2.2后臺設計后臺主頁面設計當用戶登錄到系統(tǒng)后臺時,他便成為系統(tǒng)管理員,可以執(zhí)行對新聞和欄目的查看、修改、刪除和添加。此界面主要是面向管理員的,界面要設計得簡潔方便,使得系統(tǒng)管理員在管理系統(tǒng)時容易操作。當管理員用戶登錄到系統(tǒng)后臺時,呈現(xiàn)到他眼前的是系統(tǒng)后臺管理的主頁面:首先,系統(tǒng)后臺主頁面左上角是歡迎詞(歡迎+用戶級別+管理員名),對于管理員,他可以感覺到系統(tǒng)的人性化;對于系統(tǒng)本身,系統(tǒng)可以識別此時登錄的是哪個管理員,可以分配管理員的權限。其次,歡迎詞下方是系統(tǒng)管理的功能選擇,一目了然,管理員可以在此選擇要操作的模塊進入,然后執(zhí)行相應的操作。再次,再往下就是系統(tǒng)新聞列表,與前臺新聞顯示類似,只是多了對新聞的操作(修改和刪除)。管理員可以在此對系統(tǒng)已有的新聞進行修改和刪除操作。添加新聞設計如果系統(tǒng)管理員在系統(tǒng)后臺主頁面中選擇“添加新聞”,管理員會進入下圖這樣一個頁面進行新聞的添加,添加完新聞標題和新聞正文內容后,還必須選擇所添加新聞所屬的新聞欄目。確認所有內容均已填好,點擊“發(fā)表”按鈕,新聞發(fā)布工作完成,如果點擊“清除”按鈕,則系統(tǒng)清除管理員剛才的所有輸入,讓管理員重新填寫新聞的各項內容。管理員可以在系統(tǒng)后臺主頁面中看到剛剛發(fā)表的新聞,可以對其進行相關操作。欄目管理設計如果系統(tǒng)管理員在系統(tǒng)后臺主頁面中選擇“欄目管理”,系統(tǒng)將鏈接到新聞欄目管理頁面。欄目管理頁面上有一些鏈接按鈕,可以讓管理員鏈接到其他頁面。鏈接按鈕下面是系統(tǒng)已有新聞欄目的列表,在此,管理員可以對新聞發(fā)布系統(tǒng)的欄目進行操作(編輯和刪除欄目)。如果管理員想要添加新聞欄目,只需點擊“添加欄目”,就可以被鏈接到添加新聞欄目頁面,添加欄目完成后,管理員可以在欄目管理主頁面的欄目列表中找到新添加的欄目,并對其進行相關操作。3.3模型層設計本系統(tǒng)模型層由JavaBean完成,模型層設計主要設計出完成各個功能模塊中模型層的JavaBean類。模型層的類主要新聞管理類NewsJdbc以及欄目管理類NewclaJdbc。3.3.1前臺顯示和用戶登錄在前臺顯示和用戶登錄模塊中,充當模型層的是News和Newcla根據(jù)系統(tǒng)分析中的系統(tǒng)前臺需求用例分析和上述的前臺界面功能描述,對系統(tǒng)的前臺的每一個流程、每一個模塊進行詳細功能設計。3.3.2新聞管理管理員在系統(tǒng)后臺主界面中可以對已有新聞進行管理(修改、刪除和添加),新聞管理模塊中充當模型層的仍然是News和Newcla。3.3.3欄目管理欄目管理中可以對已有欄目的編輯、刪除以及添加新欄目。3.4控制層設計3.4.1用戶登錄當用戶通過系統(tǒng)前臺提供的登錄入口登錄后臺系統(tǒng)時,系統(tǒng)將用戶的登錄信息提交給登錄控制層處理。所以登錄控制器必須對用戶登錄信息進行識別,判斷其是否有權限登錄到后臺系統(tǒng)。用戶登錄控制器由LoginServlet完成。3.4.2新聞管理新聞管理中主要涉及到新聞信息的添加、刪除和修改,所以其控制層由NewsServlet完成。3.4.3欄目管理欄目管理模塊主要對新聞欄目進行修改、刪除和添加,此功能模塊控制層由NewclaServlet完成。3.5數(shù)據(jù)庫設計3.5.1數(shù)據(jù)庫概念設計根據(jù)上面的數(shù)據(jù)庫需求分析,就可以構造出各種實體,以及并根據(jù)它們的關系繪制出實體間的E-R圖,為以后的邏輯設計打下基礎。如圖3-1為本新聞發(fā)布系統(tǒng)實體間的E-R圖。圖3-3 實體之間關系的E-R圖3.5.2數(shù)據(jù)庫表設計數(shù)據(jù)庫邏輯設計完畢后,現(xiàn)在可以將上面的數(shù)據(jù)庫概念結構轉化為某種數(shù)據(jù)庫系統(tǒng)所支持的實際數(shù)據(jù)庫模型。本系統(tǒng)使用Mysql數(shù)據(jù)庫。新聞發(fā)布系統(tǒng)的數(shù)據(jù)庫中各表的設計結果如下面幾個表所示。圖3-4 新聞欄目表圖3-5 新聞表圖3-6 用戶表圖3-7 評論表3.6數(shù)據(jù)庫連接設計3.6.1傳統(tǒng)的數(shù)據(jù)庫連接傳統(tǒng)的數(shù)據(jù)庫連接模式基本上是按以下步驟進行:①在主程序(如Servlet、Beans)中建立數(shù)據(jù)庫連接;②進行SQL操作,取出數(shù)據(jù);③斷開數(shù)據(jù)庫連接。本系統(tǒng)也是才用此鏈接方式,連接類JbdcConn.Java代碼如下:packagecom.newsinfo.db;importjava.sql.Connection;importjava.sql.DriverManager;importjava.sql.ResultSet;importjava.sql.SQLException;importjava.sql.Statement;publicclassJdbcConn{ privateJdbcConn(){ } static{ try{ //1.加載數(shù)據(jù)庫連接驅動 Class.forName("com.mysql.jdbc.Driver"); }catch(ClassNotFoundExceptione){ e.printStackTrace(); } } publicstaticConnectiongetConn(){ //2.創(chuàng)建數(shù)據(jù)庫的連接 Connectionconn=null; try{ conn=DriverManager.getConnection("jdbc:mysql://:3306/data","root","123"); System.out.println("連接數(shù)據(jù)庫成功!"); }catch(SQLExceptione){ e.printStackTrace(); } returnconn; } //釋放資源 publicstaticvoidfree(Statementst,ResultSetrs,Connectionconn){ try{ if(rs!=null){ rs.close(); rs=null; } }catch(SQLExceptione){ e.printStackTrace(); }finally{ try{ if(st!=null){ st.close(); st=null; } }catch(SQLExceptione){ e.printStackTrace(); }finally{ try{ if(conn!=null){ conn.close(); conn=null; } }catch(SQLExceptione){ e.printStackTrace(); } } } }}3.7小結本章首先進行了系統(tǒng)總體設計,接著按照MVC設計模式的三層結構根據(jù)系統(tǒng)需求用例對新聞發(fā)布系統(tǒng)功能進行設計,最后設計出系統(tǒng)的數(shù)據(jù)庫并對數(shù)據(jù)庫連接進行了相應的設計。通過本章,系統(tǒng)設計出了用來完成系統(tǒng)用例的業(yè)務功能模型以及完成各個用例的類。根據(jù)上一章的設計思路設計用來完成系統(tǒng)用例的業(yè)務功能,整個系統(tǒng)按照MVC模式的三個部分以及數(shù)據(jù)庫連接池進行編碼實現(xiàn),分為視圖層、控制層、模型層和數(shù)據(jù)庫連接池。由于系統(tǒng)實現(xiàn)的代碼量較大限于篇幅,文中僅顯示部分代碼。4.1視圖層實現(xiàn)在系統(tǒng)其它視圖層部分實現(xiàn)之前,先對那些常用的公共頁面模塊部分實現(xiàn)。4.1.1公共頁面top.jsp中包含了其它頁面常用到的頁面頭部的設計。具體代碼如下:<%@pageimport="com.newsinfo.mag.NewclaJdbc"%><%@pageimport="java.util.List"%><%@pageimport="com.newsinfo.vo.Newcla"%><linkrel="stylesheet"href="css/css.css"type="text/css"></link><%@pagelanguage="java"pageEncoding="UTF-8"%><divalign="center">歡迎進入長江師范學院新聞網(wǎng) <scriptlanguage="JavaScript"type="text/javascript"src="/2009/Js/today.js"></script><aonClick="this.style.behavior='url(#default#homepage)';this.setHomePage('http:///');"href="javascript:void(0);">設為主頁</a> <ahref="javascript:window.external.AddFavorite('http://','XXX')">加入收藏</a><br></div><tablewidth="850"border="0"align="center"cellpadding="0"cellspacing="0"><tr><tdwidth="850"height="141"align="center"valign="middle"background="img/top.jpg"><embedsrc="img/1.swf"quality="high"wmode="transparent"pluginspage="/go/getflashplayer"type="application/x-shockwave-flash"width="850"height="120"></embed><ahref="index.jsp">首頁</a>|<%NewclaJdbcnj=newNewclaJdbc();List<Newcla>cla=nj.selcetFenlei();for(Newclaone:cla){%><ahref="news.jsp?cla=<%=one.getNewcla_id()%>"><%=one.getNewcla()%></a>|<%}%><ahref="register.jsp">會員注冊</a></td></tr></table>footer.jsp中包含了其它頁面常用到的頁面尾部的設計。具體代碼如下:<linkrel="stylesheet"href="css/css.css"type="text/css"></link><%@pagelanguage="java"pageEncoding="UTF-8"%><tablewidth="850"height="81"border="0"align="center"cellpadding="0"cellspacing="0"class="bk"><tr><tdheight="37"align="center">copyright@zkmy2010 版權所有:曾曉龍 <ahref="admin/login.jsp">管理入口</a></td></tr><tr><tdheight="40"align="center"valign="top">聯(lián)系地址:長江師范學院郵編:408100QQ:359257073</td></tr></table>本系統(tǒng)的CSS設計了兩個CSS樣式表(css.css、sc.css)它主要設置頁面中顯示的Body結構的樣式、超鏈接A的樣式、頁面中表格Table樣式等的設置。CSS樣式表可以使系統(tǒng)整體風格一致。4.1.2前臺實現(xiàn)系統(tǒng)前臺視圖層由index.jsp實現(xiàn)。index.jsp僅負責顯示新聞欄目和系統(tǒng)已有新聞以及為管理員用戶提供一個登錄入口。index.jsp頁面顯示截圖如圖4-1。圖4-1 index.jsp頁面實現(xiàn)截圖4.1.3后臺實現(xiàn)系統(tǒng)后臺視圖層主要由admin_news.jsp、admin_newsinsert.jsp、admin_newcla.jsp、admin_newclainsert.jsp、admin_role.jsp和admin_roleinsert.jsp組成。admin_news.jsp是系統(tǒng)后臺主頁面。其實現(xiàn)顯示截圖如圖4-2。圖4-2 admin_news.jsp實現(xiàn)截圖admin_newsinsert.jsp實現(xiàn)新聞的添加。當用戶在后臺主頁面中選擇添加新聞按鈕時,管理員便進入此頁面。其實現(xiàn)截圖如圖4-3。圖4-3 admin_newsinsert.jsp實現(xiàn)截圖admin_newcla.jsp實現(xiàn)新聞欄目的管理,管理員可以在此對進行新聞欄目的相關操作。其實現(xiàn)截圖如圖4-4。圖4-4 admin_newcla.jsp實現(xiàn)截圖admin_newclainsert.jsp它實現(xiàn)欄目的添加功能。其實現(xiàn)截圖如圖4-5。圖4-5 admin_newclainsert.jsp實現(xiàn)截圖admin_role.jsp實現(xiàn)的是對本系統(tǒng)用戶的管理,其實現(xiàn)截圖如圖4-6。圖4-6 admin_role.jsp實現(xiàn)截圖admin_roleinsert.jsp它實現(xiàn)管理員的添加功能,其實現(xiàn)截圖如圖4-7。圖4-7 admin_roleinsert.jsp實現(xiàn)截圖4.2模型層實現(xiàn)模型層實現(xiàn)中主要給出了實現(xiàn)功能模塊中的各類的功能函數(shù),具體代碼見附件。4.2.1新聞顯示在前臺頁面中顯示系統(tǒng)已有新聞,需要新聞類NewsJdbc和新聞管理類NewclaJdbc。在此模塊中主要實現(xiàn)將新聞數(shù)據(jù)庫中的新聞顯示到前臺頁面中。實現(xiàn)新聞顯示的功能函數(shù)如下: publicList<Newsinfo>selectByNewcla(intnewcla)//2.根據(jù)新聞類別顯示新聞信息 publicList<Newsinfo>selectone(intid)//5.根據(jù)ID查詢單個新聞。 publicList<Newsinfo>selectAll()//6.查詢所有新聞 publicList<Newsinfo>selectBySS(intnewcla,ints)//7.根據(jù)條件查詢某一類別、查詢多少條新聞 publicList<Newsinfo>selecthits(ints)//8.根據(jù)點擊量查詢新聞 publicList<Newsinfo>selectNew(ints)//9.查詢最新發(fā)布的新聞 publicvoidaddHits(intid,inthit)//10.點擊自動加一 publicList<Newsinfo>selectByLike(Strings)//11.模糊查詢4.2.2新聞管理新聞管理模塊是在系統(tǒng)后臺對已有新聞進行編輯和刪除以及添加新聞。在新聞管理類中如此實現(xiàn)新聞管理: publicbooleancreateNews(Newsinfone)//1.添加新聞publicbooleanupdateNew(Newsinfone)//3.根據(jù)給出的條件,更新新聞信息publicintdeleteNew(intid)//4.給出條件,刪除新聞4.2.3欄目管理欄目管理模塊中,主要實現(xiàn)新聞欄目的添加、編輯和刪除。欄目管理類NewclaJdbc如下實現(xiàn)欄目管理功能: publicList<Newcla>selcetFenlei()//查詢所有新聞分類 publicintdeletecla(intid)//根據(jù)ID刪除新聞分類 publicbooleaninsertcla(Newclacla)//添加新聞分類 publicList<Newcla>selcetById(intid)//根據(jù)ID查詢新聞分類 publicbooleanupdateUserById(Newclacla)//更新新聞分類4.3控制層實現(xiàn)本系統(tǒng)的控制層由Servlet實現(xiàn)。這些作為控制層的Servlet接收用戶的請求,并調用作為Model的JavaBean來進行處理,然后Model用業(yè)務邏輯來處理用戶請求并返回數(shù)據(jù),最后Servlet用相應的View來格式化Model返回的數(shù)據(jù),通過表示層呈現(xiàn)給用戶。在實現(xiàn)Servlet之前,首先要在Tomcat中配置好Servlet運行的環(huán)境,并配置本應用程序的web.xml配置文件,其Servlet在web.xml配置的基本格式如下:<!--Defineservlets--><servlet><servlet-name>XXServlet</servlet-name><servlet-class>ClassPath.XXServlet</servlet-class></servlet><!--Defineservletsmapping--><servlet-mapping><servlet-name>XXServlet</servlet-name><url-pattern>/XXServlet</url-pattern></servlet-mapping>在使用Servlet之前都必須在web.xml中定義好Servlet才可以正常使用。下面具體實現(xiàn)每個Servlet。4.3.1用戶登錄在此用戶登錄功能中,最重要的就是LoginServlet的實現(xiàn)。它不僅調用數(shù)據(jù)庫數(shù)據(jù),還控制頁面流向。當用戶在前臺中提供的登錄入口輸入用戶名和密碼時,index.jsp通過Form將信息提交給LoginServlet,LoginServlet獲得此信息,調用數(shù)據(jù)庫連接池組件查找數(shù)據(jù)庫對照看是否有與LoginServlet收集到的信息匹配記錄,如果有則成功登錄到系統(tǒng)后臺(admin_index.jsp),如果沒有與之匹配的記錄則將頁面定位到登錄錯誤頁面(error.jsp)重新登錄。同樣
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 勞務外包工合同范本
- 出國援建勞務合同范本
- 動產(chǎn)質押合同范本
- 北京員工勞動合同范本
- 付款方式違約規(guī)定合同范本
- 出售庫存車合同范本
- 出售造型工具合同范本
- 2024年鎮(zhèn)遠縣婦幼保健院人員招聘考試真題
- 代加工砂漿合同范本
- 寫計件合同范本
- AMDAR資料的分析和應用
- 高新技術企業(yè)認定申請書樣例與說明
- 數(shù)據(jù)結構英文教學課件:chapter6 Tree
- 高壓氧科工作總結高壓氧科個人年終總結.doc
- 《政治學概論》教學大綱
- 橋梁缺陷與預防
- 食品生物化學習題謝達平(動態(tài))
- 新蘇教版小學科學三年級下冊全冊教案(2022年春修訂)
- 保安員工入職登記表
- 睿達RDCAM激光雕刻切割軟件V5.0操作說明書
- 機械設計基礎平面連桿機構課件
評論
0/150
提交評論