web網上考試系統

天天記錄學習,天天會有好心情。*^_^*html

今天將爲你們分析一個基於web的網上考試系統,採用當前很是流行的B/S體系結構,以JAVA做爲開發技術,主要依賴SSM技術框架,mysql數據庫創建本系統。mysql

基於web的網上考試系統項目使用框架爲SSM(MYECLIPSE),選用開發工具爲MYECLIPSE。基於web的網上考試系統爲一個 後臺項目。
爲了完成基於web的網上考試系統,咱們首先須要對該系統進行需求分析。一個基於web的網上考試系統應包含用戶角色有管理員、考生。爲了能讓用戶順利登錄系統完成相關操做,須要爲每種登錄角色設置帳戶和密碼字段。
在系統的功能中,成績是一個重要的表。這個表使得考生、考試關聯了起來。在成績表中成績的考生與考生的mingzi字段對應、成績的考生id與考生的id字段對應、成績的考試與考試的mingcheng字段對應、成績的考試id與考試的id字段對應
,他們擁有關聯關係。web

總結得出基於web的網上考試系統項目全部數據爲:管理員(admin)、考生(kaosheng)、考試(kaoshi)、成績(chengji)、題目(timu)sql

基於web的網上考試系統之管理員表數據庫

字段名 | 類型 | 屬性 | 描述
id | INT(11) | PRIMARY KEY | 管理員id
username | VARCHAR(255) | | 帳號
password | VARCHAR(255) | | 密碼

 

基於web的網上考試系統之考生表app

字段名 | 類型 | 屬性 | 描述
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的網上考試系統之題目表post

字段名 | 類型 | 屬性 | 描述
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";

 

源碼下載

相關文章
相關標籤/搜索