最近了解了基于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")publicString 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) throwsIOException {
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";