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

正文內(nèi)容

基于ssh的論壇系統(tǒng)畢業(yè)設(shè)計(jì)論文范文(文件)

2024-12-25 21:06 上一頁面

下一頁面
 

【正文】 Group、 Role、 Permission、 Article、Topic、 Reply、 Vote、 Attachment、 cofig、 Category、 Forum 等 10 多 個(gè)關(guān)鍵的 領(lǐng)域?qū)ο?,詳情請看類圖結(jié)構(gòu)。 Permission 類是權(quán)限體系的基層類,它是由資源 Resource 類以及動作 或者說操作 Action 類來定義 ,反過來一個(gè)權(quán)限Permission 類定義了對某一個(gè)資源的一個(gè)操作權(quán)限 。在本系統(tǒng)中,文章 設(shè)計(jì)成是主題和回復(fù)的父類,它們之間的關(guān)系是繼承關(guān)系。詳情請看下面的類圖結(jié)構(gòu)。 它們的 類圖結(jié)構(gòu)如下。 代碼片段 1 User 類代碼片段 public class User implements Serializable { private static final long serialVersionUID = 1L。// 密碼 private String 。// 注冊時(shí)間 private Date lastVisitTime。// 鎖定用戶自己激活帳號所用的激活碼 廣東商學(xué)院 學(xué)士學(xué)位論文 基于 SSH 的論壇系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn) 17 private int topicCount。// 昵稱 private Sex sex = 。 private String msn。 private String name。// 總主題數(shù)量 private int articleCount。//版主 } 系統(tǒng)的 DAO 層設(shè)計(jì) 與實(shí)現(xiàn) DAO 是 Data Access Object 數(shù)據(jù)訪問接口 的意思 ,就是與數(shù)據(jù)庫打交道, 它夾在業(yè)務(wù)邏輯與數(shù)據(jù)庫資源中間。 在本系統(tǒng)的 DAO 設(shè)計(jì)當(dāng)中, 首先,要為本系統(tǒng)中所 有的領(lǐng)域?qū)嶓w類都設(shè)計(jì)一個(gè)對應(yīng)的 DAO 接口,用于 聲明數(shù)據(jù)邏輯操作 。 另外, 本系統(tǒng)由于是通過 Hibernate 和 Spring 的集成來實(shí)現(xiàn) DAO 層,所以GenericDaoImpl 類除了實(shí)現(xiàn) GenericDao 接口以外,還要繼承 Spring 提供的用于與 Hibernate 集成的一個(gè) HibernateDaoSuport 類, 通過繼承 HibernateDaoSuport 類,GenericDaoImpl 就可以通過獲得 Spring 提供的 HibernateTemplate 模板類來對相關(guān)的領(lǐng)域?qū)ο筮M(jìn)行增刪改查等數(shù)據(jù)存取操作了。在 本 系統(tǒng)的 DAO 層設(shè)計(jì)中,起著承前啟后以及框架集成職責(zé)的類便是 GenericDaoImpl 這個(gè)總接口實(shí)現(xiàn)類, 它是個(gè)抽象類, 各個(gè)子實(shí)現(xiàn)類都繼承于它 。 //這兩個(gè)為泛型參數(shù) 相關(guān) 屬性 ,子類通過它們接收父類傳遞過來的泛型參數(shù)類型 private final ClassT clazz。 ()。 } ParameterizedType pt = (ParameterizedType) type。 } //通過實(shí)體的 數(shù)組 來 批量 刪除對應(yīng)的數(shù)據(jù)庫表記錄 ,先得到 實(shí)體,再刪除 記錄 public void delete(int... ids) { if (ids == null || == 0) { return。 } //通過實(shí)體對象來更新數(shù)據(jù)庫對應(yīng)的記錄 public void update(T t) { getHibernateTemplate().update(getEntityName(), t)。 } //查找全部的表記錄,返回一個(gè)實(shí)體鏈表 ,使用的查詢語言為 hibernate提供的數(shù)據(jù) //hql語言, hql語句由 hibernate在底層轉(zhuǎn)換為 sql語句后再與數(shù)據(jù)庫進(jìn)行交互 public ListT findAll() { String queryString = from + getEntityName()。 int total = findIntResult(queryString, new Object[] {})。 } //獲取實(shí)體的名字 , 默認(rèn)為持久類的全限定名 protected String getEntityName() { return 。 } protected int findIntResult(String queryString, Object[] values) { Object result = findUniqueResult(queryString, values)。 } //返回結(jié)果唯一的查詢 protected Object findUniqueResult(String queryString, Object[] values) { List list = getHibernateTemplate().find(queryString, values)。 Object first = (0)。 } } return first。進(jìn)而又通過 Service 注解來接管 Service 層對象,然后在 Web 層的控制器類中再次通過 Resource 注解向控制器類(在本系統(tǒng)中為 Struts 的 Action) 提供 Service 對象 。 這也是 Spring 框架的依賴注入功能所要求的,如此設(shè)計(jì)使得 Service 層代碼結(jié)構(gòu)精良,可 擴(kuò)展性和可 移植性 都很良 好。當(dāng)用戶通過視圖組件向系統(tǒng)發(fā)起一個(gè)請求時(shí),請求首先給 ActionServle 這個(gè)總控制器 負(fù)責(zé) 接廣東商學(xué)院 學(xué)士學(xué)位論文 基于 SSH 的論壇系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn) 24 收,總控制器再根據(jù)配置文件將請求派發(fā)到各個(gè)控制單元 Action 中,由具體的 Action通過調(diào)用 Service 層對象 業(yè)務(wù) 方法來處理用戶請求。 圖 Struts 的控制器結(jié)構(gòu)類圖 廣東商學(xué)院 學(xué)士學(xué)位論文 基于 SSH 的論壇系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn) 25 圖 Struts 的控制單元結(jié)構(gòu)圖 系統(tǒng)的工具幫助類 本系統(tǒng) 除了上述實(shí)體層、 DAO 層、 Service、 Web 層的 實(shí)現(xiàn)代碼 外 ,還設(shè)計(jì)了不少廣東商學(xué)院 學(xué)士學(xué)位論文 基于 SSH 的論壇系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn) 26 工具輔助類。本系統(tǒng)的主要的 配置文件有 下面這些。 4) :這個(gè)是 Spring 的配置文件。 Tomcat 等 Web 應(yīng)用服務(wù)器在接到 請求后根據(jù) 配置文件找到 ActionServlet 總控制器, ActionServlet 在 自已的process()方法里面增加必要的 額外 功能,執(zhí)行完 后便 調(diào)用父類的 process()方法,以便將請求交還給 struts 框架 正常的 處理流程 。 處理器這個(gè)調(diào)用者 在接 到返回對象后, 處理 完后 ,調(diào)用 RequestDispatch 類的forward()方法響應(yīng)用戶的請求。本系統(tǒng)的權(quán)限控制功能包括后臺和前臺系統(tǒng)的權(quán)限攔截兩個(gè)方面。 該注解類代碼如下。 // 1,得到這個(gè)方法所要求的權(quán)限 Privilege privilege = ()。 (myRumtimeException, new BBSPermissionDeniedException(msg))。 1) 設(shè)計(jì) 以及實(shí)現(xiàn) 一個(gè)權(quán)限標(biāo)簽 privilege, 它擁有 resource 和 action 兩個(gè)屬性。 User user = (req)。 //判斷是否擁有權(quán)限 if ((user, r, a)) { return EVAL_BODY_INCLUDE。 4) 頁面代碼細(xì)節(jié)如下。 基于 SSH 的 J2EE 項(xiàng)目開發(fā)發(fā)展到現(xiàn)在已經(jīng)是非常成熟了,并且這三大框架還在不斷的升級。 而在軟件 行業(yè),最核心的莫過于數(shù)據(jù)結(jié)構(gòu)以及算法,最 基 本的莫過于編程思想。比如由于知識水平以及時(shí)間精力等方面的原因,學(xué)生只對系統(tǒng) 進(jìn)行過簡單的單元測試和集成測試,并沒有對系統(tǒng)進(jìn)行嚴(yán)格的綜合測試,所以系統(tǒng)難免存在著某些還沒解決的紕漏。 廣東商學(xué)院 學(xué)士學(xué)位論文 基于 SSH 的論壇系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn) 32 致謝 在本系 統(tǒng)。 本文全面地講解了系統(tǒng)開發(fā)的各個(gè)步驟,點(diǎn)面結(jié)合, 各個(gè)章節(jié)依據(jù)首先全面介紹之后再挑最重要的部分做詳細(xì)解釋。相信在以后的學(xué)習(xí)生活工作中定會對自己有莫大的幫助。在時(shí)代的發(fā)展潮流 中, 只有充分撐握好一門手藝才不會被快速發(fā)展著的現(xiàn)代社會所淘汰 。 /monbbs:privilege 廣東商學(xué)院 學(xué)士學(xué)位論文 基于 SSH 的論壇系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn) 31 5 結(jié)束語 本文詳細(xì)的介紹了本系統(tǒng)開發(fā)的整個(gè)過程, 在開發(fā)過程中, 通過大量的 UML 建模技術(shù)對系統(tǒng)的開發(fā)進(jìn)行 指導(dǎo) 。 } 3) 在頁面 組件 上需要控制權(quán)限的元素上 面 加上 privilege 標(biāo)簽。//則不 顯示標(biāo)簽內(nèi)容 } try { Resource r = (resource)。該類關(guān)鍵的實(shí)現(xiàn)代碼如下。 系統(tǒng)前臺權(quán)限攔截的實(shí)現(xiàn) 系統(tǒng)前臺權(quán)限攔截的實(shí)現(xiàn)其實(shí)主要是指通過設(shè)計(jì)權(quán)限標(biāo)簽,控制某些頁面元素不讓沒有相應(yīng)權(quán) 限的用戶看到,以免用戶發(fā)起無效的請求。 } if (privilege != null) { // 2,查看用戶是否有這個(gè)權(quán)限 User currentUser = ().getCurrentUser()。// 資源 Action action()。 在這里補(bǔ)充一點(diǎn),實(shí)現(xiàn)權(quán)限控制功能的關(guān)鍵在于將用戶類與權(quán)根體系關(guān)聯(lián)起來,以實(shí)現(xiàn)通過判斷該用戶有沒有擁有相關(guān)權(quán)限來對用戶的請求進(jìn)行攔截監(jiān)控。 詳情請看下面兩個(gè)對象時(shí)序圖。 框架的 processActionPerform()方法 根據(jù) struts 的配置文件以及請求參數(shù), 找到ArticleAction 控制單元 來處理請求, 在 ArticleAction 的 execute()方法里面確認(rèn)request 對象里沒有權(quán)限不足的異常 (已登陸的會員有發(fā)表主題的權(quán)根 )后,把請求交給父類 DispatchAction 的 execute() 方法, 父類的 execute() 根據(jù)請求的廣東商學(xué)院 學(xué)士學(xué)位論文 基于 SSH 的論壇系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn) 27 methord=addTopic 參數(shù)調(diào)用 ArticleAction 中聲明的 addTopic()方法。 系統(tǒng)的運(yùn)行細(xì)節(jié)詳解 下面通過系統(tǒng)處理一個(gè)會員發(fā)表主題的請求 并且處理成 功 為例,詳細(xì)解析系統(tǒng)的運(yùn)行細(xì)節(jié)。 2) :這是 web 項(xiàng)目的配置文件,本系統(tǒng)主要在里面配置了兩個(gè) servlet 以及兩個(gè) listener。在此,就不再展開論述,詳情可見 源代碼。 ActionServlet 類 在 底層還調(diào)用了一個(gè)處理器來具體派發(fā)請 求,本系統(tǒng)還重寫了這個(gè)處理器,并在該處理器中完成權(quán)限攔截 權(quán)限判斷的功能 。 廣東商學(xué)院 學(xué)士學(xué)位論文 基于 SSH 的論壇系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn) 23 圖 Service 層的類圖 系統(tǒng)的 Web 層 設(shè)計(jì) 本系統(tǒng)的 Web 層代碼由 Struts 框架來實(shí)現(xiàn),在 Web 層中除了編寫設(shè)計(jì)相關(guān)的輔助類以外,就是編寫 Struts 的控制器代
點(diǎn)擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1