freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

畢業(yè)設(shè)計(jì)基于mvc的新聞發(fā)布系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)(編輯修改稿)

2025-01-06 16:43 本頁(yè)面
 

【文章內(nèi)容簡(jiǎn)介】 (或操作) Index page 邊界 無(wú) 顯示系統(tǒng)前臺(tái)主頁(yè)面,并提供管理員登錄 News 實(shí)體 新 聞 條目 的屬 性 新聞條目的抽象 NewsMgr 控制 無(wú) 根據(jù)新聞 ID得到新聞對(duì)象,獲得所有新聞和根據(jù)欄目 ID 得到該欄目的所有新聞 Login Form 邊界 無(wú) 提供管理員登錄,并負(fù)責(zé)客戶端的登錄完整性檢驗(yàn) main page 邊界 無(wú) 系統(tǒng)后臺(tái)管理主頁(yè)面 新聞管理 管理員在系統(tǒng)后臺(tái)主界面中可以對(duì)已有新聞進(jìn)行管理(修改、刪除和添加),新聞管理模塊中充當(dāng)模型層的仍然是 News 和 NewsMgr。其靜態(tài)模型如圖 48。 圖 48 新聞管理靜態(tài)模型圖 根據(jù)上面的新聞管理模型,我們可以對(duì)各個(gè)類的責(zé)任和功能進(jìn)行說(shuō)明。 表 42 新聞管理類責(zé)任表 名稱 類型 屬性 責(zé)任(或操作) Main page 邊界 無(wú) 顯示系統(tǒng)后臺(tái)主頁(yè)面,系統(tǒng)管理員可以在此對(duì)系統(tǒng)進(jìn)行操作 表 42 新聞管理類責(zé)任表(續(xù)) NewsMgr 控制 無(wú) 對(duì)新聞條目進(jìn)行操作,修改和刪除 News 實(shí)體 新聞屬性 對(duì)新聞實(shí)體的抽象 Addnews page 邊界 無(wú) 添加新聞界面,以 Form 形式收集信息然后提交給控制器 AddNewsServlet 控制 無(wú) 在控制層設(shè)計(jì) EditNewsServlet 控制 無(wú) 在控制層設(shè)計(jì) DeleteNewsServlet 控制 無(wú) 在控制層設(shè)計(jì) 欄目管理 欄目管理中可以對(duì)已有欄目的編輯、刪除以及添加新欄目,欄目管理靜態(tài)模型如圖 49。 圖 49 欄目管理靜態(tài)模型圖 根據(jù)上面的欄目管理靜態(tài)模型設(shè)計(jì),我們可以對(duì)各個(gè)類的責(zé)任和功能進(jìn)行說(shuō)明。 表 43 欄目管理類責(zé)任表 名稱 類型 屬性 責(zé)任(或操作) ClassManage page 邊界 無(wú) 顯示系統(tǒng)既有欄目,管理員可以在此對(duì)欄目進(jìn)行修改和刪除操作 Addclass page 邊界 無(wú) 添加欄目,提交給添加欄目控制器 Category 實(shí)體 ID 和 Name 新聞欄目的抽象 CategoryMgr 控制 無(wú) 實(shí)現(xiàn)對(duì)新聞欄目的操作 表 43 欄目管理類責(zé)任表(續(xù)) EditCategoryServlet 控制 無(wú) 在控制層中設(shè)計(jì) DeleteCategoryServet 控制 無(wú) 在控制層中設(shè)計(jì) AddCategoryServlet 控制 無(wú) 在控制層中設(shè)計(jì) 控制層設(shè)計(jì) 用戶登錄 當(dāng)用戶通過(guò)系統(tǒng)前臺(tái)提供的登錄入口登錄后臺(tái)系統(tǒng)時(shí),系統(tǒng)將用戶的登錄信息提交給登錄控制層處理。所以登錄控制器必須對(duì)用戶登錄信息進(jìn)行識(shí)別,判斷其是否有權(quán)限登錄到 后臺(tái)系統(tǒng)。用戶登錄控制器由 LoginServlet 完成,實(shí)現(xiàn)登錄控制的靜態(tài)類圖如圖 410。 圖 410 登錄控制靜態(tài)模型圖 根據(jù)圖 410 登錄控制靜態(tài)模型設(shè)計(jì),對(duì)各個(gè)類的責(zé)任和功能進(jìn)行說(shuō)明。 表 44 用戶等錄控制類責(zé)任表 名稱 類型 屬性 責(zé)任(或操作) LoginServlet 控制 無(wú) 控制用戶登錄 新聞管理 新聞管理中主要涉及到新聞信息的添加、刪除和修改,所以其控制層由AddNewsServlet、 DeleteServlet 和 EditServlet 完成。新聞管理靜態(tài)類圖如圖411。 圖 411 新聞管理靜態(tài)模型圖 根據(jù)圖 411 新聞管理靜態(tài)模型設(shè)計(jì),對(duì)各個(gè)類的責(zé)任和功能進(jìn)行說(shuō)明。 表 45 新聞管理控制層靜態(tài)類責(zé)任表 名稱 類型 屬性 責(zé)任(或操作) EditNewsServlet 控制 無(wú) 對(duì)已有新聞編輯的控制 DeleteNewsServlet 控制 無(wú) 對(duì)刪除已有新聞的控制 AddNewsServlet 控制 無(wú) 對(duì)添加新聞的控制 欄目管理 欄目管理模塊主要對(duì)新聞欄目進(jìn)行修改、刪除和添加,此功能模塊控制層由EditCategoryServlet、 DeleteCategoryServlet 和 AddCategoryServlet 完成。欄目管理靜態(tài)類圖設(shè)計(jì)如圖 412。 圖 412 欄目管理靜態(tài)模型圖 根據(jù)圖 412 欄目管理靜態(tài)模型設(shè)計(jì),對(duì)各個(gè)類的責(zé)任和功能進(jìn)行說(shuō)明。 表 46 欄目管理控制層靜態(tài)類責(zé)任表 名稱 類型 屬性 責(zé)任(或操作) EditCategoryServlet 控制 無(wú) 對(duì)新聞欄目編輯的控制 DeleteCategoryServlet 控制 無(wú) 對(duì)刪除新聞欄目的控制 AddCategoryServlet 控制 無(wú) 對(duì)添加新聞欄目的控制 數(shù)據(jù)庫(kù)設(shè) 計(jì) 數(shù)據(jù)庫(kù)需求分析 由于本系統(tǒng)面向的對(duì)象有兩個(gè):一般用戶和系統(tǒng)管理員。所以,數(shù)據(jù)庫(kù)需求分析中就要考慮兩方面因素。 對(duì)于一般用戶來(lái)說(shuō),他們所關(guān)心的是新聞的瀏覽。通過(guò)系統(tǒng)功能分析,針對(duì)一般新聞?dòng)脩舻男枨螅偨Y(jié)出如下需求信息: ( 1)每個(gè)新聞對(duì)應(yīng)一個(gè) HTML 文件; ( 2)每個(gè)新聞只能對(duì)應(yīng)一個(gè)新聞欄目; ( 3)每個(gè)欄目下可以有多個(gè)新聞。 ( 4)每個(gè)新聞除了包含新聞的基本信息之外,還得包含新聞所對(duì)應(yīng)的 HTML路徑信息。 對(duì)于系統(tǒng)管理員來(lái)說(shuō),他們所關(guān)心的是如何對(duì)新聞欄目和新聞的添加、修改和刪除。通過(guò)分析,針對(duì)系統(tǒng)管理 員,總結(jié)出如下需求信息: ( 1)管理員可以對(duì)新聞欄目進(jìn)行增、刪、改; ( 2)管理員可以對(duì)新聞條目進(jìn)行增、刪、改。 數(shù)據(jù)庫(kù)概念設(shè)計(jì) 根據(jù)上面的數(shù)據(jù)庫(kù)需求分析,就可以構(gòu)造出各種實(shí)體,以及并根據(jù)它們的關(guān)系繪制出實(shí)體間的 ER 圖 [8],為以后的邏輯設(shè)計(jì)打下基礎(chǔ)。如圖 413 為本新聞發(fā)布系統(tǒng)實(shí)體間的 ER 圖。 圖 413 實(shí)體之間關(guān)系的 ER 圖 [8] 數(shù)據(jù)庫(kù)邏輯設(shè)計(jì) 根據(jù)數(shù)據(jù)庫(kù)需求分析和數(shù)據(jù)庫(kù)概念設(shè)計(jì),設(shè)計(jì)如下所示的數(shù)據(jù)項(xiàng)和數(shù)據(jù)結(jié)構(gòu): 管理員表(用戶名,密碼),用戶名為主碼; 欄目表(欄目編號(hào),欄目名稱),欄目編 號(hào)為主碼; 新聞表(新聞編號(hào),新聞標(biāo)題,新聞內(nèi)容,管理員名,所屬欄目,發(fā)布時(shí)間),新聞編號(hào)為主碼,管理員名和所屬欄目為外碼; 數(shù)據(jù)庫(kù)表設(shè)計(jì) 數(shù)據(jù)庫(kù)邏輯設(shè)計(jì)完畢后,現(xiàn)在可以將上面的數(shù)據(jù)庫(kù)概念結(jié)構(gòu)轉(zhuǎn)化為某種數(shù)據(jù)庫(kù)系統(tǒng)所支持的實(shí)際數(shù)據(jù)庫(kù)模型。本系統(tǒng)使用 SQL Server2021 數(shù)據(jù)庫(kù)。 新聞發(fā)布系統(tǒng)的數(shù)據(jù)庫(kù)中各表的設(shè)計(jì)結(jié)果如下面幾個(gè)表所示。 表 47 管理員 Master 表 序號(hào) 字段名 字段含義 類型 寬度 是否非空 備注 1 UserName 管理員用戶名 char 12 Y Key 2 Password 管理員密碼 char 12 Y 無(wú) 表 48 新聞 News 表 序號(hào) 字段名 字段含義 類型 寬度 是否非空 備注 1 newsId 新聞編號(hào) int 4 Y Key 2 Title 新聞標(biāo)題 char 50 N 無(wú) 3 Content 新聞內(nèi)容 char 5000 N 無(wú) 4 UserName 新聞作者 char 12 Y 外碼 5 Compose_date 新聞發(fā)布時(shí)間 datetime 8 Y 無(wú) 6 categoryId 新聞欄目編號(hào) int 4 Y 外碼 表 49 欄目 Category 表 序號(hào) 字段名 字段含義 類型 寬度 是否非空 備注 1 categoryId 新聞欄目編號(hào) int 4 Y Key 2 categoryName 新聞欄目名稱 char 20 Y 無(wú) 數(shù)據(jù)庫(kù)連接池設(shè)計(jì) 傳統(tǒng)的數(shù)據(jù)庫(kù)連接 傳統(tǒng)的數(shù)據(jù)庫(kù)連接模式基本上是按以下步驟進(jìn)行:①在主程序(如 Servlet、Beans)中建立數(shù)據(jù)庫(kù)連接;②進(jìn)行 SQL 操作,取出數(shù)據(jù);③斷開(kāi)數(shù)據(jù)庫(kù)連接 [9]。 數(shù)據(jù)庫(kù)連接池的必要性 傳統(tǒng)的數(shù)據(jù)庫(kù)連接模式開(kāi)發(fā),存在很多問(wèn)題。首先,要為每次 web 請(qǐng)求(例如客戶瀏覽 一件商品信息)建立一次數(shù)據(jù)庫(kù)連接。當(dāng)有多個(gè)用戶連接系統(tǒng)的時(shí)候,在同一時(shí)間有可能會(huì)不止一個(gè)用戶需要數(shù)據(jù)庫(kù)連接,在這種情況下,系統(tǒng)開(kāi)銷也是相當(dāng)大的。連接數(shù)據(jù)庫(kù)不僅要開(kāi)銷一定的通訊和內(nèi)存資源,還必須完成用戶驗(yàn)證、安全上下文配置這類任務(wù);同時(shí)應(yīng)用程序還要管理每一個(gè)連接,確保這些連接在被使用完后能被正確關(guān)閉。這些操作往往成為最耗時(shí)的操作,很多時(shí)候,一個(gè)網(wǎng)站的速度瓶頸可能就在于此,因而對(duì)數(shù)據(jù)庫(kù)的連接的管理顯得特別重要。 本系統(tǒng)是一個(gè)新聞發(fā)布和管理的系統(tǒng),新聞系統(tǒng)是面向廣大閱讀新聞的用戶的,用戶需要閱讀新聞時(shí),系統(tǒng)需要從 新聞數(shù)據(jù)庫(kù)中調(diào)出用戶需要的新聞條目。如果采用傳統(tǒng)的數(shù)據(jù)庫(kù)鏈接模式,那么對(duì)于每一個(gè)閱讀新聞的用戶,當(dāng)他讀取新聞時(shí),系統(tǒng)都要為他建立一次數(shù)據(jù)庫(kù)連接,而當(dāng)他退出新聞閱讀時(shí),系統(tǒng)釋放數(shù)據(jù)庫(kù)鏈接,那么,系統(tǒng)的數(shù)據(jù)庫(kù)連接是非常頻繁的。這樣也會(huì)產(chǎn)生上面提到的種種問(wèn)題,但是,如果采用數(shù)據(jù)庫(kù)鏈接池就方便得多,本系統(tǒng)采用的便是數(shù)據(jù)庫(kù)鏈接池模式對(duì)數(shù)據(jù)庫(kù)進(jìn)行連接。 數(shù)據(jù)庫(kù)連接池工作原理 數(shù)據(jù)庫(kù)連接池實(shí)際上是在一個(gè)容器對(duì)象中建立一定數(shù)目的數(shù)據(jù)庫(kù)連接對(duì)象。當(dāng)需要使用數(shù)據(jù)庫(kù)連接的時(shí)候,直接從連接池中取出空閑對(duì)象供用戶使用。當(dāng)用戶使用完 后再把連接對(duì)象放回連接池中,以節(jié)省重新建立連接對(duì)象所花費(fèi)的時(shí)間。工作原理如圖 414 所示。 圖 414 連接池工作原理圖 [10] 當(dāng)連接池工作時(shí),首先,在連接池中應(yīng)當(dāng)初始化內(nèi)含一定數(shù)量的連接對(duì)象;在使用過(guò)程中,如果池中的連接對(duì)象不夠,可根據(jù)需要逐漸加入新的連接對(duì)象,但池中的連接對(duì)象也不能是無(wú)限的,當(dāng)達(dá)到最大連接對(duì)象數(shù)量時(shí),便不能再往池中添加新的連接對(duì)象,如果此時(shí)連接對(duì)象數(shù)量仍然不夠,就只能等待別的連接對(duì)象釋放后再使用,即定義連接池中連接對(duì)象的上下界和連接超時(shí)時(shí)間。定義上下界可根據(jù)客戶端的情況動(dòng)態(tài)地使用資源, 以提高系統(tǒng)的效率。另外,同一個(gè)連接對(duì)象如果被使用的次數(shù)太多,可能會(huì)導(dǎo)致該連接對(duì)象的不穩(wěn)定。所以需要設(shè)定一個(gè)連接對(duì)象可使用的最大次數(shù)。當(dāng)使用次數(shù)達(dá)到最大次數(shù)后就將該連接對(duì)象關(guān)閉并從池中刪除。 具體設(shè)計(jì) 根據(jù)連接池的工作原理,本文設(shè)計(jì)了一個(gè)的連接池組件。該連接池組件由兩個(gè) Java 類―― ConnectionObject 和 ConnectionPool 和一個(gè)數(shù)據(jù)庫(kù)連接配置文件( )構(gòu)成。其中: ConnectionObject 稱為連接對(duì)象類,用來(lái)實(shí)現(xiàn)對(duì)一個(gè)連接對(duì)象狀態(tài)的管理,并為連接池管理類提供 服務(wù); ConnectionPool稱為連接池管理類,用來(lái)實(shí)現(xiàn)對(duì)連接池的管理和調(diào)度; 稱為數(shù)據(jù)庫(kù)連接配置文件,存放數(shù)據(jù)庫(kù)連接所需要的配置信息,供連接池工作時(shí)使用。連接池內(nèi)部聯(lián)系類圖如圖 415 所示。 圖 415 連接池內(nèi)部主件聯(lián)系圖 小結(jié) 本章首先進(jìn)行了系統(tǒng)總體設(shè)計(jì),接著按照 MVC 設(shè)計(jì)模式的三層結(jié)構(gòu)根據(jù)系統(tǒng)需求用例對(duì)新聞發(fā)布系統(tǒng)功能進(jìn)行設(shè)計(jì),最后設(shè)計(jì)出系統(tǒng)的數(shù)據(jù)庫(kù)并對(duì)數(shù)據(jù)庫(kù)連接進(jìn)行了相應(yīng)的設(shè)計(jì)。通過(guò)本章,系統(tǒng)設(shè)計(jì)出了用來(lái)完成系統(tǒng)用例的業(yè)務(wù)功能模型以及完成各個(gè)用例的類。 第 5 章 系統(tǒng)實(shí)現(xiàn) 根據(jù)上一章的設(shè)計(jì)思路設(shè)計(jì)用來(lái)完成系統(tǒng)用例的業(yè)務(wù)功能,整個(gè)系統(tǒng)按照MVC 模式的三個(gè)部分以及數(shù)據(jù)庫(kù)連接池進(jìn)行編碼實(shí)現(xiàn),分為視圖層、控制層、模型層和數(shù)據(jù)庫(kù)連接池。由于系統(tǒng)實(shí)現(xiàn)的代碼量較大限于篇幅,文中僅顯示部分代碼,具體實(shí)現(xiàn)代碼參見(jiàn)附件。 視圖層實(shí)現(xiàn) 在系統(tǒng)其它視圖層部分實(shí)現(xiàn)之前,先對(duì)那些常用的公共頁(yè)面模塊部分實(shí)現(xiàn)。 公共頁(yè)面 是一個(gè)包含頁(yè)面,它包含了一些其它頁(yè)面可能經(jīng)常用到的JavaBean 包以及一些在其它頁(yè)面中常用到的參數(shù)。具體代碼如下: %@ page contentType text/html。charset UTF8% !開(kāi)始導(dǎo)入 packages %@ page import .*,.*,.*% %@ page import mybean.*% !導(dǎo)入結(jié)束 % String title 筱筱新聞管理系統(tǒng) 。 String placebgcolor EEEEEE。 String tablebgcolor 336699。 String trbgcolor 336699。 String tdbgcolor FFFFFF。 String tablebgcolor2 6699CC。 String trbgcolor2 EEEEEE。 String trbgcolor3 FFFFFF。 String tdbgcolor2 6699CC。 String tdbgcolor3 DDDDDD。 String tdbgcolor4 EEEEEE。 String tablewidth 100%。 String tablewidth2 100%。 % 的設(shè)置主要是方便系統(tǒng)對(duì)管理員權(quán)限的判定。因?yàn)?,如果一個(gè)用戶登錄到系統(tǒng),系統(tǒng)便會(huì)給他設(shè)定一個(gè) session,這個(gè) session 在他退出系統(tǒng)之前均有效。系統(tǒng)可以通過(guò) session 來(lái)判定用戶是否登錄,并且,如果某個(gè)用戶要執(zhí)行系統(tǒng)某些功能時(shí),系統(tǒng)也可以通過(guò)一個(gè) session 對(duì)其進(jìn)行操作權(quán)限的判定。具體代碼如下: % Str
點(diǎn)擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1