基于javaweb+JSP+Servlet在线考试系统
开发工具:eclipse/idea/myeclipse/sts等均可配置运行
适用
课程设计,大作业,毕业设计,项目练习,学习演示等
* @throws ServletException
*/
private void list(HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException {
Studentpaper studentpaper = new Studentpaper();
PageControl pc = new PageControl();
Integer currindex = 1;
if(request.getParameter("index")!=null){
currindex = Integer.parseInt(request.getParameter("index"));
}
pc.setCurrentindex(currindex);
//pc.setPagesize(5);
studentpaper.setUserid((Integer) request.getSession().getAttribute("userid"));
studentpaper.setSpid(request.getParameter("spid"));
Pager<Subject> pager = service.list(studentpaper, pc);
request.setAttribute("pager", pager);
</c:choose>
</td>
<td>
<a href="<%=basePath%>sys/subject?cmd=toedit&id=${item.sid}">编辑</a>
</td>
</tr>
</c:forEach>
</tbody>
</table>
<div class="pagination pagination-right">
<ul>
<li>
<a>共计:${pager.pagectrl.pagecount}页/${pager.pagectrl.rscount}条记录</a>
</li>
<li>
<c:if test="${pager.pagectrl.currentindex==1}" var="fp">
<a style="disabled:true">上一页</a>
</c:if>
<c:if test="${!fp}">
<a href="<%=basePath%>sys/subject?cmd=list&index=${pager.pagectrl.currentindex-1}">上一页</a>
request.setAttribute("score", score);
PrintWriter out = response.getWriter();
out.println("您本次得分" + score * 2 + "分!");
out.flush();
out.close();
//request.getRequestDispatcher("/sys/paper/subjects.jsp").forward(request, response);
}
/**
* 查询详细错题
* @param request
* @param response
* @throws IOException
* @throws ServletException
*/
private void list(HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException {
Studentpaper studentpaper = new Studentpaper();
PageControl pc = new PageControl();
Integer currindex = 1;
if(request.getParameter("index")!=null){
currindex = Integer.parseInt(request.getParameter("index"));
}
pc.setCurrentindex(currindex);
//pc.setPagesize(5);
studentpaper.setUserid((Integer) request.getSession().getAttribute("userid"));
pc.setCurrentindex(currindex);
//pc.setPagesize(5);
studentpaper.setUserid((Integer) request.getSession().getAttribute("userid"));
studentpaper.setSpid(request.getParameter("spid"));
Pager<Subject> pager = service.list(studentpaper, pc);
request.setAttribute("pager", pager);
request.getRequestDispatcher("/user/paper/studenterror.jsp").forward(request, response);
}
/**
* 增加试题功能
* @param request
* @param response
*//*
private void addsubject(HttpServletRequest request, HttpServletResponse response) {
public Integer edit(Sysuser user) {
// TODO Auto-generated method stub
String sql = "UPDATE SYSUSER SET ROLEID=?,USERNAME=?," +
"USERPWD=?,USERTRUENAME=?,USERSTATE=? WHERE USERID=?";
Integer rtn = DBUtil.executeUpdate(sql,user.getRoleid(),
user.getUsername(),user.getUserpwd(),user.getUsertruename(),user.getUserstate(),user.getUserid());
return rtn;
}
public Integer toedit(Sysuser user) {
// TODO Auto-generated method stub
String sql = "UPDATE SYSUSER SET USERPWD=? WHERE USERID=?";
Integer rtn = DBUtil.executeUpdate(sql,user.getUserpwd(),user.getUserid());
return rtn;
}
public Integer editpwd(Sysuser user) {
// TODO Auto-generated method stub
return roles;
}
public Integer saveright(String roleid, String[] funids) {
String sql = "DELETE FROM ROLERIGHT WHERE ROLEID="+roleid;
Connection conn = DBUtil.getConn();
Integer rst = 0;
try {
conn.setAutoCommit(false);
QueryRunner rq = new QueryRunner();
int rtn = rq.update(conn, sql);
for(int i=0;i<funids.length;i++){
String sql2 = "INSERT INTO ROLERIGHT (ROLEID,FUNID) VALUES ("+roleid+","+funids[i]+")";
rtn = rq.update(conn,sql2);
if(rtn>0){
continue;
}else{
conn.rollback();
break;
}
}
import com.demo.common.Tools;
import com.demo.model.Subject;
import com.demo.sys.services.interfaces.ISubjectService;
import org.apache.commons.beanutils.BeanUtils;
import com.demo.sys.services.impl.SubjectService;
public class SubjectServlet extends HttpServlet {
ISubjectService service = new SubjectService();
@Override
protected void service(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
String cmd = request.getParameter("cmd");
if(cmd.equals("add")){
addsubject(request,response);
}else if(cmd.equals("list")){
list(request,response);
+ request.getServerName() + ":" + request.getServerPort()
+ path + "/";
%>
<html>
<head>
<base href="<%=basePath%>">
<title>在线答题</title>
<link rel="stylesheet" type="text/css" href="<%=basePath%>css/bootstrap.min.css">
<link rel="stylesheet" type="text/css" href="<%=basePath%>css/paper.css">
<script src="<%=basePath%>js/jquery.js" type="text/javascript"></script>
<script src="<%=basePath%>js/bootstrap.js"></script>
</head>
<body>
<nav class="navbar navbar-default" role="navigation">
<!-- Brand and toggle get grouped for better mobile display -->
<div class="navbar-header">
<button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-ex1-collapse">
<span class="sr-only">Toggle navigation</span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<a class="navbar-brand" href="#">在线考试系统</a>
import com.demo.common.PageControl;
import com.demo.common.Pager;
import com.demo.model.SysFunction;
import com.demo.model.Sysuser;
import com.demo.sys.dao.interfaces.IUserDao;
public class UserDao implements IUserDao {
public Sysuser login(Sysuser user) {
String sql = "SELECT USERID,A.ROLEID,USERNAME,USERPWD,USERTRUENAME,USERSTATE, "
+ "B.ROLENAME FROM SYSUSER A "
+ "INNER JOIN SYSROLE B ON A.ROLEID=B.ROLEID "
+ "WHERE USERSTATE=1 AND USERNAME=? AND USERPWD=? ";
List<Sysuser> list = DBUtil.executeQuery(sql, Sysuser.class, user
.getUsername(), user.getUserpwd());
String basePath = request.getScheme() + "://"
+ request.getServerName() + ":" + request.getServerPort()
+ path + "/";
%>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<link rel="stylesheet" type="text/css" href="<%=basePath%>css/admin.css">
<link rel="stylesheet" type="text/css" href="<%=basePath%>css/pintuer.css">
<link rel="stylesheet" type="text/css" href="<%=basePath%>css/bootstrap.css">
<title>学生登录</title>
</head>
<body>
<div class="bg"></div>
<div class="container">
<div class="line bouncein">
<div class="xs6 xm4 xs3-move xm4-move">
<div style="height:80px;"></div>
<div class="media media-y margin-big-bottom">
</div>
<form action="<%=basePath%>user?cmd=stulogin" method="post" class="login-form">
<div class="panel loginbox">
<div class="text-center margin-big padding-big-top">
运行环境
Java≥8、Tomcat≥8.0、MySQL≥5.7
开发工具
eclipse/idea/myeclipse/sts等均可配置运行
技术框架
JSP Servlet MySQL JDBC Tomcat jQuery Bootstrap
适用
课程设计,大作业,毕业设计,项目练习,学习演示等
功能说明
网络考试系统主要用于实现高校在线考试,基本功能包括:自动组卷、试卷发布、试卷批阅、试卷成绩统计等。本系统结构如下:
后台管理员:系统功能、用户、角色、题目管理、试卷管理、
后台教师:题目管理、试卷管理
前台学生:查看试题、答题、查看错题
后台管理员
后台教师
前台学生