版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p><b> 畢業(yè)論文</b></p><p><b> 在線考試系統(tǒng)</b></p><p> 學(xué) 院: 計(jì)算機(jī)學(xué)院 </p><p> 專 業(yè): 計(jì)算機(jī)科學(xué)與技術(shù) </p><p> 學(xué)生姓名: </p&g
2、t;<p> 學(xué) 號(hào): </p><p> 指導(dǎo)教師: </p><p> 2012 年 4月 23號(hào)</p><p><b> 摘 要</b></p><p> 考試系統(tǒng)主要采用了JSP技術(shù),Ajax技術(shù),MySQl數(shù)據(jù)庫(kù)技術(shù)
3、,Servlet技術(shù),Tomcat Web服務(wù)器技術(shù),實(shí)現(xiàn)了在線自動(dòng)組卷,計(jì)算成績(jī),成績(jī)?nèi)霂?kù),成績(jī)查詢,個(gè)人信息修改等功能。</p><p> 關(guān)鍵詞:JSP,Ajax,MySQL,Servlet,Tomcat</p><p><b> Abstract</b></p><p> This system mainly uses JSP t
4、echnology, Ajax technology, MySQl database technology, Servlet technology, Tomcat Web server technology, realizing the online automatic generating test paper, calculation result, result storage, query results, modify per
5、sonal information and other functions.</p><p> Key words: JSP,Ajax,MySQL,Servlet,Tomcat</p><p><b> 目錄</b></p><p><b> 摘 要I</b></p><p> Abs
6、tract(英文摘要)Ⅱ</p><p><b> 目 錄Ⅲ</b></p><p> 第一章 引 言1</p><p> 1.1 課題的目的和意義4</p><p> 1.2 本課題的研究對(duì)象、目標(biāo)和方法4</p><p> 1.3 系統(tǒng)功能描述5</
7、p><p> 第二章 源代碼及注釋6</p><p> 2.1 java源代碼6</p><p> 2.1.1 dao接口極其實(shí)現(xiàn)6</p><p> 2.1.2 entity數(shù)據(jù)層19</p><p> 2.1.3 servlet核心邏輯30</p><p> 2.
8、1.4 工具包44</p><p> 2.2 jsp源代碼46</p><p> 2.3 css樣式文件104</p><p> 2.4 js文件117</p><p> 2.5 XML文件120</p><p> 2.6數(shù)據(jù)庫(kù)建表說(shuō)明121</p><p>&
9、lt;b> 參考文獻(xiàn)128</b></p><p> 致謝及聲明129</p><p><b> 引 言</b></p><p> 1.1課題的目的和意義</p><p> 隨著計(jì)算機(jī)技術(shù)的迅猛發(fā)展,學(xué)校教學(xué)與管理的信息化發(fā)展也有長(zhǎng)足的進(jìn)步,考試也是一樣。與傳統(tǒng)的考試方式相比,網(wǎng)絡(luò)考
10、試系統(tǒng)極大地提高了教學(xué)的靈活性,并在許多領(lǐng)域已經(jīng)有了廣泛的應(yīng)用。網(wǎng)上考試系統(tǒng)的最大優(yōu)點(diǎn)是可以動(dòng)態(tài)地管理各種考試信息,這大大的降低了考生作弊的可能性,在各類考試中發(fā)揮高效、便捷的作用,能把老師從繁重的工作中解脫出來(lái)!</p><p> 隨著社會(huì)的進(jìn)步與商品經(jīng)濟(jì)的不斷發(fā)展,社會(huì)對(duì)勞動(dòng)者與技術(shù)人員的知識(shí)與能力水平的要求越來(lái)越高??荚囎鳛楹饬咳说哪芰Φ闹匾侄危诂F(xiàn)代生活的地位進(jìn)一步提高,并深入到社會(huì)各個(gè)方面,各種各樣
11、的學(xué)歷考試、資格證書(shū)考試層出不窮。同時(shí),Internet技術(shù)的發(fā)展是得考試的技術(shù)手段與載體發(fā)生了革命性的變化。Internet的開(kāi)放性與分布性的特點(diǎn)以及基于Internet的巨大計(jì)算能力使得考試突破了時(shí)間與空間的限制。網(wǎng)絡(luò)應(yīng)用不斷擴(kuò)大,如遠(yuǎn)程教育與虛擬高校的出現(xiàn)等;使得基于Web的在線考試系統(tǒng)成為現(xiàn)實(shí)?;赪eb的在線考試系統(tǒng)可以發(fā)揮網(wǎng)絡(luò)的優(yōu)勢(shì),建立大型、高效、共享的題庫(kù)與實(shí)現(xiàn)隨時(shí)隨地的考試,降低考試成本,減少人為的干擾。減輕教師的負(fù)擔(dān)
12、,節(jié)約人力,物力,與財(cái)力。</p><p> 1.2 本課題的研究對(duì)象、目標(biāo)和方法</p><p> 在線考試系統(tǒng)以計(jì)算機(jī)為工具,把考試系統(tǒng)完善,通過(guò)對(duì)教務(wù)管理所需的信息管理,減輕行政人員的工作負(fù)擔(dān),使教學(xué)辦公室對(duì)考試信息的管理更方便,把管理人員從繁瑣的數(shù)據(jù)計(jì)算處理中解脫出來(lái),使其有更多的精力從事教務(wù)管理政策的研究實(shí)施,教學(xué)計(jì)劃的制定執(zhí)行和教學(xué)質(zhì)量的監(jiān)督檢查,從而全面提高教學(xué)質(zhì)量。計(jì)算
13、機(jī)的資源是受到限制的,因此要充分利用JSP的功能,設(shè)計(jì)出功能強(qiáng)大的軟件,同時(shí)要盡可能減少對(duì)系統(tǒng)資源的占用,同時(shí)對(duì)本系統(tǒng)要求有良好的保密。</p><p> 在線考試系統(tǒng)主要實(shí)現(xiàn)的是對(duì)學(xué)生的定期考試及成績(jī)的管理。首先,對(duì)用戶設(shè)置不同的權(quán)限,根據(jù)不同的權(quán)限進(jìn)入不同的頁(yè)面。其次,對(duì)于所輸入的用戶名和密碼進(jìn)行判斷。最后,成功登錄的話:1、如果是學(xué)生頁(yè)面,登錄到個(gè)人管理頁(yè)面,其中包括在線考試、成績(jī)查詢、密碼修改等。2、如
14、果是管理員頁(yè)面,管理員可以對(duì)數(shù)據(jù)庫(kù)進(jìn)行更新維護(hù),主要是題庫(kù)、學(xué)生信息、教師信息的逐條或批量的錄入。3、如果是教師頁(yè)面,教師可以查詢本專業(yè)的所有學(xué)生成績(jī),并可修改個(gè)人密碼等。</p><p> 1.3 網(wǎng)站功能整體規(guī)劃</p><p> 圖1 網(wǎng)站整體規(guī)劃圖</p><p><b> 1.4系統(tǒng)功能描述</b></p>&l
15、t;p> 1.4.1 學(xué)生操作系統(tǒng)</p><p> ?。?)完成考試操作 </p><p> 通過(guò)后臺(tái)的自動(dòng)組卷功能,在題庫(kù)中按每個(gè)難度等級(jí)取題,并自動(dòng)組成試卷顯示給學(xué)生,具有倒計(jì)時(shí)以及到時(shí)自動(dòng)交卷功能。交卷之后,自動(dòng)計(jì)算學(xué)生考試成績(jī)予以提示,并將本次考試信息以及學(xué)生成績(jī)錄入數(shù)據(jù)庫(kù);另外,學(xué)生不能重復(fù)提交答案,否則提示學(xué)生。</p><p><b&
16、gt; ?。?)查詢考試規(guī)則</b></p><p><b> ?。?)查詢成績(jī)</b></p><p> 可以通過(guò)此功能查詢所有自己已考科目的所有成績(jī),列表顯示。</p><p> ?。?)查詢/修改個(gè)人信息</p><p> 通過(guò)此功能可以查詢個(gè)人信息、修改個(gè)人登陸密碼</p><
17、p> 1.4.2 教師操作系統(tǒng)</p><p> (1)查詢/修改個(gè)人信息</p><p> 通過(guò)此功能可以查詢個(gè)人信息、修改個(gè)人登陸密碼</p><p><b> ?。?)查詢成績(jī)</b></p><p> 通過(guò)此功能可以查詢自己所教科目的所有學(xué)生的考試成績(jī)</p><p> 1
18、.4.3 管理員操作系統(tǒng)</p><p> 通過(guò)此功能可以完成對(duì)數(shù)據(jù)庫(kù)的更新與維護(hù),包括題庫(kù)、學(xué)生、教師等信息的逐條或批量錄入。</p><p> 1.5 MySQL數(shù)據(jù)庫(kù)表格設(shè)計(jì)</p><p><b> 1.6 系統(tǒng)測(cè)試</b></p><p><b> 登陸網(wǎng)站</b></p&g
19、t;<p> 登陸成功,轉(zhuǎn)入主頁(yè)面</p><p><b> 開(kāi)始考試</b></p><p> 點(diǎn)擊交卷,后臺(tái)檢測(cè)是否已經(jīng)考試過(guò)了,如果已經(jīng)考試過(guò)了</p><p><b> 如果沒(méi)考過(guò)</b></p><p><b> 成績(jī)查詢</b></p&
20、gt;<p><b> 查詢/修改個(gè)人信息</b></p><p><b> 教師登陸</b></p><p><b> 成績(jī)查詢</b></p><p><b> 管理員登陸</b></p><p><b> 更新題庫(kù)&
21、lt;/b></p><p><b> 更新學(xué)生庫(kù)</b></p><p><b> 更新教師庫(kù)</b></p><p> 第二章 源代碼及注釋</p><p> 2.1 java源代碼</p><p> 2.1.1 dao接口極其實(shí)現(xiàn)</p>
22、;<p> ExamDAO.java</p><p> package dao;</p><p> import java.util.List;</p><p> import entity.Admin;</p><p> import entity.ExamInfo;</p><p> im
23、port entity.Question;</p><p> import entity.Score;</p><p> import entity.Student;</p><p> import entity.Teacher;</p><p> public interface ExamDAO {</p><p
24、> //通過(guò)管理員登陸帳號(hào)在數(shù)據(jù)庫(kù)查找獲得該管理員信息</p><p> Admin getAdminByAdminId(String userName)throws Exception;</p><p> //通過(guò)教師登陸帳號(hào)在數(shù)據(jù)庫(kù)查找獲得該教師信息</p><p> Teacher getTeaByTeaId(String userName)th
25、rows Exception;</p><p> //通過(guò)學(xué)生登陸帳號(hào)在數(shù)據(jù)庫(kù)查找獲得該學(xué)生信息</p><p> Student getStuByStuId(String userName)throws Exception;</p><p> //通過(guò)試題的難度及科目查找數(shù)據(jù)庫(kù)獲得考題信息</p><p> List<Ques
26、tion> getQuestionByRankSubject(int i, String subject)throws Exception;</p><p> //向數(shù)據(jù)庫(kù)增加考試成績(jī)</p><p> void insertScore(Student loginStu, int sum, ExamInfo examInfo)throws Exception;</p>
27、<p> //通過(guò)學(xué)生學(xué)號(hào)及考試科目查找數(shù)據(jù)庫(kù)獲得該生的考試成績(jī)</p><p> Score getScoreByStuIdSubject(String stuId,String subject)throws Exception;</p><p> //通過(guò)學(xué)生學(xué)號(hào)查找數(shù)據(jù)庫(kù)獲得該生的全部考試成績(jī)</p><p> List<Score
28、> getAllScoresByStuId(String stuId)throws Exception;</p><p> //通過(guò)考試科目查找數(shù)據(jù)庫(kù)獲得所有該科目的考試成績(jī)</p><p> List<Score> getScoreBySubject(String subject)throws Exception;</p><p> //完
29、成學(xué)生修改密碼的操作</p><p> void updateStu(int id, String newPwd)throws Exception;</p><p> //完成教師修改密碼的操作</p><p> void updateTea(int id, String newPwd)throws Exception;</p><p>
30、; //向數(shù)據(jù)庫(kù)增加一條考題信息</p><p> void insertQuestion(Question question)throws Exception;</p><p> //向數(shù)據(jù)庫(kù)增加一條學(xué)生信息</p><p> void insertStudent(Student stu)throws Exception;</p><p
31、> //向數(shù)據(jù)庫(kù)增加一條教師信息</p><p> void insertTeacher(Teacher tea)throws Exception;</p><p> //向數(shù)據(jù)庫(kù)批量增加考題信息</p><p> void insertQuestions(String fileName)throws Exception;</p><
32、;p> //向數(shù)據(jù)庫(kù)批量增加教師信息</p><p> void insertTeachers(String url)throws Exception;</p><p> //向數(shù)據(jù)庫(kù)批量增加學(xué)生信息</p><p> void insertStudents(String url)throws Exception;</p><p&g
33、t;<b> }</b></p><p> ExamDAOImpl.java </p><p> package dao.impl;</p><p> import java.io.BufferedInputStream;</p><p> import java.io.BufferedReader;<
34、/p><p> import java.io.File;</p><p> import java.io.FileInputStream;</p><p> import java.io.IOException;</p><p> import java.io.InputStreamReader;</p><p>
35、 import java.sql.Connection;</p><p> import java.sql.PreparedStatement;</p><p> import java.sql.ResultSet;</p><p> import java.util.ArrayList;</p><p> import java.
36、util.List;</p><p> import utils.Config;</p><p> import utils.ConnectionUtils;</p><p> import dao.ExamDAO;</p><p> import entity.Admin;</p><p> import
37、entity.ExamInfo;</p><p> import entity.Question;</p><p> import entity.Score;</p><p> import entity.Student;</p><p> import entity.Teacher;</p><p> pu
38、blic class ExamDAOImpl implements ExamDAO {</p><p> public Admin getAdminByAdminId(String userName) throws Exception {</p><p> String sql = "select*from exam_admin where adminId=?";&
39、lt;/p><p> Connection conn = ConnectionUtils.getConnection();</p><p> PreparedStatement stmt = conn.prepareStatement(sql);</p><p> stmt.setString(1, userName);</p><p>
40、 ResultSet rs = stmt.executeQuery();</p><p> Admin admin = null;</p><p> if (rs.next()) {</p><p> admin = new Admin();</p><p> admin.setAdminId(userName);</p>
41、<p> admin.setId(rs.getInt("id"));</p><p> admin.setPwd(rs.getString("pwd"));</p><p><b> }</b></p><p> ConnectionUtils.close(conn);</p&
42、gt;<p> return admin;</p><p><b> }</b></p><p> public Teacher getTeaByTeaId(String userName) throws Exception {</p><p> String sql = "select*from exam_te
43、acher where teaId=?";</p><p> Connection conn = ConnectionUtils.getConnection();</p><p> PreparedStatement stmt = conn.prepareStatement(sql);</p><p> stmt.setString(1, userN
44、ame);</p><p> ResultSet rs = stmt.executeQuery();</p><p> Teacher tea = null;</p><p> if (rs.next()) {</p><p> tea = new Teacher();</p><p> tea.setGen
45、der(rs.getString("gender"));</p><p> tea.setId(rs.getInt("id"));</p><p> tea.setName(rs.getString("name"));</p><p> tea.setPwd(rs.getString("pw
46、d"));</p><p> tea.setTeaId(userName);</p><p> tea.setSubject(rs.getString("subject"));</p><p><b> }</b></p><p> ConnectionUtils.close(con
47、n);</p><p> return tea;</p><p><b> }</b></p><p> public Student getStuByStuId(String userName) throws Exception {</p><p> String sql = "select*from
48、 exam_student where stuId=?";</p><p> Connection conn = ConnectionUtils.getConnection();</p><p> PreparedStatement stmt = conn.prepareStatement(sql);</p><p> stmt.setString(
49、1, userName);</p><p> ResultSet rs = stmt.executeQuery();</p><p> Student stu = null;</p><p> if (rs.next()) {</p><p> stu = new Student();</p><p> st
50、u.setEnterDate(rs.getString("enterDate"));</p><p> stu.setGender(rs.getString("gender"));</p><p> stu.setGrade(rs.getString("grade"));</p><p> stu.s
51、etId(rs.getInt("id"));</p><p> stu.setName(rs.getString("name"));</p><p> stu.setPwd(rs.getString("pwd"));</p><p> stu.setStuId(userName);</p>
52、<p><b> }</b></p><p> ConnectionUtils.close(conn);</p><p> return stu;</p><p><b> }</b></p><p> public List<Question> getQuest
53、ionByRankSubject(int rank, String subject)</p><p> throws Exception {</p><p> String sql = "select*from exam_question where rank=? and subject=?";</p><p> Connection co
54、nn = ConnectionUtils.getConnection();</p><p> PreparedStatement stmt = conn.prepareStatement(sql);</p><p> stmt.setInt(1, rank);</p><p> stmt.setString(2, subject);</p>&l
55、t;p> ResultSet rs = stmt.executeQuery();</p><p> List<Question> list = new ArrayList<Question>();</p><p> while (rs.next()) {</p><p> Question question = new Ques
56、tion();</p><p> question.setAnswer(rs.getString("answer"));</p><p> question.setId(rs.getInt("id"));</p><p> question.setMark(rs.getInt("mark"));<
57、;/p><p> question.setOptionA(rs.getString("optionA"));</p><p> question.setOptionB(rs.getString("optionB"));</p><p> question.setOptionC(rs.getString("optio
58、nC"));</p><p> question.setOptionD(rs.getString("optionD"));</p><p> question.setRank(rank);</p><p> question.setTitle(rs.getString("title"));</p>
59、<p> question.setSubject(subject);</p><p> list.add(question);</p><p><b> }</b></p><p> ConnectionUtils.close(conn);</p><p> return list;</p&g
60、t;<p><b> }</b></p><p> public void insertScore(Student loginStu, int sum, ExamInfo examInfo)</p><p> throws Exception {</p><p> String sql = "insert int
61、o exam_score(stuId,name,subject,score,examTime)values(?,?,?,?,?)";</p><p> Connection conn = ConnectionUtils.getConnection();</p><p> PreparedStatement stmt = conn.prepareStatement(sql);&
62、lt;/p><p> stmt.setString(1, loginStu.getStuId());</p><p> stmt.setString(2, loginStu.getName());</p><p> stmt.setString(3, examInfo.getSubject());</p><p> stmt.setInt
63、(4, sum);</p><p> stmt.setString(5, examInfo.getExamTime());</p><p> stmt.executeUpdate();</p><p> ConnectionUtils.close(conn);</p><p><b> }</b></p&g
64、t;<p> public Score getScoreByStuIdSubject(String stuId, String subject)</p><p> throws Exception {</p><p> String sql = "select*from exam_score where stuId=? and subject=?";
65、</p><p> Connection conn = ConnectionUtils.getConnection();</p><p> PreparedStatement stmt = conn.prepareStatement(sql);</p><p> stmt.setString(1, stuId);</p><p> s
66、tmt.setString(2, subject);</p><p> ResultSet rs = stmt.executeQuery();</p><p> Score score = null;</p><p> if (rs.next()) {</p><p> score = new Score();</p>
67、<p> score.setExamTime(rs.getString("examTime"));</p><p> score.setName(rs.getString("name"));</p><p> score.setScore(rs.getInt("score"));</p><p&
68、gt; score.setStuId(stuId);</p><p> score.setSubject(subject);</p><p><b> }</b></p><p> ConnectionUtils.close(conn);</p><p> return score;</p>&l
69、t;p><b> }</b></p><p> public List<Score> getAllScoresByStuId(String stuId) throws Exception {</p><p> String sql = "select*from exam_score where stuId=?";</p
70、><p> Connection conn = ConnectionUtils.getConnection();</p><p> PreparedStatement stmt = conn.prepareStatement(sql);</p><p> stmt.setString(1, stuId);</p><p> ResultS
71、et rs = stmt.executeQuery();</p><p> List<Score> list = new ArrayList<Score>();</p><p> while (rs.next()) {</p><p> Score score = new Score();</p><p> s
72、core.setId(rs.getInt("id"));</p><p> score.setExamTime(rs.getString("examTime"));</p><p> score.setName(rs.getString("name"));</p><p> score.setScor
73、e(rs.getInt("score"));</p><p> score.setStuId(stuId);</p><p> score.setSubject(rs.getString("subject"));</p><p> list.add(score);</p><p><b>
74、; }</b></p><p> ConnectionUtils.close(conn);</p><p> return list;</p><p><b> }</b></p><p> public List<Score> getScoreBySubject(String subj
75、ect) throws Exception {</p><p> String sql = "select*from exam_score where subject=?";</p><p> Connection conn = ConnectionUtils.getConnection();</p><p> PreparedStatem
76、ent stmt = conn.prepareStatement(sql);</p><p> stmt.setString(1, subject);</p><p> ResultSet rs = stmt.executeQuery();</p><p> List<Score> list = new ArrayList<Score>
77、();</p><p> while (rs.next()) {</p><p> Score score = new Score();</p><p> score.setExamTime(rs.getString("examTime"));</p><p> score.setId(rs.getInt(&quo
78、t;id"));</p><p> score.setName(rs.getString("name"));</p><p> score.setScore(rs.getInt("score"));</p><p> score.setStuId(rs.getString("stuId"))
79、;</p><p> score.setSubject(subject);</p><p> list.add(score);</p><p><b> }</b></p><p> ConnectionUtils.close(conn);</p><p> return list;&l
80、t;/p><p><b> }</b></p><p> public void updateStu(int id, String newPwd) throws Exception {</p><p> String sql = "update exam_student set pwd=? where id=?";<
81、/p><p> Connection conn = ConnectionUtils.getConnection();</p><p> PreparedStatement stmt = conn.prepareStatement(sql);</p><p> stmt.setString(1, newPwd);</p><p> stmt
82、.setInt(2, id);</p><p> stmt.executeUpdate();</p><p> ConnectionUtils.close(conn);</p><p><b> }</b></p><p> public void updateTea(int id, String newPwd)
83、 throws Exception {</p><p> String sql = "update exam_teacher set pwd=? where id=?";</p><p> Connection conn = ConnectionUtils.getConnection();</p><p> PreparedStatemen
84、t stmt = conn.prepareStatement(sql);</p><p> stmt.setString(1, newPwd);</p><p> stmt.setInt(2, id);</p><p> stmt.executeUpdate();</p><p> ConnectionUtils.close(conn
85、);</p><p><b> }</b></p><p> public void insertQuestion(Question question) throws Exception {</p><p> String sql = "insert into exam_question(title,optionA,option
86、B,optionC,optionD,answer,mark,rank,subject) values(?,?,?,?,?,?,?,?,?)";</p><p> Connection conn = ConnectionUtils.getConnection();</p><p> PreparedStatement stmt = conn.prepareStatement(s
87、ql);</p><p> stmt.setString(1, question.getTitle());</p><p> stmt.setString(2, question.getOptionA());</p><p> stmt.setString(3, question.getOptionB());</p><p> stm
88、t.setString(4, question.getOptionC());</p><p> stmt.setString(5, question.getOptionD());</p><p> stmt.setString(6, question.getAnswer());</p><p> stmt.setInt(7, question.getMark(
89、));</p><p> stmt.setInt(8, question.getRank());</p><p> stmt.setString(9, question.getSubject());</p><p> stmt.executeUpdate();</p><p> ConnectionUtils.close(conn);
90、</p><p><b> }</b></p><p> public void insertStudent(Student stu) throws Exception {</p><p> String sql = "insert into exam_student(stuId,name,grade,pwd,gender,en
91、terDate)values(?,?,?,?,?,?)";</p><p> Connection conn = ConnectionUtils.getConnection();</p><p> PreparedStatement stmt = conn.prepareStatement(sql);</p><p> stmt.setString(
92、1, stu.getStuId());</p><p> stmt.setString(2, stu.getName());</p><p> stmt.setString(3, stu.getGrade());</p><p> stmt.setString(4, stu.getPwd());</p><p> stmt.setSt
93、ring(5, stu.getGender());</p><p> stmt.setString(6, stu.getEnterDate());</p><p> stmt.executeUpdate();</p><p> ConnectionUtils.close(conn);</p><p><b> }</b
94、></p><p> public void insertTeacher(Teacher tea) throws Exception{</p><p> String sql = "insert into exam_teacher(teaId,name,pwd,gender,subject)values(?,?,?,?,?)";</p><
95、p> Connection conn = ConnectionUtils.getConnection();</p><p> PreparedStatement stmt = conn.prepareStatement(sql);</p><p> stmt.setString(1, tea.getTeaId());</p><p> stmt.set
96、String(2, tea.getName());</p><p> stmt.setString(3, tea.getPwd());</p><p> stmt.setString(4, tea.getGender());</p><p> stmt.setString(5, tea.getSubject());</p><p>
97、stmt.executeUpdate();</p><p> ConnectionUtils.close(conn);</p><p><b> }</b></p><p> public void insertQuestions(String fileName) throws Exception {</p><p&g
98、t;<b> try {</b></p><p> BufferedReader in = new BufferedReader(new InputStreamReader(</p><p> new BufferedInputStream(new FileInputStream(fileName)), "gbk"));</p>
99、<p> String str;</p><p> while ((str = in.readLine()) != null) {</p><p> str = str.trim();</p><p> if (str.equals("") || str.startsWith("#")) {</p&g
100、t;<p><b> continue;</b></p><p><b> }</b></p><p> // 解析流信息到 Question 對(duì)象</p><p> Question q = parseQuestion(str, in);</p><p> insertQu
101、estion(q);</p><p><b> }</b></p><p> in.close();</p><p> } catch (Exception e) {</p><p> e.printStackTrace();</p><p> throw new RuntimeExce
102、ption(e);</p><p><b> }</b></p><p><b> }</b></p><p> private Question parseQuestion(String str, BufferedReader in) {</p><p> String[] data =
103、str.split("[@,][a-z]+=");</p><p> Question q = new Question();</p><p> q.setAnswer(data[1]);</p><p> q.setMark(Integer.parseInt(data[2]));</p><p> q.setRa
104、nk(Integer.parseInt(data[3]));</p><p> q.setSubject(data[4]);</p><p><b> try {</b></p><p><b> // 讀取題干</b></p><p> q.setTitle(in.readLine());
105、</p><p> // 連續(xù)讀取4個(gè)選項(xiàng)</p><p> q.setOptionA(in.readLine());</p><p> q.setOptionB(in.readLine());</p><p> q.setOptionC(in.readLine());</p><p> q.setOptio
106、nD(in.readLine());</p><p> } catch (IOException e) {</p><p> e.printStackTrace();</p><p><b> }</b></p><p><b> return q;</b></p><p
107、><b> }</b></p><p> public void insertStudents(String fileName) throws Exception {</p><p><b> try {</b></p><p> BufferedReader in = new BufferedReader(
108、new InputStreamReader(</p><p> new BufferedInputStream(new FileInputStream(fileName)), "gbk"));</p><p> String str;</p><p> while ((str = in.readLine()) != null) {</
109、p><p> str = str.trim();</p><p> if (str.equals("") || str.startsWith("#")) {</p><p><b> continue;</b></p><p><b> }</b><
110、/p><p> Student stu = parseStudent(str, in);</p><p> insertStudent(stu);</p><p><b> }</b></p><p> in.close();</p><p> } catch (Exception e) {
111、</p><p> e.printStackTrace();</p><p> throw new RuntimeException(e);</p><p><b> }</b></p><p><b> }</b></p><p> private Student
112、 parseStudent(String str, BufferedReader in) {</p><p> String[] data = str.split("[@,][a-z]+=");</p><p> Student stu = new Student();</p><p> stu.setStuId(data[1]);<
113、/p><p> stu.setName(data[2]);</p><p> stu.setGrade(data[3]);</p><p> stu.setPwd(data[4]);</p><p> stu.setGender(data[5]);</p><p> stu.setEnterDate(data[6
114、]);</p><p> return stu;</p><p><b> }</b></p><p> public void insertTeachers(String fileName) throws Exception {</p><p><b> try {</b></p&g
115、t;<p> BufferedReader in = new BufferedReader(new InputStreamReader(</p><p> new BufferedInputStream(new FileInputStream(fileName)), "gbk"));</p><p> String str;</p>&
116、lt;p> while ((str = in.readLine()) != null) {</p><p> str = str.trim();</p><p> if (str.equals("") || str.startsWith("#")) {</p><p><b> continue;<
117、;/b></p><p><b> }</b></p><p> Teacher tea = parseTeacher(str, in);</p><p> insertTeacher(tea);</p><p><b> }</b></p><p> in.
118、close();</p><p> } catch (Exception e) {</p><p> e.printStackTrace();</p><p> throw new RuntimeException(e);</p><p><b> }</b></p><p><b&
119、gt; }</b></p><p> private Teacher parseTeacher(String str, BufferedReader in) {</p><p> String[] data = str.split("[@,][a-z]+=");</p><p> Teacher tea = new Teach
120、er();</p><p> tea.setGender(data[4]);</p><p> tea.setName(data[2]);</p><p> tea.setPwd(data[3]);</p><p> tea.setSubject(data[5]);</p><p> tea.setTeaId
121、(data[1]);</p><p> return tea;</p><p><b> }</b></p><p><b> }</b></p><p> 2.1.2 entity數(shù)據(jù)層</p><p> Admin.java</p><p&g
122、t; package entity;</p><p> import java.io.Serializable;</p><p> public class Admin implements Serializable {</p><p> private static final long serialVersionUID = -54602595781815
123、40777L;</p><p> private int id;</p><p> private String adminId;</p><p> private String pwd;</p><p> public int getId() {</p><p> return id;</p>
124、<p><b> }</b></p><p> public void setId(int id) {</p><p> this.id = id;</p><p><b> }</b></p><p> public String getAdminId() {</p&g
125、t;<p> return adminId;</p><p><b> }</b></p><p> public void setAdminId(String adminId) {</p><p> this.adminId = adminId;</p><p><b> }</
126、b></p><p> public String getPwd() {</p><p> return pwd;</p><p><b> }</b></p><p> public void setPwd(String pwd) {</p><p> this.pwd = pw
127、d;</p><p><b> }</b></p><p><b> }</b></p><p> ExamInfo.java </p><p> package entity;</p><p> import java.io.Serializable;<
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫(kù)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 在線考試系統(tǒng)畢業(yè)設(shè)計(jì)
- 畢業(yè)設(shè)計(jì)-在線考試系統(tǒng)
- 在線考試系統(tǒng)畢業(yè)設(shè)計(jì)
- 畢業(yè)設(shè)計(jì)----在線考試系統(tǒng)
- 在線考試系統(tǒng)畢業(yè)設(shè)計(jì)論文
- 在線考試系統(tǒng)畢業(yè)設(shè)計(jì)論文
- 在線考試系統(tǒng)畢業(yè)設(shè)計(jì)論文
- 在線考試系統(tǒng)畢業(yè)設(shè)計(jì)論文
- java在線考試系統(tǒng)畢業(yè)設(shè)計(jì)
- 在線考試系統(tǒng)設(shè)計(jì)畢業(yè)設(shè)計(jì)論文
- 畢業(yè)設(shè)計(jì)---網(wǎng)絡(luò)在線考試系統(tǒng)設(shè)計(jì)
- 畢業(yè)設(shè)計(jì)----網(wǎng)上在線考試系統(tǒng)設(shè)計(jì)
- 在線考試系統(tǒng)畢業(yè)設(shè)計(jì)開(kāi)題報(bào)告
- c語(yǔ)言在線考試系統(tǒng)畢業(yè)設(shè)計(jì)
- 畢業(yè)設(shè)計(jì)---在線考試系統(tǒng)設(shè)計(jì)與開(kāi)發(fā)
- 在線考試系統(tǒng)畢業(yè)設(shè)計(jì)開(kāi)題報(bào)告
- 在線考試系統(tǒng)畢業(yè)設(shè)計(jì)開(kāi)題報(bào)告
- 在線考試系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)畢業(yè)設(shè)計(jì)
- 畢業(yè)設(shè)計(jì)----在線考試系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)
- 基于jsp的在線考試系統(tǒng)畢業(yè)設(shè)計(jì)
評(píng)論
0/150
提交評(píng)論