java jsp实现网络考试系统(mysql)
java网络考试系统
功能:可进行学生、管理员登录,学生考试、管理员出卷、列表分页
@
实现效果



主要代码实现
package cn.itbaizhan.tyut.exam.sys.servlets;
import java.io.IOException;
import java.lang.reflect.InvocationTargetException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.commons.beanutils.BeanUtils;
import cn.itbaizhan.tyut.exam.common.PageControl;
import cn.itbaizhan.tyut.exam.common.Pager;
import cn.itbaizhan.tyut.exam.common.Tools;
import cn.itbaizhan.tyut.exam.model.SysFunction;
import cn.itbaizhan.tyut.exam.sys.services.impl.FunService;
import cn.itbaizhan.tyut.exam.sys.services.interfaces.IFunService;
public class FunServlet extends HttpServlet {
IFunService service = new FunService();
@Override
protected void service(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
String cmd = request.getParameter("cmd");
if(cmd.equals("add")){
addfun(request,response);
}else if(cmd.equals("list")){
funlist(request,response);
}else if(cmd.equals("toedit")){
toedit(request,response);
}else if(cmd.equals("edit")){
edit(request,response);
}
}
/**
* 修改系统功能
* @param request
* @param response
*/
private void edit(HttpServletRequest request, HttpServletResponse response) {
SysFunction fun = new SysFunction();
try {
BeanUtils.populate(fun, request.getParameterMap());
Integer rtn = service.edit(fun);
if(rtn>0){
response.sendRedirect(Tools.Basepath(request, response)+"sys/fun?cmd=list");
}else{
request.setAttribute("msg", "保存系统功能失败!");
request.getRequestDispatcher("/sys/function/edit.jsp").forward(request, response);
}
} catch (Exception e) {
e.printStackTrace();
}
}
/**
* 初始化修改页面
* @param request
* @param response
* @throws IOException
* @throws ServletException
*/
private void toedit(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
SysFunction fun = new SysFunction();
fun.setFunid(Integer.parseInt(request.getParameter("id")));
fun = service.detail(fun);
if(fun!=null){
request.setAttribute("item",fun);
request.getRequestDispatcher("/sys/function/edit.jsp").forward(request, response);
}else{
request.setAttribute("msg", "需要修改的系统功能不存在。");
request.getRequestDispatcher("/error.jsp").forward(request, response);
}
}
/**
* 查询功能列表
* @param request
* @param response
* @throws IOException
* @throws ServletException
*/
private void funlist(HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException {
String sname = request.getParameter("sname");
SysFunction fun = new SysFunction();
if(sname!=null && !sname.equals("")){
fun.setFunname(sname);
}
PageControl pc = new PageControl();
Integer currindex = 1;
if(request.getParameter("index")!=null){
currindex = Integer.parseInt(request.getParameter("index"));
}
pc.setCurrentindex(currindex);
//pc.setPagesize(5);
Pager<SysFunction> pager = service.list(fun, pc);
request.setAttribute("pager", pager);
request.getRequestDispatcher("/sys/function/list.jsp").forward(request, response);
}
/**
* 增加系统功能
* @param request
* @param response
*/
private void addfun(HttpServletRequest request, HttpServletResponse response) {
SysFunction fun = new SysFunction();
try {
BeanUtils.populate(fun,request.getParameterMap());
Integer rtn = service.addfun(fun);
if(rtn>0){
response.sendRedirect(Tools.Basepath(request, response)+"sys/fun?cmd=list");
}else{
request.setAttribute("msg", "保存系统功能失败!");
request.getRequestDispatcher("/sys/function/add.jsp").forward(request, response);
}
} catch (Exception e) {
e.printStackTrace();
}
}
}
package cn.itbaizhan.tyut.exam.sys.servlets;
import java.io.IOException;
import java.lang.reflect.InvocationTargetException;
import java.util.List;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.commons.beanutils.BeanUtils;
import cn.itbaizhan.tyut.exam.common.PageControl;
import cn.itbaizhan.tyut.exam.common.Pager;
import cn.itbaizhan.tyut.exam.common.Tools;
import cn.itbaizhan.tyut.exam.model.Paper;
import cn.itbaizhan.tyut.exam.model.Subject;
import cn.itbaizhan.tyut.exam.sys.services.impl.PaperService;
import cn.itbaizhan.tyut.exam.sys.services.interfaces.IPaperService;
public class PaperServlet extends HttpServlet {
IPaperService service = new PaperService();
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);
}else if(cmd.equals("slist")){
slist(request,response);
}
}
/**
* 生成试题功能
* @param request
* @param response
*/
private void addsubject(HttpServletRequest request, HttpServletResponse response) {
Paper paper = new Paper();
try {
BeanUtils.populate(paper,request.getParameterMap());
Integer rtn = service.addpaper(paper) ;
if(rtn>0){
response.sendRedirect(Tools.Basepath(request, response)+"sys/paper?cmd=list");
}else{
request.setAttribute("msg", "增加试题功能失败!");
request.getRequestDispatcher("/sys/paper/add.jsp").forward(request, response);
}
} catch (Exception e) {
e.printStackTrace();
}
}
/**
* 查询试题列表
* @param request
* @param response
* @throws IOException
* @throws ServletException
*/
private void list(HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException {
String pname = request.getParameter("pname");
Paper paper = new Paper();
if(pname!=null && !pname.equals("")){
paper.setPname(pname);
}
PageControl pc = new PageControl();
Integer currindex = 1;
if(request.getParameter("index")!=null){
currindex = Integer.parseInt(request.getParameter("index"));
}
pc.setCurrentindex(currindex);
//pc.setPagesize(5);
Pager<Paper> pager = service.list(paper, pc);
// System.out.println(pager.getList());;
request.setAttribute("pager", pager);
request.getRequestDispatcher("/sys/paper/list.jsp").forward(request, response);
}
private void slist(HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException {
Paper paper = new Paper();
String pname = new String(request.getParameter("pname").getBytes("iso-8859-1"), "utf-8");
paper.setPname(pname);
List<Subject> subjects = service.subjectlist(paper);
request.setAttribute("subjects", subjects);
request.getRequestDispatcher("/sys/paper/subjects.jsp").forward(request, response);
}
}
package cn.itbaizhan.tyut.exam.sys.servlets;
import java.io.IOException;
import java.io.PrintWriter;
import java.lang.reflect.InvocationTargetException;
import java.util.List;
import javax.servlet.ServletConfig;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.commons.beanutils.BeanUtils;
import com.jspsmart.upload.SmartUpload;
import cn.itbaizhan.tyut.exam.common.DBUnitHelper;
import cn.itbaizhan.tyut.exam.common.PageControl;
import cn.itbaizhan.tyut.exam.common.Pager;
import cn.itbaizhan.tyut.exam.common.Tools;
import cn.itbaizhan.tyut.exam.model.Paper;
import cn.itbaizhan.tyut.exam.model.Studentpaper;
import cn.itbaizhan.tyut.exam.model.Subject;
import cn.itbaizhan.tyut.exam.sys.services.impl.StudentpaperService;
import cn.itbaizhan.tyut.exam.sys.services.impl.SubjectService;
import cn.itbaizhan.tyut.exam.sys.services.interfaces.IStudentpaperService;
import cn.itbaizhan.tyut.exam.sys.services.interfaces.ISubjectService;
public class StudentpaperServlet extends HttpServlet {
IStudentpaperService service = new StudentpaperService();
@Override
protected void service(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
String cmd = request.getParameter("cmd");
// if(cmd.equals("add")){
// add(request,response);
// }
// else if(cmd.equals("list")){
// list(request,response);
// }
// else if(cmd.equals("listByRightcount")){
// listByRightcount(request,response);
// }
if(cmd.equals("list")){
list(request,response);
}else if(cmd.equals("score")){
score(request,response);
}else if(cmd.equals("stupaper")){
StudentPaperList(request,response);
}
}
/**
* 查询试卷得分
* @param request
* @param response
* @throws IOException
* @throws ServletException
*/
private void score(HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException {
Studentpaper stupaper = new Studentpaper();
try {
BeanUtils.populate(stupaper,request.getParameterMap());
} catch (IllegalAccessException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (InvocationTargetException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
System.out.println(stupaper.getUserid()+stupaper.getSpid());
List<Studentpaper> studentpaper = service.listByRightcount(stupaper);
Integer score = studentpaper.get(0).getRightcount();
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"));
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) {
Subject subject = new Subject();
try {
BeanUtils.populate(subject,request.getParameterMap());
Integer rtn = service.addsubject(subject);
if(rtn>0){
response.sendRedirect(Tools.Basepath(request, response)+"sys/subject?cmd=list");
}else{
request.setAttribute("msg", "增加试题功能失败或请不要添加相同试题!");
request.getRequestDispatcher("/sys/subject/add.jsp").forward(request, response);
}
} catch (Exception e) {
e.printStackTrace();
}
}
*/
private void StudentPaperList(HttpServletRequest request, HttpServletResponse response) {
Studentpaper studentpaper = new Studentpaper();
Integer userid = (Integer) request.getSession().getAttribute("userid");
studentpaper.setUserid(userid);
List<Studentpaper> papers = service.StudentPaperList(studentpaper);
request.setAttribute("papers", papers);
try {
request.getRequestDispatcher("/user/paper/studentpaper.jsp").forward(request, response);
} catch (ServletException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
package cn.itbaizhan.tyut.exam.sys.servlets;
import java.io.IOException;
import java.util.List;
import javax.servlet.ServletConfig;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.commons.beanutils.BeanUtils;
import com.jspsmart.upload.SmartUpload;
import cn.itbaizhan.tyut.exam.common.DBUnitHelper;
import cn.itbaizhan.tyut.exam.common.PageControl;
import cn.itbaizhan.tyut.exam.common.Pager;
import cn.itbaizhan.tyut.exam.common.Tools;
import cn.itbaizhan.tyut.exam.model.Subject;
import cn.itbaizhan.tyut.exam.sys.services.impl.SubjectService;
import cn.itbaizhan.tyut.exam.sys.services.interfaces.ISubjectService;
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);
}else if(cmd.equals("toedit")){
toedit(request,response);
}else if(cmd.equals("edit")){
edit(request,response);
}
}
/**
* 修改试题功能
* @param request
* @param response
*/
private void edit(HttpServletRequest request, HttpServletResponse response) {
Subject subject = new Subject();
try {
BeanUtils.populate(subject, request.getParameterMap());
Integer rtn = service.edit(subject);
if(rtn>0){
response.sendRedirect(Tools.Basepath(request, response)+"sys/subject?cmd=list");
}else{
request.setAttribute("msg", "编辑试题功能失败!");
request.getRequestDispatcher("/sys/subject/edit.jsp").forward(request, response);
}
} catch (Exception e) {
e.printStackTrace();
}
}
/**
* 初始化修改页面
* @param request
* @param response
* @throws IOException
* @throws ServletException
*/
private void toedit(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
Subject subject = new Subject();
subject.setSid(Integer.parseInt(request.getParameter("id")));
subject = service.detail(subject);
if(subject!=null){
request.setAttribute("item",subject);
request.getRequestDispatcher("/sys/subject/edit.jsp").forward(request, response);
}else{
request.setAttribute("msg", "需要修改的试题功能不存在。");
request.getRequestDispatcher("/error.jsp").forward(request, response);
}
}
/**
* 查询试题列表
* @param request
* @param response
* @throws IOException
* @throws ServletException
*/
private void list(HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException {
String scontent = request.getParameter("scontent");
Subject subject = new Subject();
if(scontent!=null && !scontent.equals("")){
subject.setScontent(scontent);
}
PageControl pc = new PageControl();
Integer currindex = 1;
if(request.getParameter("index")!=null){
currindex = Integer.parseInt(request.getParameter("index"));
}
pc.setCurrentindex(currindex);
//pc.setPagesize(5);
Pager<Subject> pager = service.list(subject, pc);
request.setAttribute("pager", pager);
request.getRequestDispatcher("/sys/subject/list.jsp").forward(request, response);
}
/**
* 增加试题功能
* @param request
* @param response
*/
private void addsubject(HttpServletRequest request, HttpServletResponse response) {
Subject subject = new Subject();
try {
BeanUtils.populate(subject,request.getParameterMap());
Integer rtn = service.addsubject(subject);
if(rtn>0){
response.sendRedirect(Tools.Basepath(request, response)+"sys/subject?cmd=list");
}else{
request.setAttribute("msg", "增加试题功能失败或请不要添加相同试题!");
request.getRequestDispatcher("/sys/subject/add.jsp").forward(request, response);
}
} catch (Exception e) {
e.printStackTrace();
}
}
}
写在最后
交流:3459067873
java jsp实现网络考试系统(mysql)的更多相关文章
- java网络考试系统的设计与实现 jsp 源码
开发环境: Windows操作系统开发工具:MyEclipse/Eclipse + JDK+ Tomcat + MySQL 数据库 项目简介: 网络考试系统主要用于实现高校在线考试,基本功能包括:自动 ...
- 基于JSP的在线考试系统-JavaWeb项目-有源码
开发工具:Myeclipse/Eclipse + MySQL + Tomcat 系统简介: 网络考试系统主要用于实现高校在线考试,基本功能包括:自动组卷.试卷发布.试卷批阅.试卷成绩统计等.本系统结构 ...
- IT增值服务-客户案例(三):合肥薪火科技,Java和P2P网络借贷系统开发指导
客户整体情况: 合肥薪火科技,是安徽合肥一家主营微信开发和运营的中小企业,http://weimarket.cn/. 这家公司筹备.创立.曲折创业的经历,我一直有关注.因为2个老板,都是我的同学校友, ...
- ssm+mysql+jsp打造在线考试系统WeKnow-学生端
一.登陆模块 前台提交账号和密码传到后台处理控制层 1.1 首先是控制器 @RequestMapping(value="/studentLogin", method=Request ...
- 课程设计之"网络考试系统"(php、Extjs)
1.TestSystem大概结构框图 2.数据库设计(11张表) 数据库名称:db_testsystem 数据库表: tb_admin 记录题库管理员帐户信息 代码 tb_allcontent 记录随 ...
- 基于Web在线考试系统的设计与实现
这是一个课程设计的文档,源码及文档数据库我都修改过了,貌似这里复制过来的时候图片不能贴出,下载地址:http://download.csdn.net/detail/sdksdk0/9361973 ...
- Java学习之网络编程实例
转自:http://www.cnblogs.com/springcsc/archive/2009/12/03/1616413.html 多谢分享 网络编程 网络编程对于很多的初学者来说,都是很向往的一 ...
- Java进阶之网络编程
网络编程 网络编程对于很多的初学者来说,都是很向往的一种编程技能,但是很多的初学者却因为很长一段时间无法进入网络编程的大门而放弃了对于该部分技术的学习. 在 学习网络编程以前,很多初学者可能觉得网络编 ...
- java web项目优化记录:优化考试系统
考试系统在进行压力測试时发现,并发量高之后出现了button无反应.试题答案不能写到数据库的问题,于是针对这些核心问题,进行了优化. 数据库方面: Select语句:Select * from TEB ...
随机推荐
- [开源硬件DIY] 自制一款精致炫酷的蓝牙土壤温湿度传感器,用于做盆栽呵护类产品(API开放,开发者可自行DIY微信小程序\安卓IOS应用)
目录 前言: 1. 成品展示 2. 原理图解析 3. pcb设计 4. 嵌入式对外提供接口 4.1 蓝牙广播 4.2 蓝牙服务和属性 4.3 数据包格式 4.4 数据通信模型 重要 . 前言: 本期给 ...
- C++语法小记---同名覆盖
同名覆盖 子类中的同名成员会覆盖父类中的同名成员,但是在内存中仍然存在,只是无法直接访问,需要加上域名才能访问 子类中的同名函数会覆盖父类中的函数,复写是同名覆盖的一种特殊情况,只要不是多态场景,复写 ...
- 循序渐进nginx(一):介绍、安装、hello world、Location匹配
目录 前言: Nginx是什么 使用场景: 官方文档说明 安装 windows下: linux(CentOS7)下: docker下: 目录结构 Hello World 1.展示一下默认的核心配置: ...
- 题解 CF576D 【Flights for Regular Customers】
对每条边来说,可以走这条边的限制解除是按\(d\)的顺序,所以先对每条边按\(d\)排序. 然后考虑每两条边之间的处理,用一个矩阵表示当前走\(d\)步是否可以从一个点到另一个点,称其为状态矩阵,用另 ...
- MVC + EFCore 项目实战 - 数仓管理系统7 - 数据源管理中--新增数据源
上篇我们完成了数据源列表展示功能(还未测试). 本篇我们来新增数据源,并查看列表展示功能. 接上篇: 二.数据源管理功能开发 2.新增数据源 我们用模态对话框来完成数据源的新增,效果如下图: 我们 ...
- luoguP1036 选数 暴力AC题解
luoguP1036 选数 暴力AC题解(非正解) 俗话说得好:暴力出奇迹,打表拿省一. 对于一些暴力就能拿分的题,暴力就好啦QWQ 题目描述 输入格式 输出格式 输入输出样例 定义变量 我们令输 ...
- python基础--迭代器、生成器
(1)迭代器 可迭代对象和迭代器的解释如下: ''' 什么是对象?Python中一切皆对象,之前我们讲过的一个变量,一个列表,一个字符串,文件句柄,函数名等等都可称作一个对象,其实一个对象就是一个实例 ...
- linux下快速列出局域网中所有主机名(计算机名)的脚本
最近有列出局域网中所有主机名的需求(SMB协议里的),但是findsmb命令总是列不全,搜了搜网上也没什么现成的解决方案,于是自己写了个python脚本 脚本会扫描局域网arp表中所有ip,并尝试解析 ...
- math库常用函数
- 线程_FIFO队列实现生产者消费者
import threading # 导入线程库 import time from queue import Queue # 队列 class Producer(threading.Thread): ...