基于SSH框架的在线考试系统-毕业论文 下载本文

数学与计算机科学学院毕业设计

5.1.2.2.3 管理员端部分界面展示

管理员拥有教师端的所有权限,但还有添加教师的权限,此权限教师没有。

1.系统登录界面

管理员成功输入正确的用户名、密码及并选择教师身份之后,点击登录按钮即可登录到管理员主页。

图5-2 管理员登录界面

26

数学与计算机科学学院毕业设计

2教师管理界面

管理员可添加,修改删除教师信息。

5.2教师端功能实现流程

该系统教师端主要包括学生管理、试题管理、成绩管理、登录管理、退出系统等五大功能模块,由于其业务逻辑比较复杂,功能具体实现涉及到很多方面。下面以试题管理模块为例进行详细讲解。

试题管理模块实现流程如下:

首先,进入到教师主页面。在左侧“试题管理”。截图如下:

图5-6 试题管理菜单

该“试题管理”菜单在teachertop.jsp页面中相应代码为:

onmouseover=\>

于是,当教师用户点击该“试题管理”子菜单后,即调用show.do进行响应,这时系统会到配置文件

27

数学与计算机科学学院毕业设计

中查找到对应的action配置并调用。在系统配置文件struts-config.xml中我们可以找到对show.do的配置如下:

type=\ >

由上述配置信息可知,系统首先调用了SubjectAction中的show方法,其具体代码如下:

// 查看已添加的科目

public ActionForward show(ActionMapping mapping, ActionForm form,

}

HttpServletRequest request, HttpServletResponse response) { IQuestionService ser = BOFactory.getQuestionService(); String spageno = request.getParameter(\); PageUtil pu = new

List list = ser.findAllSubjects(pu.getPageno(),pu.getPagesize()); request.setAttribute(\,list); request.setAttribute(\,pu); return mapping.findForward(\

PageUtil(spageno,ser.findAllSubjectsnum(),Constant.PAGESIZE);

在SubjectAction中执行完show方法后再跳转执行到该action下的linst方法,其具体代码如下:

public ActionForward list(ActionMapping mapping, ActionForm form,

}

public ActionForward detail(ActionMapping mapping, ActionForm form, }

HttpServletRequest request, HttpServletResponse response) { String sresultid = request.getParameter(\); IResultService ser = BOFactory.getResultService(); Long resultid = null; try { }

Result r = ser.findResult(resultid); request.setAttribute(\,r);

return mapping.findForward(\);

resultid = new Long(sresultid); e.printStackTrace(); } catch (Exception e) {

HttpServletRequest request, HttpServletResponse response) { Student s = (Student)request.getSession().getAttribute(\); IResultService ser = BOFactory.getResultService(); List list = ser.findResultByUserid(s.getStudentid()); request.setAttribute(\,list); return mapping.findForward(\);

28

数学与计算机科学学院毕业设计

成功执行完action中的这些方法后,将由/teacher目录下的showsubject.jsp接收这些方法中的参数和数据并在页面中显示出来。showsubject.jsp部分代码如下:



    ${message} 

ID号 科目名称 时间 状态 创建日期 总题数 总分数 维    护 操    作
${s.subjectid}  ${s.name}  ${s.time}  ${s.state==1?\开放\关闭\  ${s.sdate}  ${s.totalnum}  ${s.totalscore==null?0:s.totalscore} 

page=\${s.subjectid}\>增删改题目

page=\${s.subjectid}\>修改|

29