最近了解了基于web的java题库专家信息管理系统项目,在这个平台记录一下这个基于web的java题库专家信息管理系统项目,方便以后再次使用或学习的时候能够及时的翻阅。在完成基于web的java题库专家信息管理系统项目的时候,考虑了很多框架。最终决定选用SSM(MYECLIPSE),该框架具有极强的移植性,多平台性,便于操作性等优点。此框架能在MYECLIPSE开发工具中完美的编写和运行,基于web的java题库专家信息管理系统为一个 后台项目。这个项目的描述是这样的:当前的出题工作往往还停留在主观命题和手工操作阶段,存在着两个主要缺陷:一是教师凭经验出题,因此试题的难易程度、试题份量及题目的覆盖性不易保证。采用当前非常流行的B/S体系结构,以JAVA作为开发技术,主要依赖SSM技术框架,mysql数据库建立本系统。
在对基于web的java题库专家信息管理系统项目进行需求分析的时候,得出系统的登录角色包括了管理员、用户。对应用户可以通过登录自己的账号,进行入系统。系统对不同角色拥有不同权限。

总结得出基于web的java题库专家信息管理系统项目所有数据为:管理员(admin)、用户(yonghu)、专业(zhuanye)、试题(shiti)

基于web的java题库专家信息管理系统之管理员表

字段名 | 类型 | 属性 | 描述
id | INT(11) | PRIMARY KEY | 管理员id
username | VARCHAR(255) | | 账号
password | VARCHAR(255) | | 密码

基于web的java题库专家信息管理系统之用户表

字段名 | 类型 | 属性 | 描述
id | INT(11) | PRIMARY KEY | 用户id
xingming | VARCHAR(255) | | 姓名
zhiwu | VARCHAR(255) | | 职务
quanxian | VARCHAR(255) | | 权限
username | VARCHAR(255) | | 账号
password | VARCHAR(255) | | 密码

基于web的java题库专家信息管理系统之专业表

字段名 | 类型 | 属性 | 描述
id | INT(11) | PRIMARY KEY | 专业id
jingguan | VARCHAR(255) | | 经管
ruanjiangongcheng | VARCHAR(255) | | 软件工程
dianzixinxi | VARCHAR(255) | | 电子信息

基于web的java题库专家信息管理系统之试题表

字段名 | 类型 | 属性 | 描述
id | INT(11) | PRIMARY KEY | 试题id
zhonglei | VARCHAR(255) | | 种类
leixing | VARCHAR(255) | | 类型
neirong | VARCHAR(255) | | 内容
// 定义 xiugaiyonghu方法

@RequestMapping(VALUE = "xiugaiyonghu")

public String xiugaiyonghu(HttpServletRequest request, HttpServletResponse response,HttpSession SESSION,INT id,String backurl){

logger.debug("YonghuController.xiugaiyonghu ......");

Yonghu yonghu = yonghudao.selectByPrimaryKey(id);

request.setAttribute("yonghu", yonghu);

IF(backurl != NULL && backurl.indexOf("xiugaiyonghu.action") == -1){

RETURN "forward:/" + backurl; }

RETURN "xiugaiyonghu";

}

// 定义xiugaiyonghuact处理用户修改

@RequestMapping(VALUE = "xiugaiyonghuact")

public String xiugaiyonghuact(HttpServletRequest request, HttpServletResponse response,Yonghu yonghu,HttpSession SESSION,String backurl) throws IOException {

logger.debug("YonghuController.xiugaiyonghuact ......");

yonghudao.updateByPrimaryKeySelective(yonghu);

request.setAttribute("message", "修改用户信息成功");

IF(backurl != NULL && backurl.indexOf("xiugaiyonghuact.action") == -1){

RETURN "forward:/" + backurl; }

RETURN "forward:/yonghuguanli.action";

}

添加试题模块:

从页面中通过post方法,将试题信息传入到后台服务器中,在tianjiashitiact

中接收,字段包括种类,类型,内容使用insert方法添加数据,将数据同步到

数据库中,完成添加操作。定义添加成功提示信息,添加试题成功,并保存到request中具体代码如下:

通过shitidao的insert方法将页面传输的试题添加到数据库中 shitidao.insert(shiti);

将添加试题成功信息,保存到request的message中,在页面中给出用户提示 request.setAttribute("message", "添加试题成功");

返回试题管理界面

return "forward:/tianjiashiti.action";

查询试题模块:

在后台shitiguanli方法中,通过selectByexample方法获取所有的数据信息。将其保存到request中,在页面中通过foreach方法

进行循环展示到table中。完成试题查询操作。具体代码如下:

生成试题样例类,通过example定义查询条件 ShitiExample example = new ShitiExample();

通过shitidao的selectByExample方法查询出所有的试题信息 List shitiall = shitidao.selectByExample(example);

将试题信息,保存到request中,在页面通过foreach方法进行展示 request.setAttribute("shitiall", shitiall);

返回试题管理界面

return "forward:/shitiguanli.action";

修改试题模块:

点击修改按钮,可以跳转到试题修改页面。在试题修改页面中,将初始化该试题的所有信息,并将信息一一对应填充到对应编辑栏中。编辑完试题信息后,页面通过post方法将数据封装为一个试题实体,传入到shitiController中。在xiugaishiti中进行接收,接收完毕后,调用shitiMapper中的updateByPrimaryKeySelective方法进行修改。该部分代码如下:

通过shitidao的修改方法根据id修改对应的试题 shitidao.updateByPrimaryKeySelective(shiti);

将修改试题成功信息,保存到request的message中,在页面中给出用户提示 request.setAttribute("message", "修改试题信息成功");

返回试题管理界面

return "forward:/shitiguanli.action";

删除试题模块:

在管理页面中,点击删除。页面将通过a标签的href属性,使用get方法将该试题

的id上传到服务器中,在服务器中通过shitiController类中的shanchushiti进行接收,之后调用shitiMapper中的deleteByPrimaryKey方法根据ID进行删除。将删除信息保存到request的message中,在页面给出用户删除成功的提示信息,该部分核心代码如下:

通过shitidao的删除方法根据id删除对应的试题 shitidao.deleteByPrimaryKey(id);

将删除试题成功信息,保存到request的message中,在页面中给出用户提示 request.setAttribute("message", "删除试题成功");

返回试题管理界面

return "forward:/shitiguanli.action";

源码下载

01-17 03:32