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

正文內(nèi)容

基于javaweb的在線考試系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)(編輯修改稿)

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

【文章內(nèi)容簡(jiǎn)介】 (管理界面)Logo圖片。 幫助 退出登錄歡迎您!XXX試題維護(hù)試卷設(shè)置成績(jī)查詢修改密碼圖311 教師角色模版頁(yè)面圖35 管理員角色模版頁(yè)面 第四章 系統(tǒng)實(shí)現(xiàn)本系統(tǒng)包括3個(gè)不同的角色,即學(xué)生、教師、管理員。不同角色的功能有所不同,學(xué)生的功能包括:考試模塊,修改密碼,成績(jī)查詢模塊。教師的功能包括:試卷類別管理、試題管理、修改密碼、成績(jī)管理。管理員的功能包括:教師管理和考生管理。 數(shù)據(jù)庫(kù)連接的實(shí)現(xiàn)方法從系統(tǒng)功能模塊劃分中可以看出,各模塊雖然是獨(dú)立的,但又統(tǒng)一于同一數(shù)據(jù)庫(kù)中,便于管理員管理維護(hù)數(shù)據(jù)庫(kù),同時(shí)也便于教師和學(xué)生的操作。在介紹系統(tǒng)各模塊的實(shí)現(xiàn)方法之前,首先介紹系統(tǒng)與MySQL數(shù)據(jù)庫(kù)的連接方法,再介紹系統(tǒng)主要部分的實(shí)現(xiàn)方法。創(chuàng)建與數(shù)據(jù)庫(kù)的連接:①:首先要將mysql的驅(qū)動(dòng)包放在tomcat/lib目錄下;②:利用語(yǔ)句進(jìn)行對(duì)數(shù)據(jù)庫(kù)的操作,以下僅是對(duì)用戶表查詢的語(yǔ)句:%@page contentType=text/html。charset=gb2312 %%@page language=java import=.* %%//聲明數(shù)據(jù)庫(kù)連接對(duì)象,初始化為空Connection conn = null。Statement stmt = null。ResultSet rs = null。try{ //載入MySQL的JDBC驅(qū)動(dòng)類 ()。 //獲得數(shù)據(jù)庫(kù)連接 String sConn = jdbc:mysql://localhost/Myexam?user=rootamp。password=890427。 conn = ( sConn )。 //創(chuàng)建Statement對(duì)象 stmt = ()。 //執(zhí)行SQL語(yǔ)句 String query = select * from user。 rs = ( query )。% catch(Exception e){//獲得數(shù)據(jù)庫(kù)連接出錯(cuò) (error occured!!)。}finally{ //釋放數(shù)據(jù)庫(kù)連接 ()。 ()。 ()。}% 登陸注冊(cè)模塊 登錄模塊用戶登錄頁(yè)面比較簡(jiǎn)單,為防止用戶登錄的操作錯(cuò)誤,應(yīng)設(shè)置錯(cuò)誤處理頁(yè)面,在登錄操作過程中,一般發(fā)生的錯(cuò)誤有:用戶輸入了錯(cuò)誤的用戶名或密碼、用戶直接單擊了登錄按鈕,對(duì)上述情況的判斷就要通過Servlet文件來(lái)實(shí)現(xiàn)。當(dāng)用戶登錄的時(shí)候,輸入的帳號(hào)或者密碼有其中一項(xiàng)為空時(shí),會(huì)有提示框提示,提示您帳號(hào)或者密碼不能為空。實(shí)現(xiàn)這個(gè)功能的是用javascript實(shí)現(xiàn)的,具體代碼如下所示:驗(yàn)證輸入不為空的腳本代碼 script type=text/javascript 定義了一個(gè)名為checkForm的查詢表單函數(shù)function checkForm(form){ 、如果value為空,會(huì)提示帳號(hào)不能為空if(==){ alert(賬號(hào)不能為空)。 讓form表單中的teachername控件獲得焦點(diǎn)(光標(biāo)),回到輸入框位置。()。return false。 } if(==){ alert(密碼不能為空)。 ()。 return false。 } return ture。 } /script在登錄頁(yè)面時(shí),當(dāng)用戶提交了登錄資料后,就由“”這個(gè)頁(yè)面進(jìn)行驗(yàn)證,它的工作主要是連接到數(shù)據(jù)庫(kù),從數(shù)據(jù)中找出輸入的用戶名和密碼并判斷其是否一致。如果用戶輸入了錯(cuò)誤的用戶名和密碼,就會(huì)跳出一個(gè)登錄失敗的頁(yè)面。用戶可以點(diǎn)擊返回按鈕回到其剛才登錄的界面,然后重新輸入用戶名及密碼進(jìn)行再次登錄。若用戶提交正確的用戶和密碼后,如果記錄驗(yàn)證無(wú)誤,()跳轉(zhuǎn)到相應(yīng)的主界面。教師以及管理員的登錄驗(yàn)證跟考生相似,只是查詢條件和連接的數(shù)據(jù)庫(kù)表不同,以及登陸成功之后,跳轉(zhuǎn)的頁(yè)面不同。 考生注冊(cè)模塊在此模塊,考生需要填寫用戶名、密碼、確認(rèn)密碼、真實(shí)姓名。如若填寫中缺少一項(xiàng),那么會(huì)有提示,其功能也是由上面所說(shuō)的一樣,通過調(diào)用javascript實(shí)現(xiàn)的,這里只提供下截圖,主要代碼如上,如圖41所示:圖41 注冊(cè)提示頁(yè)面當(dāng)用戶填寫的內(nèi)容完全符合注冊(cè)標(biāo)準(zhǔn)后,點(diǎn)擊注冊(cè)按鈕,會(huì)轉(zhuǎn)到注冊(cè)成功的頁(yè)面;如若用戶名已經(jīng)被注冊(cè),會(huì)轉(zhuǎn)到注冊(cè)失敗頁(yè)面,提醒注冊(cè)用戶可能是該用戶名已經(jīng)注冊(cè)。在此只以注冊(cè)成功的頁(yè)面為例,如圖42所示:圖42 注冊(cè)成功頁(yè)面完成注冊(cè)模塊的主要代碼如下所示:首先獲取上個(gè)頁(yè)面?zhèn)鬟^來(lái)的數(shù)據(jù),用戶名、密碼、真實(shí)姓名String username = (username)。 String password = (password)。 String realname = (realname)。(username)。 //打印出username其次開始連接數(shù)據(jù)庫(kù) try{ ( ).newInstance()。 Connection conn=(jdbc:mysql://localhost:3306/myexam?user=rootamp。password=890427amp。useUnicode=trueamp。characterEncoding=gbk)。 Statement stmt=()。 ResultSet rs=null。查詢user表,看用戶名是否存在 String sql=select * from user where username like 39。+username+39。 rs=(sql)。 如果存在,提示“ 您好,您注冊(cè)的用戶名已經(jīng)存在,請(qǐng)重新輸入 ”,如果不存在,把接收過來(lái)的值付給新的變量: String s_username=(username)。 String s_password=(password)。 String s_realname=(realname)。 執(zhí)行SQL插入語(yǔ)句,把得到的值插入到user表中sql = insert into user(username,password,realname) value(39。+username+39。,39。+password+39。,39。+realname+39。)。如果插入成功,提示:“恭喜您注冊(cè)成功!” 考生登錄系統(tǒng)并且用戶名也密碼正確后,會(huì)直接跳轉(zhuǎn)到學(xué)生主頁(yè),本頁(yè)面中,考生可以在左側(cè)選擇自己下一步要做的事情,有開始考試、歷史成績(jī)查詢、修改密碼。在頁(yè)面中間,有提示語(yǔ),告訴考生每個(gè)按鈕都可以操作什么功能;若考生對(duì)考試流程不太熟悉,可以點(diǎn)擊幫助,來(lái)查詢相關(guān)問題的答案。如圖43所示:圖43考生主頁(yè) 開始考試模塊考生點(diǎn)擊開始考試,會(huì)首先彈出關(guān)于所選考試科目的一些介紹,比如考試時(shí)間和總共有多少道題目等,然后點(diǎn)擊開始考試,倒計(jì)時(shí)開始,考生選擇上一題,下一題進(jìn)行答卷,當(dāng)考生答到最大題數(shù)時(shí),下一題變成完成答卷按鈕。點(diǎn)擊完成答卷,進(jìn)入成績(jī)頁(yè)面,考生可以知道自己的成績(jī),并且,成績(jī)通過后臺(tái),插入到數(shù)據(jù)庫(kù)中。如圖44所示:圖44 考生考試頁(yè)面執(zhí)行的具體代碼如下所示:% HttpSession sess=(HttpSession)(true)。 int category = (Integer)(category)。 String username = (username)。 MysqlDjtDao md = new MysqlDjtDao()。 //引進(jìn)包 int valid = (username,category)。//去test_record表查詢有無(wú)考試記錄 valid=0。//控制返回值,自己可以自由修改。 if( valid==0 ){ Calendar cl = ()。//java util 包 表提供的系統(tǒng)時(shí)間Calendar long starttime = ()。//得到當(dāng)前時(shí)間的毫秒數(shù) long endtime = starttime+1800000。 (3600)。 //設(shè)置session的存活時(shí)間 (username,username)。 (endtime,endtime)。 ListInteger tmid = new ArrayListInteger()。//指定傳入的類型 建立一個(gè)集合 準(zhǔn)備存放抽到的題目的ID號(hào) (0)。//設(shè)置默認(rèn)值0 (tmid,tmid)。 int fenshu =0。 (fenshu,fenshu)。 ListInteger ddcount = new ArrayListInteger()。 (ddcount,ddcount)。 ListQuestion allwts = new ArrayListQuestion()。//建立問題question對(duì)應(yīng)的實(shí)體類 來(lái)存放查到的題目信息 ListInteger listsId = (category)。//某個(gè)科有多少個(gè)問題 int qnum = (category)。//共需要幾個(gè)問題 (qnum,qnum)。 Random rand = new Random()。//Java提供的得到數(shù)字的類 for( int a=0。aqnum。a++ ){//開始抽題 int hao = (()1)。//取一個(gè)隨機(jī)數(shù),不超過題目的總數(shù) ()取一個(gè)隨機(jī)數(shù) for( Integer vd:tmid ){//去掉重復(fù)的題 泛型循環(huán) if( vd==hao ){ hao = (()1)。//如果重復(fù)再重新抽,即重新生成一個(gè)隨機(jī)數(shù) } } int bcid = (hao)。//根據(jù)抽到的數(shù)得到該題目的Id號(hào) Question qs = (bcid)。//根據(jù)Id號(hào)查詢題目的信息 (qs)。//把查到的題目的信息插入到allwts集合中 (hao)。//把已經(jīng)用過的隨機(jī)數(shù)放入集合,防止重復(fù)抽題 } (allwts,allwts)。% jsp:forward page= / % }else{ (errorInfo,已經(jīng)答過題了,不能重復(fù)答題!)。 % jsp:forward page= / % } % 歷史成績(jī)模塊考生點(diǎn)擊歷史成績(jī),會(huì)先遷移到考試科目選擇頁(yè)面,當(dāng)考生通過下拉列表,選中要查詢的科目,然后點(diǎn)擊確認(rèn),會(huì)從數(shù)據(jù)庫(kù)中提取出考生的成績(jī),然后在表格中顯示。點(diǎn)擊左下角的返回按鈕,回到考試科目選擇頁(yè)面,繼續(xù)查詢其他科目成績(jī),如圖45所示:圖45 考生成績(jī)查詢頁(yè)面成績(jī)查詢頁(yè)面主要代碼如下所示:接收上個(gè)頁(yè)面?zhèn)鬟^來(lái)的值 String category = (category)。 String[] result = null。 int count = 0。 開始連接數(shù)據(jù)庫(kù) ( ).newInstance()。 Connection conn=(jdbc:mysql://localhost/Myexam?user=rootamp。password=890427amp。useUnicode=trueamp。characterEncoding=gbk)。 Statement stmt=()。 數(shù)據(jù)庫(kù)結(jié)果集的數(shù)據(jù)表 Resu
點(diǎn)擊復(fù)制文檔內(nèi)容
規(guī)章制度相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1