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 ...
随机推荐
- Bootstrap 3 -> 4 : 居中布局的变化
我们知道,Bootstrap布局的核心是栅格系统,一行有12个栅格. 比如,我想让两个宽度400px左右的div居中显示. 这个时候,我们可以利用栅格的列偏移功能. <div class=&qu ...
- STL源码剖析:算法
启 算法,问题之解法也 算法好坏的衡量标准:时间和空间,单位是对数.一次.二次.三次等 算法中处理的数据,输入方式都是左闭又开,类型就迭代器, 如:[first, last) STL中提供了很多算法, ...
- 学习2周C++的收获
学习2周C++的收获 首先,C++是一种实用性很强的程序设计语言.它使用起来灵活.方便,运算符丰富,有结构化的层次…… 那么,我学习这个语言主要是为了参加信息学奥林匹克竞赛,这不仅要熟练地掌握一门语言 ...
- django-celery 版本 常用命令
http://celery.github.io/django-celery/introduction.html #先启动服务器 python manage.py runserver #再启动worke ...
- @Autowired还可以注入List和Map
@LoadBalanced@Autowired(required = false)private List<RestTemplate> restTemplates = Collection ...
- Django序列化组件Serializers详解
本文主要系统性的讲解django rest framwork 序列化组件的使用,基本看完可以解决工作中序列化90%的问题,写作参考官方文档https://www.django-rest-framewo ...
- 让内层浮动的Div将外层Div撑开 -----清浮动
清浮动的好处写多了都能体会到,解决高度塌陷, 一般情况下是要清除浮动的,不然会影响下面标签的排版. <div class="parent" style="width ...
- dubbo泛化调用 小demo
前两天刚好有个同事来问是否用过 dubbo泛化 调用,不需要通过指定配置.第一次听到的时候,还是有点懵,但觉得有意思,可以学点东西. 立马百度了,找了demo,这篇比较容易上手(http://www. ...
- HTML中div嵌套div的margin不起作用
下面介绍一下div嵌套div时margin不起作用的解决方案. 顺便科普下margin的定义和用法. div嵌套的HTML代码: <!DOCTYPE html> <html lang ...
- 性能分析(2)- 应用程序 CPU 使用率过高案例
性能分析小案例系列,可以通过下面链接查看哦 https://www.cnblogs.com/poloyy/category/1814570.html 系统架构背景 其中一台用作 Web 服务器,来模拟 ...