SSM框架实例——在线考试系统

2019.10.13更新提示

这个项目是2017年写的,之前有不少小伙伴联系我,询问这个项目的事情,在此说声抱歉,虽然项目主要由我负责,但是本项目确实问题很多,基于XML配置的SSM框架,对初学者来说简直是一种灾难。

大家可以参考我的源码和设计思路,至于其他问题,就恕我没法多说了——时隔两年,我也忘得差不多了。  

另外,源码加群701365388后下载即可。

---

上学期的时候写了一个SSM框架整合的小系统,叫做在线考试系统,简单来说就是实现教师(管理员)发布考试和学生(普通用户)参加考试的功能,当然其中还有一些稍显复杂的东西。

  SSM=Spring+SpringMVC+Mybatis,也是应用非常广泛的一种java web框架。

  篇幅所限不会介绍很多关于功能和编码的知识,下面会贴出项目的工作目录截图、运行截图以及源代码的下载链接。

  此外,推荐一下两篇有关SSM环境配置的博客,博主都是很厉害的程序猿啦。参考:使用maven创建web项目以及SSM框架详细教程

  下面是OnlineExam的介绍,源码下载地址第四栏。

  1.工作目录展示:

SSM框架实例——在线考试系统_第1张图片

2.项目简要说明:

该OnlineExam项目采用SSM框架构建,分为Controller,service,serviceImpl,model,dao,mapping层。
前端部分使用jsp技术,包括了boostrap/jquery等框架,还使用了jstl标签库等。

各层介绍如下:
1.Controller层:控制器层,接收并处理HTTP请求,调用service层接口
2.service层:接口层
3.serviceImpl:接口实现层
4.model层:java bean类
5.dao层:数据库SQL查询接口
6.mapping层:数据库xml文件,主要由mybatis自动生成。
注:model,dao,mapping层中基本文件时由mybatis框架自动生成,项目生成方法参照数据库设计。

配置文件介绍:
1.pom.xml
2.web.xml
3.src/main/resources下有spring-mvc.xml和spring-mybatis.xml,还有jdbc.properties和log4j

 

3.运行截图:

 

SSM框架实例——在线考试系统_第2张图片

4.源码下载地址:SSM框架源码下载

5.补:数据库文件,这个是用来建立项目所需的数据库的。

/*
Navicat MySQL Data Transfer

Source Server         : localhost_3306
Source Server Version : 50719
Source Host           : localhost:3306
Source Database       : online_exam

Target Server Type    : MYSQL
Target Server Version : 50719
File Encoding         : 65001

Date: 2018-03-09 22:17:47
*/

SET FOREIGN_KEY_CHECKS=0;

-- ----------------------------
-- Table structure for exam
-- ----------------------------
DROP TABLE IF EXISTS `exam`;
CREATE TABLE `exam` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `name` varchar(255) NOT NULL,
  `password` varchar(255) NOT NULL,
  `start_time` datetime NOT NULL,
  `end_time` datetime NOT NULL,
  `length` int(11) NOT NULL,
  `create_time` datetime NOT NULL,
  `class_id` int(11) NOT NULL,
  `number` int(11) NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=35 DEFAULT CHARSET=utf8;

-- ----------------------------
-- Table structure for exam_class
-- ----------------------------
DROP TABLE IF EXISTS `exam_class`;
CREATE TABLE `exam_class` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `classname` varchar(255) NOT NULL,
  `create_time` datetime NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8;

-- ----------------------------
-- Table structure for exam_history
-- ----------------------------
DROP TABLE IF EXISTS `exam_history`;
CREATE TABLE `exam_history` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `exam_id` int(11) NOT NULL,
  `student_email` varchar(255) NOT NULL,
  `question_id` int(11) NOT NULL,
  `score` int(11) NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=12 DEFAULT CHARSET=utf8;

-- ----------------------------
-- Table structure for exam_score
-- ----------------------------
DROP TABLE IF EXISTS `exam_score`;
CREATE TABLE `exam_score` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `student_email` varchar(255) NOT NULL,
  `exam_id` int(11) NOT NULL,
  `total_score` int(11) NOT NULL,
  `total_point` int(11) NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=utf8;

-- ----------------------------
-- Table structure for exam_student
-- ----------------------------
DROP TABLE IF EXISTS `exam_student`;
CREATE TABLE `exam_student` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `exam_id` int(11) NOT NULL,
  `student_name` varchar(255) NOT NULL,
  `student_email` varchar(255) NOT NULL,
  `student_grade` int(11) NOT NULL,
  `student_class` int(11) NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=70 DEFAULT CHARSET=utf8;

-- ----------------------------
-- Table structure for question
-- ----------------------------
DROP TABLE IF EXISTS `question`;
CREATE TABLE `question` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `class_id` int(11) NOT NULL,
  `content` varchar(255) NOT NULL,
  `type` int(11) NOT NULL,
  `options` varchar(255) NOT NULL,
  `answer` varchar(255) NOT NULL,
  `point` int(11) NOT NULL,
  `create_time` datetime NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=110 DEFAULT CHARSET=utf8;

-- ----------------------------
-- Table structure for user
-- ----------------------------
DROP TABLE IF EXISTS `user`;
CREATE TABLE `user` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `email` varchar(255) NOT NULL,
  `name` varchar(255) NOT NULL,
  `password` varchar(255) NOT NULL,
  `identity` int(11) NOT NULL,
  `create_time` datetime NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8;

 

 

 

你可能感兴趣的:(Java)