【正文】
碼了。 在本系統(tǒng)的業(yè)務(wù)邏輯代碼編寫的過程中,跟 DAO 層的數(shù)據(jù)邏輯代碼實(shí)現(xiàn)一樣對(duì)于所有核心的領(lǐng)域?qū)嶓w都提供了相應(yīng)的 Service 層對(duì)象 的支 持。在 Web 層中控制器通過調(diào)用 Service 層對(duì)象來處理請(qǐng)求,而 Service 層對(duì)象又通過調(diào)用 DAO 層對(duì)象方法來實(shí)現(xiàn)系統(tǒng)業(yè)務(wù)邏輯的編寫。 i size。 } //返回結(jié)果唯一 的查詢,在底層判斷了滿足查詢條件的結(jié)果是否代表著同一個(gè)記錄,如果不是,//則拋出一個(gè)結(jié)果不唯一的異常 廣東商學(xué)院 學(xué)士學(xué)位論文 基于 SSH 的論壇系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn) 22 protected Object uniqueElement(List list) throws NonUniqueResultException { int size = ()。 } return ((Number) result).intValue()。 return () 0 ? (0) : null。 ListT items = getHibernateTemplate().findByCriteria(dc, firstResult, maxResult)。 } //返回記錄總數(shù) 廣東商學(xué)院 學(xué)士學(xué)位論文 基于 SSH 的論壇系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn) 21 public int getTotal() { return findIntResult(select count(o) from + getEntityName() + o, null)。 } //由 Hibernate根據(jù)實(shí)體的持久狀態(tài)選擇保存還是更新 操作 public void saveOrUpdate(T t) { getHibernateTemplate().saveOrUpdate(getEntityName(), t)。 if (obj != null) { getHibernateTemplate().delete(getEntityName(), obj)。 = ()。 } //為類型參數(shù)賦值 public GenericDaoImpl() { Type type = ().getGenericSuperclass()。 //這是一個(gè)注解, Spring通過它來為對(duì)象動(dòng)態(tài)注入屬性值 Resource(name = hibernateTemplate) public final void setHibernateTemplate_0(HibernateTemplate hibernateTemplate) { (hibernateTemplate)。 只為介紹,下面給出 GenericDaoImpl 類的實(shí)現(xiàn)代碼,詳情請(qǐng)看代碼及其注釋部分。詳情請(qǐng)看下圖及其注解。此外,在面向接口編程思想的指導(dǎo)下 ,設(shè)計(jì)一個(gè) GenericDao 接口,抽取所有 DAO 接口的共公方法,讓 所有的 DAO接口都繼承 GenericDao 接口。用程序設(shè)計(jì)的語言來說,就是建立 一個(gè)接口,接口中定義了此應(yīng)用程序中將會(huì)用到的所有事務(wù)方法。// 最后發(fā)表的文章 private Category category。// 描述 private int order。// 來自哪里 private String signature。// 生日 private byte[] avatar。// 發(fā)表的總文章數(shù) private SetGroup groups = new HashSetGroup(0)。 // 最后 (上次 )訪問時(shí)所使用的 ip地址 private String autoLoginAuthKey。// 是否是活動(dòng)的 (非鎖定 ) private boolean deleted = false。 private String loginName。并且由于 領(lǐng)域?qū)嶓w類的方法都是類的私有屬性對(duì)應(yīng)的 get 和 set 方法,在下面的代碼片段中就顯略了相關(guān)的 get 和 set 方法 。 每個(gè)論壇分類可擁有多個(gè)論壇版面 Forum。而投票跟投票選項(xiàng)之間則是組合關(guān)系 ,即 投票 是由幾個(gè) 投票選項(xiàng) 組合而成,在本系統(tǒng)中,一個(gè)廣東商學(xué)院 學(xué)士學(xué)位論文 基于 SSH 的論壇系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn) 15 投票最少要由兩個(gè)投票選項(xiàng)組成 。整個(gè)用戶及權(quán)限體系的 之間的關(guān)系,請(qǐng)?jiān)斠娤旅娴念悎D結(jié)構(gòu)。 User 類通過與 Group 類發(fā)生內(nèi)聚關(guān)系來實(shí)現(xiàn)不同身份的轉(zhuǎn)換 ,一個(gè)用戶可以同時(shí)屬于幾個(gè)不同的群組 。 在 本文的 類圖設(shè)計(jì)中,由于篇幅有限,往往只 能 給出類的屬性而 并 沒有給出相應(yīng)的方法。 本系統(tǒng)所編寫的 POJO 是依據(jù)貧血模型的方式來編寫的,貧血模型是指在 POJO中只提供簡單的 getter 和 setter 接口來仿問對(duì)象的私有屬性,而不提供數(shù)據(jù)邏輯操作接口以及業(yè)務(wù)邏輯處理操作 接口 。領(lǐng)域?qū)嶓w類是在功能需求確認(rèn)的前提下,通過對(duì)需求分析、需求用例建模等已有材料和文檔的分析從而抽象出來的領(lǐng)域模型。 與此 相關(guān)的 hbm 配置文件和數(shù)據(jù)庫表如下 ( 詳細(xì) 的數(shù)據(jù)庫表可見附錄部分 ,也可以參閱 ) 。由 Hibernate 的自動(dòng)建表技術(shù) 來 代替設(shè)計(jì)數(shù)據(jù)庫 表 的過程,通過 Hibernate 來自動(dòng)管理數(shù)據(jù)庫。 本系統(tǒng)的 UI 設(shè)計(jì)都是以相關(guān)的 JSP 文件以及 JS( JavaScript)文件和 CSS(層疊樣式表文件)文件配合完成。 系統(tǒng)收到發(fā)表新主題的請(qǐng)求后,將新主題保存到數(shù)據(jù)庫,請(qǐng)求處理成功后,通過刷新用戶界面 信息來 響應(yīng)用戶請(qǐng)求 。 權(quán)限管理搜索管理系統(tǒng)配置管理 會(huì)員管理管理員登錄進(jìn)入論壇進(jìn)入后臺(tái)管理頁面論壇分類信息管理注銷管理員廣東商學(xué)院 學(xué)士學(xué)位論文 基于 SSH 的論壇系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn) 8 用戶注冊(cè)流程設(shè)計(jì) 系統(tǒng)通過注冊(cè)頁面 收集注冊(cè)信息,并分別在客戶端和服務(wù)器端校驗(yàn)注冊(cè)信息的有效性,在注冊(cè)成功后自動(dòng)登陸新注冊(cè)用戶。然而, 活動(dòng)圖下面的每 一個(gè)活動(dòng)都對(duì)應(yīng)著系統(tǒng)的一個(gè)業(yè)務(wù)功能。包括會(huì)員 管理、權(quán)限管理、系統(tǒng)配置管理、論壇分類及版面管理等。 圖 前臺(tái)業(yè)務(wù)模塊的活動(dòng)圖 系統(tǒng)的后臺(tái)管理活動(dòng)流程 在前臺(tái)登陸了的用戶,經(jīng)驗(yàn)證是系統(tǒng) 管理員帳號(hào)。游客可以選 擇瀏覽主題回復(fù)主題參與投票 下載附件 等系統(tǒng)功能, 或者 選擇登陸系統(tǒng)以獲得更多的功能權(quán)限,如果游客尚未注冊(cè),則可以 選擇注冊(cè) 成 為會(huì)員之后再登陸系統(tǒng)。當(dāng)一個(gè)操作必須完成一系列事情,而又無法確定以什么樣的順序來完成這些事情時(shí),活動(dòng)圖可以清晰地描述這些事情。通過分析功能需求 從而設(shè)計(jì)出來的用例圖可以有效的確定需求的范圍。 由系統(tǒng)管理員統(tǒng)一管理系統(tǒng)后臺(tái),包括論壇分類與版面管理、會(huì)員管理、系統(tǒng)配置管理。 2. 2 系統(tǒng)的開發(fā)環(huán)境與開發(fā)工具 運(yùn)行環(huán)境: update13 Web 應(yīng)用服務(wù)器: Apache Tomcat 集成開發(fā)環(huán)境: Eclipse 數(shù)據(jù)庫系統(tǒng): 單元測試工具: JUnit 界面排版: Adobe Dreamweaver 系統(tǒng)架構(gòu)設(shè)計(jì)工具: Rational Rose、 Microsoft Visio 廣東商學(xué)院 學(xué)士學(xué)位論文 基于 SSH 的論壇系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn) 3 3 系統(tǒng)的總體設(shè)計(jì) 需求分析 本系統(tǒng)根據(jù)權(quán)限的不 同,將用戶分為四 種參與者 ,游客、注冊(cè)用戶、版主和系統(tǒng)管理員??刂破魍ㄟ^調(diào)用模型的方法更改其狀態(tài),與此同時(shí),通知所有注冊(cè)了的視圖來對(duì)用戶界面進(jìn)行刷新 [6~10]。 控制反轉(zhuǎn)( IOC)和面向切面( AOP)是 Spring 的兩個(gè)核心技術(shù), Spring 通過 控制反轉(zhuǎn)來促進(jìn)松耦合,通過面向切面來實(shí)現(xiàn)高內(nèi)聚。 論文組織 本文首先對(duì)本系統(tǒng)使用到的技術(shù)和開發(fā)工具做了一個(gè)簡述,然后在第三章里給出系統(tǒng)的總體設(shè)計(jì),包括需求分析在內(nèi)。而 DAO 層則是系統(tǒng)的數(shù)據(jù)邏輯處理,負(fù)責(zé)與數(shù)據(jù)庫進(jìn)行交互。 本系統(tǒng)實(shí)現(xiàn)的通用論壇系統(tǒng)就提供了較為全面的論壇功能,用戶可以發(fā)表主題、 回復(fù)主題、 發(fā)起投票、 參與投票、 上傳附件 、下載附件等, 本 系統(tǒng)還實(shí)現(xiàn)了細(xì)粒度的權(quán)限控制功能。 論壇的發(fā)展現(xiàn)狀 新時(shí)期的論壇肩負(fù)著更多的使命,高效的信息整合、靈活的溝通方式、有效的 知識(shí)交流 還有 資源共享 等。 26 系統(tǒng)的運(yùn)行細(xì)節(jié)詳解 25 藍(lán)天工作室為您提供最優(yōu)秀的計(jì)算機(jī)畢業(yè)設(shè)計(jì)論文解決方案 :599057179 系統(tǒng)的配置文件簡介 23 系統(tǒng)的工具幫助類 19 系統(tǒng)的 Service 層設(shè)計(jì) 10 4 系統(tǒng)詳細(xì)設(shè)計(jì)及代碼實(shí)現(xiàn) 3 系統(tǒng)的需求用例圖 然后,通過總體設(shè)計(jì)、詳細(xì)設(shè)計(jì)和代碼實(shí)現(xiàn)的開發(fā)步驟來實(shí)現(xiàn)一個(gè)通用的論壇系統(tǒng)。 項(xiàng)目 通過 spring+hibernate+struts 三大框架來架構(gòu)系統(tǒng) 。 關(guān)鍵詞 : 論壇系統(tǒng) 、 需求 分析 、 統(tǒng) 一建模語言 藍(lán)天工作室為您提供最優(yōu)秀的計(jì)算機(jī)畢業(yè)設(shè)計(jì)論文解決方案 :599057179 Abstract The full name of the Forum is Bulletin Board first,It just a tool only used for publishing information. As thetechnology keeps evolving all this years,nowadays,the forum has becaming an Interactive platform which peoples can share their ideas and resources with each other in also the forum can help people collecting and ordering all kinds of informations. The structure of this project is established by the three opensource framework which are spring hibernate and struts. When I’m developing this system I have done the three development steps which are overall design detailed design and code implementation. In order to develop this mon forum system,I have used a lot of Unified Modeling Language(UML) paper has explains the whole system development process, including doing a brief introduction of the technology which the project has also had done the work which are System Requirements Analysis User Case Modeling Database Modeling Business Process Analysis and the implementation of the system. Key words: Forum System、 System Requirements Analysis、 UML藍(lán)天工作室為您提供最優(yōu)秀的計(jì)