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

正文內(nèi)容

在線計(jì)算機(jī)知識(shí)競(jìng)賽系統(tǒng)畢業(yè)論文(編輯修改稿)

2025-07-19 07:01 本頁(yè)面
 

【文章內(nèi)容簡(jiǎn)介】 。B/S(Browser/Server)結(jié)構(gòu)即瀏覽器和服務(wù)器結(jié)構(gòu)。它是隨著Internet技術(shù)的興起,對(duì)C/S結(jié)構(gòu)的一種變化或者改進(jìn)的結(jié)構(gòu)。在這種結(jié)構(gòu)下,用戶工作界面是通過(guò)WWW瀏覽器來(lái)實(shí)現(xiàn),極少部分事務(wù)邏輯在前端(Browser)實(shí)現(xiàn),但是主要事務(wù)邏輯在服務(wù)器端(Server)實(shí)現(xiàn),形成所謂三層3tier結(jié)構(gòu)。這樣就大大簡(jiǎn)化了用戶端電腦載荷,減輕了系統(tǒng)維護(hù)與升級(jí)的成本和工作量,降低了用戶的總體成本(TCO)。 在軟件體系架構(gòu)設(shè)計(jì)中,分層式結(jié)構(gòu)是最常見,也是最重要的一種結(jié)構(gòu)。推薦的分層式結(jié)構(gòu)一般分為三層,從下至上分別為:數(shù)據(jù)訪問(持久)層、業(yè)務(wù)邏輯層(或稱為領(lǐng)域?qū)樱?、表示層[16],如圖32:圖23 系統(tǒng)架構(gòu)總的來(lái)說(shuō),采用分層結(jié)構(gòu)的設(shè)計(jì)思想,可以讓每個(gè)層由一組相關(guān)的類或組件構(gòu)成,共同完成特定的功能。層與層之間存在自上而下的依賴關(guān)系,上層組件會(huì)依賴下層組件的API,而下層組件則不依賴于上層組件。例如:表述層依賴于業(yè)務(wù)邏輯層,而業(yè)務(wù)邏輯層依賴于數(shù)據(jù)庫(kù)層。并且每個(gè)層對(duì)對(duì)上層公開API,但具體的實(shí)現(xiàn)細(xì)節(jié)對(duì)外透明。當(dāng)某一層發(fā)生變化,只要API不變,不會(huì)影響其他層的實(shí)現(xiàn)。在本系統(tǒng)中,使用oracle數(shù)據(jù)庫(kù),持久層用到spring所集成的Hibernate技術(shù),業(yè)務(wù)邏輯層用普通javabean實(shí)現(xiàn),表述層運(yùn)用基于struts的MVC設(shè)計(jì)模式(struts用來(lái)做C層,spring實(shí)現(xiàn)V層與C層的解耦以及C層與M層的解耦)。 數(shù)據(jù)庫(kù)設(shè)計(jì) ER圖下面是該系統(tǒng)數(shù)據(jù)庫(kù)表的ER圖,如圖24圖24 ER圖下面列出了設(shè)計(jì)過(guò)程中所用到的數(shù)據(jù)庫(kù)表及其結(jié)構(gòu):,如表21:1. tb_Lesson列名類型長(zhǎng)度描述IDbigint8課程IDNamevarchar60課程名稱JoinTimedatetime8加入時(shí)間表21 tb_Lesson2. tb_manager表用來(lái)保存管理員信息,如表22:列名類型 長(zhǎng)度描述IDbigint8管理員IDnamevarchar30管理員名字PWDvarchar30管理員密碼表22 tb_manageer,如表23:列名類型 長(zhǎng)度描述idbigint8試題IDsubjectvarchar50科目名typechar8試題類型joinTimedatetime8加入時(shí)間lessonIdint4課程IdtaoTiIdbigint8套題idoptionAvarchar50選項(xiàng)AoptionBvarchar50選項(xiàng)BoptionCvarchar50選項(xiàng)CoptionDvarchar50選項(xiàng)Danswervarchar10答案notevarchar50備注表23 tb_Questions,如表24:tb_TaoTi列名類型 長(zhǎng)度描述IDbigint8套題idnamevarchar50套題信息LessonIDbigint8課程IDJoinTimedatetime8加入時(shí)間表24:tb_TaoTi5. tb_Student表用來(lái)保存用戶個(gè)人資料,如表25:tb_Student列名類型 長(zhǎng)度描述IDvarchar16學(xué)生IDnamevarchar20學(xué)生姓名pwdvarchar20登陸密碼Sexvarchar2學(xué)生性別joinTimedatetime8注冊(cè)時(shí)間Questionvarchar50提示問題answervarchar50問題答案professionvarchar30專業(yè)cardNovarchar18證件號(hào)碼表25 tb_Student6.tb_StuResult表用來(lái)保存學(xué)生考試成績(jī),如表26: tb_StuResult列名類型 長(zhǎng)度描述idbigint8成績(jī)編號(hào)stuIdvarchar16學(xué)生idwhichLessonvarchar60課程IDresSingleint4單選題得分resMoreint4多選題得分resTotalint4總得分jointimedatetime8加入時(shí)間表26 tb_StuResult 總體用例分析圖25 總體用例圖如圖用戶管理、考試管理、成績(jī)管理、題目管理四個(gè)模塊構(gòu)成了本網(wǎng)上考試系統(tǒng)。使用者是指系統(tǒng)用戶,包括管理者和考試者用戶兩種,考試者只可以選擇課程,參加考試,查看成績(jī),修改個(gè)人資料等,管理者通過(guò)用后臺(tái)管理就可以對(duì)試題庫(kù),用戶,成績(jī)進(jìn)行管理。 用戶管理用例分析圖26 用戶管理用例圖如圖26,用戶管理模塊主要包括:用戶注冊(cè)、修改資料、選擇課程、在線考試、成績(jī)查詢五個(gè)功能組成。 考試管理用例分析圖27 考試管理用例圖如圖27,考試管理模塊主要包括:閱讀考試規(guī)則、選擇課程、準(zhǔn)備考試、開始考試、自動(dòng)閱卷、查看成績(jī)六個(gè)功能組成。 考試題目管理用例分析圖28考試題目管理用例圖如圖,考題管理模塊主要包括:增加題目、刪除題目、題目分類、套題管理、答案設(shè)置等五個(gè)模塊組成。 成績(jī)管理用例分析圖29績(jī)查詢用例圖如圖,成績(jī)查詢模塊主要包括:前臺(tái)考試者的成績(jī)查詢,后臺(tái)管理者的成績(jī)查看。第3章 系統(tǒng)的詳細(xì)設(shè)計(jì) 主要模塊的設(shè)計(jì)說(shuō)明與界面 用戶登錄網(wǎng)站首頁(yè)在用戶第一次訪問時(shí)會(huì)判斷用戶是否登錄,未登錄則顯示用戶登錄窗口,在用戶登錄窗口將顯示用戶的相關(guān)信息.首頁(yè)主要是根據(jù)保存用戶名信息的Session參數(shù)來(lái)判斷用戶是否已經(jīng)登錄的,關(guān)鍵代碼如下:% String name=(String)(name)。 } %在會(huì)員登錄窗口中單擊登錄按紐后,系統(tǒng)將對(duì)用戶名和密碼進(jìn)行驗(yàn)證,判斷用戶是否是已注冊(cè)用戶,如果已注冊(cè),則更新用戶在網(wǎng)站中的狀態(tài),如果沒有注冊(cè),則拒絕用戶的登錄操作,登錄數(shù)據(jù)驗(yàn)證的程序代碼如下: // 考生身份驗(yàn)證 public ActionForward studentLogin(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) { StudentForm studentForm = (StudentForm) form。 int ret = (studentForm)。 (驗(yàn)證結(jié)果ret的值: + ret)。 if (ret == 2) { (error, 您輸入的考生準(zhǔn)考證號(hào)碼或密碼錯(cuò)誤!)。 return (error)。 } else { HttpSession session = ()。 (student, ())。 return (studentLoginok)。 } } 圖 31登錄頁(yè)面圖32 管理員界面 考試管理模塊主要功能有如下幾個(gè)部分:(1)選擇課程模塊 當(dāng)用戶在主頁(yè)登錄后,點(diǎn)擊在線考試,點(diǎn)擊同意,便可以選擇課程。代碼如下:html:form action=/manage/?action=selectLesson method=post onsubmit=return checkForm(lessonForm) 具體執(zhí)行步驟:(1) 從用戶的請(qǐng)求對(duì)象中獲取Action會(huì)話對(duì)象(2) 從會(huì)話對(duì)象中獲取考試對(duì)象 /* * 在監(jiān)聽到Action被創(chuàng)建之后,就立即向數(shù)據(jù)庫(kù)中添加一個(gè)考試請(qǐng)求; *///在線考試時(shí)選擇課程 private ActionForward selectLesson(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) { HttpSession session = ()。 String stu=(student).toString()。 //獲取準(zhǔn)考證號(hào) List list=(stu)。 //查詢包括考試題目的課程列表,但不包括已經(jīng)考過(guò)的科目 if(()1){ return (noenLesson)。 }else{ (lessonList,list)。 return (selectLesson)。 } }(2)準(zhǔn)備考試 用戶選擇了課程之后,便可以開始準(zhǔn)備考試,此時(shí),Actionform類會(huì)自動(dòng)在數(shù)據(jù)庫(kù)中創(chuàng)建一個(gè)Session對(duì)象。用來(lái)保存此次考試的相關(guān)信息。同時(shí)會(huì)輸出課程ID和課程名稱,確認(rèn)該考試。執(zhí)行流程如下(1) 從用戶請(qǐng)求對(duì)象中獲取課程的ID(2) 調(diào)用業(yè)務(wù)層的方法根據(jù)課程ID去數(shù)據(jù)查詢課程的信息,返回Lesson對(duì)象(3) 從課程對(duì)象中獲取課程名,課程ID,來(lái)構(gòu)建一個(gè)課程的對(duì)象(4) 從Session會(huì)話中獲取用戶ID(5) 調(diào)用業(yè)務(wù)層的方法來(lái)根據(jù)用戶ID和課程對(duì)象來(lái)對(duì)數(shù)據(jù)庫(kù)執(zhí)行添加操作(6) 將些該課程的試題對(duì)象放入到考試頁(yè)面中部分實(shí)現(xiàn)代碼:html:button property=button styleClass=btn_grey value=開始考試 onclick==null。()。(39。?action=startExam39。,39。39。,39。width=786,height=600,scrollbars=139。)。/ 數(shù)據(jù)庫(kù)中實(shí)現(xiàn)代碼://準(zhǔn)備考試 private ActionForward ready(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) { LessonForm lesso
點(diǎn)擊復(fù)制文檔內(nèi)容
畢業(yè)設(shè)計(jì)相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1