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

正文內(nèi)容

基于struts和hibernate的教學(xué)答疑系統(tǒng)畢業(yè)論文(文件)

2025-07-31 10:10 上一頁面

下一頁面
 

【正文】 rviceLocator 表示層 Struts Struts Action, ActionForm, Jsp, Strutsconfig.xml,etc. DAO Classes JavaBean Hibernate session Management 持久層 Hibernate DataSource Transactions Business Service Classes QueryLanguage Support and other Hibernate Services 各層的技術(shù)選用 : 在表現(xiàn)層 :選用 Struts,JSP 為主要表現(xiàn)技術(shù) 。 :工廠模式 。 public interface AdminMgmtService { Userinfo login(String loginname, String loginpassword)。 void deleteQuestion(Integer id)。 } AdminMgmtServiceImpl 類代碼如下 ,在需要使用 DAO 時(shí)就直接調(diào)用方法 ,寫好 get 和 set 方法 : public class AdminMgmtServiceImpl implements AdminMgmtService { private AdminMgmtDAO dao。 return ms。 } public CollectionQuestion queryAll() { return ()。 public AdminMgmtService getService() { return service。 (圖 51) 圖 51 數(shù)據(jù)庫聯(lián)系圖 數(shù)據(jù)庫表的建立 以 userinfo 表為例 ,由于實(shí)體類設(shè)計(jì)管理員 ,學(xué)生 ,教師都有用戶 表 而來 ,所以建表是需要考慮到 權(quán)限功能的不同 ,因此在用戶表 有 字段 status 區(qū)分到底是哪個(gè) 權(quán)限的用戶 (表52)。 唯一約束 。 其他表的建立如下 : Questions(表 53): 表 53 questions表 ID 為問題 ID,與業(yè)務(wù)無關(guān) , 為此表主鍵約束 。 Answer 為問題回答;可以為空,類型 Varchar。 mname 為 模塊名; 類型 Varchar。 類型為 INT。 SQL 建表語句 : CREATE TABLE `operations` ( `id` int(10) NOT NULL auto_increment, `name` varchar(30) NOT NULL, `mid` int(10) NOT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=gb2312。 Operationid 為 章節(jié)對(duì)應(yīng)的 id;類型 int。 以 userinfo為例 ,在實(shí)體包下添加 ,在里面添加配置 : ?xml version=? !DOCTYPE hibernatemapping SYSTEM hibernatemapping package= class name=Userinfo table=userinfo id name=id generator class=increment/generator /id property name=loginname/ property name=loginpassword/ property name=name/ property name=sex/ property name=phone/ property name=/ property name=status update=false/ /class /hibernatemapping 學(xué)生用戶模塊的設(shè)計(jì) 學(xué)生功活動(dòng)圖如下 (圖 57): 學(xué)生通過帳號(hào)密碼登錄 , 學(xué)生 登錄后可以選擇查看個(gè)人資料或者進(jìn)入答疑系統(tǒng) ,進(jìn)入答疑系統(tǒng)后可以提出 問題,問題提交給服務(wù)器端 , 等待教師的解答。 學(xué)生提問功能的設(shè)計(jì) 學(xué)生 進(jìn)入學(xué)生模塊后 , 調(diào)用 StudentAction 中的 listQuestion 方法 看到所有的問題,可以進(jìn)入看看是否回答了 ,并顯實(shí) 在學(xué)生的瀏覽器上,若學(xué)生對(duì) 想提出問題 可以 調(diào)用StudentAcion 中的 bringQuestion 方法 把題目添加到 題庫 ,等待老師來解決。 Integer id = ((qid))。 } 該方法通過 qid 調(diào)用業(yè)務(wù)層 QuestionMgmtServiceImpl 中的 findQuestionById 方法獲得該題目的問題和答案 ,DAO 中 其代碼為 : public Question qryByid(Integer id) { return (Question)().get()。 教師 的其他操作對(duì)應(yīng) TeacherAction,利用隱藏標(biāo)簽或者超鏈接直接帶參數(shù)調(diào)用不同的方法 ,在各個(gè)方法中 ,調(diào)用 教師 業(yè)務(wù)實(shí)現(xiàn)類 TeacherMgmtServiceImpl, TeacheMgmtServiceImpl再調(diào)用不同的 TeacheMgmtDAO 類實(shí)現(xiàn)對(duì)象的基本 操作以完成業(yè)務(wù)操作 ,然后根據(jù) 中對(duì)應(yīng)的路徑返回頁面。 以 教師修改 答案為例 :教師點(diǎn)擊 進(jìn)入 解答 超連接進(jìn)入 。 ().setAttribute(ANSWERQ,q)。 } 進(jìn)行對(duì) answer 的更新 。 /問題 管理功能的設(shè)計(jì) 管理員 進(jìn)入人員 /問題 管理后 ,可以通過不同的帶參數(shù)超連接進(jìn)行學(xué)生 ,教師和管理員或者問題 的查看 ,還可以通過用戶名進(jìn)行單個(gè)用戶的查看 。 管理員進(jìn)入 問題 管理后 ,可以 td a href=%=() %/?qid=${ }查看解答 /a /td td a onclick=javascript:if(!confirm(39。 Integer id = ((uid))。 AdminMgmtDAO的 deleteQuestion方法 , public void deleteQuestion(Integer id) { Question q = (Question) ().get(, id)。 調(diào)試是軟件開發(fā)過程中最艱巨的腦力勞動(dòng) 。 當(dāng)然這個(gè)步驟是伴隨著調(diào)試進(jìn)行的,因此調(diào)試滲透在整個(gè)軟件開發(fā)過程之中,而且,對(duì)于系統(tǒng)中大部分的局部設(shè)計(jì)、開發(fā)過程是建立在實(shí)驗(yàn)的基礎(chǔ)上的,而進(jìn)行實(shí)驗(yàn)的目的也是為了便于進(jìn)行各種測(cè)試與調(diào)試,來確定與了解某些控件或類的功能、屬性、方法以及可能出現(xiàn)的問題等等,可以說調(diào)試在整個(gè)開發(fā)過程中占了很大一部分時(shí)間 。 另一種 錯(cuò)誤是邏輯錯(cuò)誤,在編譯的時(shí)候不易發(fā)現(xiàn),而在運(yùn)行之后結(jié)果與程序員預(yù)先設(shè)想的結(jié)果不一致,但是系統(tǒng)又沒有提示,所以這樣的情況下,需要仔細(xì)查找原因 。 問題還有很多 ,以上只是挑取比較常見的幾種 。 第一 ,關(guān)于程序設(shè)計(jì)方面,由于系統(tǒng)較小所以采用瀑 布式開發(fā) ,但由于經(jīng)驗(yàn)太少和對(duì)業(yè)務(wù)的考慮不夠深遠(yuǎn) ,導(dǎo)致寫代碼時(shí)發(fā)現(xiàn)有些寫到的類用不到 ,要用到的沒寫 ,在這方面可以說教訓(xùn)很大 。 在使用 JavaEE 對(duì)于 Web 技術(shù)的開發(fā)后 ,我深刻的體會(huì)到 Web 技術(shù)的 分層結(jié)構(gòu)及其優(yōu)點(diǎn) 。 在這次畢業(yè)設(shè)計(jì)中我使用到了非常多的新技術(shù),在 基于 Struts 和 Hibernate 的教學(xué)答疑系統(tǒng) 這個(gè)課題的基礎(chǔ)上,我加上了 Spring 做了一個(gè)代理程序,也算是 SSH 框架吧,校驗(yàn)也使用了 ajax,對(duì)于這些技術(shù)的運(yùn)用我只是了解皮毛而已,但是要是想更深入的了解,使用 J2EE 我要學(xué)習(xí)的還很多,要鞏固的還很多。 當(dāng) Web 開發(fā)繼續(xù)演變它的工具和編程方法時(shí) ,Java 應(yīng)用程序框架也將繼續(xù)成長下去 。 第二,在積累經(jīng)驗(yàn)方面,感覺平時(shí)的學(xué)習(xí)只有通過實(shí)踐才能真正掌握 ,雖然有時(shí)候嘴上能把很多東西說的很詳細(xì) ,很輕松 ,但是真正寫了才發(fā)現(xiàn)問題很多 ,這對(duì)于我來說是本此畢業(yè)設(shè)計(jì)的最大收獲 。 獨(dú)立開發(fā)一個(gè) 基于 Struts 和 Hibernate 的教學(xué)答疑系統(tǒng) ,從接受畢業(yè)設(shè)計(jì)的任務(wù),到熟悉軟件開發(fā)環(huán)境,再到集中精力開發(fā)系統(tǒng),整個(gè)過程中遇到了很多問題,我學(xué)著自己解決這些問題,在解決問題的過程中,學(xué)到了很多有用的東西 。 2)DAO 層 HQL 語言的使用問題 ,除了上面說到的延遲抓取 ,HQL 畢竟有別與我們經(jīng)常使用的 SQL 語言 ,經(jīng)常由于兩者相互混淆而導(dǎo)致錯(cuò)誤 。 在調(diào)試過程中,可能會(huì)遇到多種錯(cuò)誤,最常見且易發(fā)現(xiàn)的是編譯錯(cuò)誤 。 如何在浩如煙海的程序元素中找出有錯(cuò)誤的幾個(gè)元素,這是調(diào)試過程中最關(guān)鍵的技術(shù)問題 。 } 第六章 軟件測(cè)試 調(diào)試本身的目的是盡可能多地暴露程序中的錯(cuò)誤,但是 ,發(fā)現(xiàn)錯(cuò)誤的最終目的還是為了改正錯(cuò)誤 。 return (success)。)) { return false。 (圖 514) 圖 514 管理問題界面 注冊(cè)用戶的設(shè)計(jì) 這個(gè)系統(tǒng)是面對(duì)校內(nèi)的同學(xué)老師開放的,所以我的思想是只能有管理員才能進(jìn)行開放注冊(cè)的功能,學(xué)生是學(xué)號(hào),老師是 用戶名,進(jìn)入 頁面,在表單最后點(diǎn)擊注冊(cè)。 圖 513 管理員模塊活動(dòng)圖 管理員的一般操作如登錄 ,注冊(cè) ,注銷 ,對(duì)應(yīng)系統(tǒng) Action,然后根據(jù)類型的不同返回不同的頁面 。 } 該方法先從 session中取得 answer,然后對(duì) answerQuestion進(jìn)行修改 ,并調(diào)用 TeacheMgmtDAO中的 updateAnswer方法進(jìn)行答案的修改 。 Integer id = ((qid))。 answerQuestion 方法進(jìn)行回答問題。讓題庫能適應(yīng)學(xué)生的要求。 ().setAttribute(LOOKQ,q)。 學(xué)生 信息修改 界面 (圖 510): 圖 510 學(xué)生信息修改界面 以學(xué)生查詢自己以解答案為例 :學(xué)生點(diǎn)擊查看問題連接通過 頁面跳轉(zhuǎn)進(jìn)入。 圖 57 學(xué)生模塊活動(dòng)圖 學(xué)生的一般操作如登錄 , 注銷 , 對(duì)應(yīng)系統(tǒng) Action,然后根據(jù)類型的不同返回不同的頁面 。InnoDB free: 10240 kB39。 name 為 功能名 ; 類型 Varchar。 類型 Varchar。 SQL 建表語句 : CREATE TABLE `modules` ( `id` int(10) NOT NULL auto_increment, `mname` varchar(20) NOT NULL, `url` varchar(30) NOT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=gb2312。 modules(表 54): 表 54 modules表 id 為 模塊的 id,與業(yè)務(wù)無關(guān) ,為此表主鍵約束 。 questionname 為問題 主題 ; 類型 varchar。 類型 Varchar Email 為用戶 ; 唯一約束 。 為此表主鍵約束 。 }直接使用 service調(diào)用方法 問題表 用戶表 章節(jié)關(guān)鍵字表 模塊功能表 第五章 系統(tǒng)詳 細(xì)設(shè)計(jì) 系統(tǒng)共分學(xué)生用戶模塊 ,教師用戶模塊 ,題庫管理模塊和管理員模塊 。 } public void register(Userinfo userinfo) { (userinfo)。 } public void deleteUser(Integer id) { (id)。 } public void setDao(AdminMgmtDAO dao) { = dao。 void deleteUser(Integer id)。 CollectionQuestion queryAll()。 跟為系統(tǒng)以后的擴(kuò)展提供了良好接口 。 在持久層 :選用 Hibernate 為主要技術(shù) ,負(fù)責(zé)對(duì)持久對(duì)象的操作 。它是一次性到位的開發(fā),能實(shí)現(xiàn)不同的人員,從不同的地點(diǎn),以不同的接入方式(比如 LAN, WAN, Inter/Intra 等)訪問和操作共同的數(shù)據(jù)庫;它能有效地保護(hù)數(shù)據(jù)平臺(tái)和管理訪問權(quán)限,服務(wù)器數(shù)據(jù)庫也很安全 。 這種應(yīng)用程序的設(shè)計(jì)使用客戶 /服務(wù)器模式,各層可以同時(shí)開發(fā),并且可以由不同的 成員 組用不同的語言來開發(fā)。在一個(gè)典型的三層架構(gòu)應(yīng)用程序中,應(yīng)用程序的用戶工作站包括提供圖形用戶界面( GUI)的程序設(shè)計(jì)和具體的應(yīng)用程序入口表格或交互式窗口。
點(diǎn)擊復(fù)制文檔內(nèi)容
研究報(bào)告相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1