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

正文內(nèi)容

基于bs架構(gòu)的java考試系統(tǒng)的設(shè)計(jì)-文庫(kù)吧

2025-04-17 19:58 本頁(yè)面


【正文】 增加試題 增加考試 增加考生 刪除試卷 刪除考生 刪除考試 選擇考試 泰山學(xué)院本科畢業(yè)論文 5 系統(tǒng)有兩個(gè)登錄入口:教師登錄和學(xué)生登錄。 教師作為系統(tǒng)的管理員,可以對(duì)試題、試卷、考試、考試進(jìn)行增加、刪除等操作,可以查詢(xún)所有學(xué)生的成績(jī)。學(xué)生可以進(jìn)行考試、查詢(xún)成績(jī)、修改密碼的操作??荚嚂r(shí)可以選擇不同的考試進(jìn)行考試,查看成績(jī)時(shí)只能查看到本人的成績(jī)。 系統(tǒng)構(gòu)架 本系統(tǒng)構(gòu)的 系統(tǒng)構(gòu) 架圖如圖 32所示 。 圖 32 系統(tǒng)框架 首先由客戶(hù)端瀏覽器發(fā)起請(qǐng)求,服務(wù)端的 Servlet 響應(yīng)請(qǐng)求,將請(qǐng)求交予控制器,控制器再調(diào)用相應(yīng)的模型,來(lái)訪問(wèn) Web 數(shù)據(jù)庫(kù),模型取得數(shù)據(jù)后,再交由客戶(hù)端瀏覽器 (教師和考生通過(guò)瀏覽器訪問(wèn)系統(tǒng)) 服務(wù)端 Servlet 容器( Tomcat) 控制器 ( Jsp 或 Servlet,包括教師登錄頁(yè)面、學(xué)生考試頁(yè)面等 ) 視圖 Jsp ( 展現(xiàn)返回的數(shù)據(jù),如試卷內(nèi)容、試卷列表、提示信息等) 模型 ( JavaBean,包括試題類(lèi)、試卷類(lèi)、考試類(lèi)等) Web 數(shù)據(jù)庫(kù) ( MySQL 數(shù)據(jù)庫(kù)) 模型 ( JavaBean) ( JavaBean,包括試題類(lèi)、試卷類(lèi)、考試類(lèi)等) 泰山學(xué)院本科畢業(yè)論文 6 Jsp展現(xiàn),服務(wù)器將 Jsp的 效果返回到發(fā)出請(qǐng)求的客戶(hù)端。 實(shí)體對(duì)象分析 數(shù)據(jù)庫(kù)連接對(duì)象 DBConn++ clost ()getConn () : void: Connection 圖 33 數(shù)據(jù)庫(kù)連接對(duì)象類(lèi)圖 作用:負(fù)責(zé)連接數(shù)據(jù)庫(kù),執(zhí)行相應(yīng)的增刪改查操作。 屬性: 無(wú) 方法: getConn 獲得連接 close 關(guān)閉連接 學(xué)生對(duì)象 studentuserNamepassword: : ++++Save ()Delete ()getStudents ()checkPassword (): void: boolean: list: boolean 圖 34 學(xué)生對(duì)象類(lèi)圖 屬性: userName 用戶(hù)名 password 密碼 方法: Save 保存一條學(xué)生記錄 Delete 刪除一條學(xué)生記錄 getStudents 獲得所有學(xué)生列表 checkPassword 修改密碼時(shí)判斷原始密碼是否正確 試 題對(duì)象 泰山學(xué)院本科畢業(yè)論文 7 Questioncontextabcdkey: : : : : : ++++delAble ()delete ()save ()getQuestionById ()getQuestions (): boolean: boolean: void: Question: Question 圖 35 試題對(duì)象類(lèi)圖 屬性: Context 題干 A 選項(xiàng) a的內(nèi)容 B 選項(xiàng) b的內(nèi)容 C 選項(xiàng) c的內(nèi)容 D 選項(xiàng) d的內(nèi)容 Key 答案 方法: Sava 保存一道試題 Delete 刪除一道試題 delAble 判斷試題能否被刪除 getQuestions 獲得所有試題列表 getQuestionById 通過(guò) id 來(lái)獲得某道試題 試卷對(duì)象 PapernamequestionsquestionIds: : : ++++delAble ()delete ()save ()getPaperById ()getPapers (): boolean: boolean: void: Paper: Paper 圖 36 試卷對(duì)象類(lèi)圖 屬性: Name 試卷名稱(chēng) Questions 屬于本試卷的試題列表 QuestionIds 屬于本試卷的試題 Id列 表 方法: getPapers 獲得所有的試卷列表 save 保存一條試卷記錄 delete 刪除一條試卷記錄 delAble 判斷試卷能否被刪除 getPaperById 通過(guò) Id獲得某試卷 考試對(duì)象 泰山學(xué)院本科畢業(yè)論文 8 ExamnamepaperIdspapers: : Question[]: Paper+++++getExams ()delete ()save ()getQuestions ()getOnePaper ()getQuestionOfPaper ()getExamById (): list: boolean: void: list: Paper: list: Exam 圖 37 考試對(duì)象類(lèi)圖 屬性: Name 考試名稱(chēng) paperIds 屬于本考試的試卷 Id 列表 papers 屬于本考試的試卷對(duì)象列表 方法: Save 保存一條考試記錄 Delete 刪除一條考試記錄 getQuestions 獲得本考試的所有試題 getExamById 通過(guò) Id 獲得 一條考試記錄 成績(jī)對(duì)象 MarkstudentIdexamIdmark: int: int[]: float+++getMarks ()save ()getMarksByStudentId (): list: void: list 圖 38 成績(jī)對(duì)象類(lèi)圖 屬性: studentId 學(xué)生 Id examId 考試 Id mark 分?jǐn)?shù) 方法: Save 保存一條成績(jī)記錄 getMarks 獲得所有成績(jī)記錄 getMarksByStudentId 通過(guò)學(xué)生 Id獲得學(xué)生的所有考試成績(jī) 數(shù)據(jù)庫(kù)設(shè)計(jì)分析 教師表( teacher) 泰山學(xué)院本科畢業(yè)論文 9 表 31 教師表 字段名稱(chēng) 數(shù)據(jù)類(lèi)型 說(shuō)明 是否為主鍵 Id Int Id 是 Username Varchar 用戶(hù)名 Name Varchar 教師姓名 Password Varchar 密碼 學(xué)生表( student) 表 32 學(xué)生表 字段名稱(chēng) 數(shù)據(jù)類(lèi)型 說(shuō)明 是否為主鍵 Id Int Id 是 Username Varchar 用戶(hù)名 Name Varchar 教師姓名 Password Varchar 密碼 試題表( question) 表 33 試題表 字段名稱(chēng) 數(shù)據(jù)類(lèi)型 說(shuō)明 是否為主鍵 Id Int Id 是 Context Varchar 試題題干內(nèi)容 A Varchar 選項(xiàng) A 內(nèi)容 B Varchar 選項(xiàng) B 內(nèi)容 C Varchar 選項(xiàng) C 內(nèi)容 D Varchar 選項(xiàng) D 內(nèi)容 Key Char 正確答案,所填的內(nèi)容為 a, b, c, d中的一個(gè) 試卷表( paper) 表 34 試卷表 字段名稱(chēng) 數(shù)據(jù)類(lèi)型 說(shuō)明 是否為主鍵 Id Int Id 是 Name Varchar 試卷名稱(chēng) qestionIds Varchar 試題 Id 列表,以“,”隔開(kāi) 泰山學(xué)院本科畢業(yè)論文 10 考試表( exam) 表 35 考試表 字段名稱(chēng) 數(shù)據(jù)類(lèi)型 說(shuō)明 是否為主鍵 Id Int Id 是 Name Varchar 考試名稱(chēng) paperIds Varchar 試卷 Id 列表,以“,”隔開(kāi) 成績(jī)表( mark) 表 36 成績(jī)表 字段名稱(chēng) 數(shù)據(jù)類(lèi)型 說(shuō)明 是否為主鍵 Id Int Id 是 studentId Varchar 學(xué)生 Id examId Varchar 考試 Id Mark Float 分?jǐn)?shù) 以上各表均是基于單表設(shè)計(jì),各表之間沒(méi)有通過(guò)外鍵等進(jìn)行關(guān)聯(lián),各實(shí)體間相互獨(dú)立,故不做 ER圖的分析。 4 在線 考試系統(tǒng)的具體實(shí)現(xiàn) Dojo 工具包的引入 本系統(tǒng)使用 Dojo 最為前臺(tái)組件 ,要在系統(tǒng)中使用 Dojo 工具包,首先需要從Dojo 的官網(wǎng)( Dojo 版本 。在下載頁(yè)面中能看到如 圖 41所示信息: 泰山學(xué)院本科畢業(yè)論文 11 圖 41 Dojo 下載頁(yè)面 每個(gè)文件名都有兩個(gè)“ ”號(hào),第一個(gè)“ ”之后的內(nèi)容是版本號(hào),第二個(gè)“ ”之后的內(nèi)容 是這個(gè)開(kāi)發(fā)包所包含的組建,具體對(duì)應(yīng)關(guān)系如 表 41 所示: 表 41 Dojo 版本與組件對(duì)照表 包含事件系統(tǒng) ,I/O,用戶(hù)界面 包含所有功能 僅包含事件系統(tǒng) 最小版本 包含 widget 版本 開(kāi)發(fā)的時(shí)候可以選擇 kitchen 版本,它包含了 dojo所有的功能,但是在發(fā)布的時(shí)候要選擇合適的包,節(jié)省網(wǎng)絡(luò)流量。如果發(fā)布用的是 kitchen 版本,而客戶(hù)端沒(méi)安裝 Flash 的話,客戶(hù)端會(huì)一直出現(xiàn)正在加載頁(yè)面,影響用戶(hù)體驗(yàn)。 本系統(tǒng)中是用的是 ,下載后解壓到應(yīng)用的根目錄下,并將文件夾名稱(chēng)改成 dojo。 Dojo 是在 Jsp 頁(yè)面和 html 頁(yè)面中引用的,引用方式如下所示: script type=text/javascript var djConfig = {isDebug: false}。 /script 泰山學(xué)院本科畢業(yè)論文 12 script language=JavaScript type=text/javascript (“”) (.*)。 /script 其中 var djConfig = {isDebug: false}。 作用是設(shè)置 Dojo 運(yùn)行參數(shù),這里設(shè)置不顯示調(diào)試信息。 “ src” 所指向的就是 Dojo 核心代碼 — 的路徑,要使用 Dojo 工具包,必須把它引入頁(yè)面。 (“”) 上一句的實(shí)際是將 src / widget / 這個(gè)文件引入頁(yè)面中,這樣就可以在頁(yè)面中使用 Dojo的 Button 組件,該語(yǔ)句類(lèi)似 Java 語(yǔ)言中的 import 語(yǔ)句。至于 (.*)。 實(shí)際上 Dojo 會(huì)依照 這個(gè)文件中定義的通配符代替的語(yǔ)句 , 根據(jù)當(dāng)時(shí)的環(huán)境而決定加載所需的模塊。 系統(tǒng)各模塊具體實(shí)現(xiàn) 數(shù)據(jù)庫(kù)連接模塊 本系統(tǒng)采用 JDBC 連接 MySQL 數(shù)據(jù)庫(kù),連接步驟如下: 1. 得到數(shù)據(jù)庫(kù)驅(qū)動(dòng)程序 MySQL 的 JDBC 驅(qū)動(dòng)程序名稱(chēng)是 ,通過(guò)()。注冊(cè)這個(gè)驅(qū)動(dòng)程序。這樣就能使用這個(gè)驅(qū)動(dòng)來(lái)連接 MySQL 數(shù)據(jù)庫(kù)。 2. 創(chuàng)建數(shù)據(jù)庫(kù)連接 數(shù)據(jù)庫(kù)連接是由 DriverManager 這個(gè)工廠類(lèi)的 getConnection 方法獲得的。getConnection 方法在獲得連接過(guò)程中,需要數(shù)據(jù)庫(kù)連接字符串、用戶(hù)名和密碼,MySQL 數(shù)據(jù)庫(kù)的連接字符串格式如下: 泰山學(xué)院本科畢業(yè)論文 13 jdbc: 其中 dpip是數(shù)據(jù)庫(kù)所在主機(jī)的 ip,如果在本機(jī),可以填寫(xiě) localhost 或 port 是數(shù)據(jù)庫(kù)的端口, MySQL 默認(rèn)端口是 3306 dabatasename 是所用的數(shù)據(jù)庫(kù) 實(shí)例 名稱(chēng) 3. 執(zhí)行 SQL 語(yǔ)句 得到數(shù)據(jù)庫(kù)連接后,可以通過(guò)連接對(duì)象的 createStatement 方法來(lái)創(chuàng)建一個(gè)Statement 對(duì)象, Statement 是用于執(zhí)行 SQL語(yǔ)句的接口。有了 Statement 對(duì)象后,可以調(diào)用 executeQuery 或 execute 方法執(zhí)行給定的 SQL語(yǔ)句。 4. 得到結(jié)果集 Statement 執(zhí)行 executeQuery 或 execute 方法后,返回一個(gè) Resultset 對(duì)象,Resultset 是用于指向結(jié)果集對(duì)象的接口,遍歷該對(duì)象就能遍歷結(jié)果集。 5. 對(duì)結(jié)果集做相應(yīng)的處理 這一步驟主要是遍歷結(jié)果集取出相應(yīng)的記錄,根據(jù)業(yè)務(wù)需要對(duì)這些記錄進(jìn)行展現(xiàn)等處理。 6. 關(guān)閉結(jié)果集,關(guān)閉 Statement,關(guān)閉連接 當(dāng)連接完成了,就要關(guān)閉相應(yīng)的資源以釋放內(nèi)存,后打開(kāi)的資源應(yīng)該先關(guān)閉,所以關(guān)閉順序?yàn)椋航Y(jié)果集 Statement 數(shù)據(jù)庫(kù)連接。 使用 JDBC 連接 MySQL 數(shù)據(jù)庫(kù)具體實(shí)現(xiàn) 主要 代碼如下: Connection conn = null。Statement stmt = null。ResultSet rs = null。 ()。 conn = (
點(diǎn)擊復(fù)制文檔內(nèi)容
黨政相關(guān)相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1