web网上考试系统
每天記錄學習,每天會有好心情。*^_^*
今天將為大家分析一個基于web的網上考試系統,采用當前非常流行的B/S體系結構,以JAVA作為開發技術,主要依賴SSM技術框架,mysql數據庫建立本系統。
基于web的網上考試系統項目使用框架為SSM(MYECLIPSE),選用開發工具為MYECLIPSE。基于web的網上考試系統為一個 后臺項目。
為了完成基于web的網上考試系統,我們首先需要對該系統進行需求分析。一個基于web的網上考試系統應包含用戶角色有管理員、考生。為了能讓用戶順利登陸系統完成相關操作,需要為每種登陸角色設置賬戶和密碼字段。
在系統的功能中,成績是一個重要的表。這個表使得考生、考試關聯了起來。在成績表中成績的考生與考生的mingzi字段對應、成績的考生id與考生的id字段對應、成績的考試與考試的mingcheng字段對應、成績的考試id與考試的id字段對應
,他們擁有關聯關系。
總結得出基于web的網上考試系統項目所有數據為:管理員(admin)、考生(kaosheng)、考試(kaoshi)、成績(chengji)、題目(timu)
基于web的網上考試系統之管理員表
字段名 | 類型 | 屬性 | 描述 id | INT(11) | PRIMARY KEY | 管理員id username | VARCHAR(255) | | 賬號 password | VARCHAR(255) | | 密碼
基于web的網上考試系統之考生表
字段名 | 類型 | 屬性 | 描述 id | INT(11) | PRIMARY KEY | 考生id mingzi | VARCHAR(255) | | 名字 username | VARCHAR(255) | | 賬號 password | VARCHAR(255) | | 密碼 nianling | VARCHAR(255) | | 年齡
基于web的網上考試系統之考試表
字段名 | 類型 | 屬性 | 描述 id | INT(11) | PRIMARY KEY | 考試id mingcheng | VARCHAR(255) | | 名稱 kemu | VARCHAR(255) | | 科目 shijian | VARCHAR(255) | | 時間 didian | VARCHAR(255) | | 地點
基于web的網上考試系統之成績表
字段名 | 類型 | 屬性 | 描述 id | INT(11) | PRIMARY KEY | 成績id kaosheng | VARCHAR(255) | | 考生 kaoshengid | VARCHAR(255) | | 考生id kaoshi | VARCHAR(255) | | 考試 kaoshiid | VARCHAR(255) | | 考試id fenshu | VARCHAR(255) | | 分數
基于web的網上考試系統之題目表
字段名 | 類型 | 屬性 | 描述 id | INT(11) | PRIMARY KEY | 題目id biaoti | VARCHAR(255) | | 標題 neirong | VARCHAR(255) | | 內容 cankaodaan | VARCHAR(255) | | 參考答案
SET FOREIGN_KEY_CHECKS=0; -- ---------------------------- -- ---------------------------- -- Table structure for ggjywebdwsksxt -- ---------------------------- DROP TABLE IF EXISTS `t_admin`; CREATE TABLE `t_admin` (`id` INT(11) NOT NULL AUTO_INCREMENT COMMENT '管理員id',`username` VARCHAR(255) DEFAULT NULL COMMENT '賬號',`password` VARCHAR(255) DEFAULT NULL COMMENT '密碼',PRIMARY KEY (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COMMENT='管理員'; -- ---------------------------- DROP TABLE IF EXISTS `t_kaosheng`; CREATE TABLE `t_kaosheng` (`id` INT(11) NOT NULL AUTO_INCREMENT COMMENT '考生id',`mingzi` VARCHAR(255) DEFAULT NULL COMMENT '名字',`username` VARCHAR(255) DEFAULT NULL COMMENT '賬號',`password` VARCHAR(255) DEFAULT NULL COMMENT '密碼',`nianling` VARCHAR(255) DEFAULT NULL COMMENT '年齡',PRIMARY KEY (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COMMENT='考生'; -- ---------------------------- DROP TABLE IF EXISTS `t_kaoshi`; CREATE TABLE `t_kaoshi` (`id` INT(11) NOT NULL AUTO_INCREMENT COMMENT '考試id',`mingcheng` VARCHAR(255) DEFAULT NULL COMMENT '名稱',`kemu` VARCHAR(255) DEFAULT NULL COMMENT '科目',`shijian` VARCHAR(255) DEFAULT NULL COMMENT '時間',`didian` VARCHAR(255) DEFAULT NULL COMMENT '地點',PRIMARY KEY (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COMMENT='考試'; -- ---------------------------- DROP TABLE IF EXISTS `t_chengji`; CREATE TABLE `t_chengji` (`id` INT(11) NOT NULL AUTO_INCREMENT COMMENT '成績id',`kaosheng` VARCHAR(255) DEFAULT NULL COMMENT '考生',`kaoshengid` INT(11) DEFAULT NULL COMMENT '考生id',`kaoshi` VARCHAR(255) DEFAULT NULL COMMENT '考試',`kaoshiid` INT(11) DEFAULT NULL COMMENT '考試id',`fenshu` VARCHAR(255) DEFAULT NULL COMMENT '分數',PRIMARY KEY (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COMMENT='成績'; -- ---------------------------- DROP TABLE IF EXISTS `t_timu`; CREATE TABLE `t_timu` (`id` INT(11) NOT NULL AUTO_INCREMENT COMMENT '題目id',`biaoti` VARCHAR(255) DEFAULT NULL COMMENT '標題',`neirong` VARCHAR(255) DEFAULT NULL COMMENT '內容',`cankaodaan` VARCHAR(255) DEFAULT NULL COMMENT '參考答案',PRIMARY KEY (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COMMENT='題目';
添加題目模塊:
通過添加題目模塊,可以完成題目的添加操作。在頁面中跳轉到添加題目頁面,輸入題目的所有信息,點擊添加操作,可以將題目數據以post提交到timuController中。題目所包含的字段信息包括標題,內容,參考答案。在timuController中通過定義timu接受所有的題目參數。使用timudao的insert方法將timu實體插入到數據庫中。完成數據的添加操作,在timuMapper中匹配對應的timuxml完成插入sql語句的執行操作。該部分核心代碼如下:
通過timudao的insert方法將頁面傳輸的題目添加到數據庫中 timudao.insert(timu);
將添加題目成功信息,保存到request的message中,在頁面中給出用戶提示 request.setAttribute("message", "添加題目成功");
返回題目管理界面
return "forward:/tianjiatimu.action";
查詢題目模塊:
在后臺中定義題目查詢模塊,在側邊欄中點擊題目管理,可以跳轉到題目管理界面。在該頁面中通過timuController中定義timuguanli響應題目查詢模塊。在timuguanli中查詢出所有信息,返回頁面進行循環展示。查詢方法為timudao中的selectByexample方法。該部分核心代碼如下:
生成題目樣例類,通過example定義查詢條件 TimuExample example = new TimuExample();
通過timudao的selectByExample方法查詢出所有的題目信息 List timuall = timudao.selectByExample(example);
將題目信息,保存到request中,在頁面通過foreach方法進行展示 request.setAttribute("timuall", timuall);
返回題目管理界面
return "forward:/timuguanli.action";
修改題目模塊:
點擊修改按鈕,可以跳轉到題目修改頁面。在題目修改頁面中,將初始化該題目的所有信息,并將信息一一對應填充到對應編輯欄中。編輯完題目信息后,頁面通過post方法將數據封裝為一個題目實體,傳入到timuController中。在xiugaitimu中進行接收,接收完畢后,調用timuMapper中的updateByPrimaryKeySelective方法進行修改。該部分代碼如下:
通過timudao的修改方法根據id修改對應的題目 timudao.updateByPrimaryKeySelective(timu);
將修改題目成功信息,保存到request的message中,在頁面中給出用戶提示 request.setAttribute("message", "修改題目信息成功");
返回題目管理界面
return "forward:/timuguanli.action";
刪除題目模塊:
在頁面中通過a標簽,shanchutimu?id=將id傳入到后臺中,通過shanchutimu接收題目id。使用deleteByid的方法
刪除該題目,完成刪除操作。定義刪除成功提示信息,刪除題目成功,并保存到request中,該部分代碼如下:
通過timudao的刪除方法根據id刪除對應的題目 timudao.deleteByPrimaryKey(id);
將刪除題目成功信息,保存到request的message中,在頁面中給出用戶提示 request.setAttribute("message", "刪除題目成功");
返回題目管理界面
return "forward:/timuguanli.action";
源碼下載
總結
- 上一篇: 卖shell看站什么意思_粤语俚语卖咸鸭
- 下一篇: aes算法实现c语言_以C语言实现归并排