基于javaweb+mysql的jsp+servlet在线考试系统(java+jsp+servlet+mysql)

基于javaweb+mysql的jsp+servlet在线考试系统(java+jsp+servlet+mysql)

运行环境

Java≥8、MySQL≥5.7、Tomcat≥8

开发工具

eclipse/idea/myeclipse/sts等均可配置运行

适用

课程设计,大作业,毕业设计,项目练习,学习演示等

功能说明

网络考试系统主要用于实现高校在线考试,基本功能包括:自动组卷、试卷发布、试卷批阅、试卷成绩统计等。本系统结构如下:

后台管理员:系统功能、用户、角色、题目管理、试卷管理、

后台教师:题目管理、试卷管理

前台学生:查看试题、答题、查看错题

后台管理员

后台教师

前台学生

技术框架

JSP Servlet MySQL JDBC Tomcat jQuery Bootstrap

基于javaweb+mysql的JSP+Servlet在线考试系统(java+jsp+servlet+mysql)

				request.getRequestDispatcher("/sys/user/editpwd.jsp").forward(request, response);
			}
		} catch (Exception e) {
			e.printStackTrace();
		}
	}
	/**
	 * 用户初始化密码修改页面
	 * @param request
	 * @param response
	 * @throws IOException 
	 * @throws ServletException 
	 * @throws IOException 
	 * @throws ServletException 
	 */
	private void toeditpwd(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		// TODO Auto-generated method stub
		Sysuser user = new Sysuser();
		user.setUserid(Integer.parseInt(request.getParameter("id")));
		user = service.detail(user);
		if(user!=null){
			request.setAttribute("user",user);
			request.getRequestDispatcher("/sys/user/editpwd.jsp").forward(request, response);
		}else{
			request.setAttribute("msg", "需要修改的用户不存在。");
			request.getRequestDispatcher("/error.jsp").forward(request, response);
		}
	}
	/**
	 * 新增用户
	 * @param request
	 * @param response
	 */
	private void add(HttpServletRequest request, HttpServletResponse response) {
		// TODO Auto-generated method stub
		Sysuser user = new Sysuser();
		try {
			BeanUtils.populate(user, request.getParameterMap());
			Integer rtn = service.add(user);
			if(rtn>0){
				response.sendRedirect(Tools.Basepath(request, response)+"sys/user?cmd=list");
			}else{
				request.setAttribute("msg", "添加用户失败或请不要再重复添加");

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);
		}
	}
	
	/**
	 * 查询试卷得分
}

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 {

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);
			e.printStackTrace();
		}
	}

	/**
	 * 获取角色列表
	 * @param request
	 * @param response
	 * @throws IOException 
	 * @throws ServletException 
	 */
	private void list(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		
		String sname = request.getParameter("sname");
		Sysrole role = new Sysrole();
		if(sname!=null && !sname.equals("")){
			role.setRolename(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<Sysrole> pager = service.list(role, pc);
		request.setAttribute("pager", pager);
		request.getRequestDispatcher("/sys/role/list.jsp").forward(request, response);
		
	}
	/**
	 * 修改角色功能
	 * @param request
	 * @param response
	 */
	private void edit(HttpServletRequest request, HttpServletResponse response) {
		
		Sysrole role = new Sysrole();
		
		try {
			BeanUtils.populate(role, request.getParameterMap());
			Integer rtn = service.edit(role);
			if(rtn>0){			
				response.sendRedirect(Tools.Basepath(request, response)+"sys/role?cmd=list");
			}else{
				request.setAttribute("msg", "保存角色失败!");
				request.getRequestDispatcher("/sys/role/edit.jsp").forward(request, response);
			}
		} catch (Exception e) {
//				request.setAttribute("msg", "保存用户失败");
//				request.getRequestDispatcher("/sys/user/add.jsp").forward(request, response);
			}
		} catch (Exception e) {
			e.printStackTrace();
		}
	}
	/**
	 * 学生登陆
	 * @param request
	 * @param response
	 * @throws IOException 
	 * @throws ServletException 
	 */
	private void stulogin(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		
		Sysuser user = new Sysuser();
		user.setUsername(request.getParameter("username"));
		user.setUserpwd(request.getParameter("userpwd"));
		user = service.stulogin(user);
		if(user==null){
			request.setAttribute("msg", "用户名密码错误");
			request.getRequestDispatcher("/login.jsp").forward(request, response);
			return;
		}else{
			HttpSession session = request.getSession(true);
			session.setAttribute("user", user);
			session.setAttribute("userid", user.getUserid());
			index(request, response);
		//	request.getRequestDispatcher("/sys/user?cmd=init").forward(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();
		}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")));
	 */
	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 
	 */
		request.setAttribute("pager", pager);
		request.getRequestDispatcher("/sys/role/list.jsp").forward(request, response);
		
	}
	/**
	 * 修改角色功能
	 * @param request
	 * @param response
	 */
	private void edit(HttpServletRequest request, HttpServletResponse response) {
		
		Sysrole role = new Sysrole();
		
		try {
			BeanUtils.populate(role, request.getParameterMap());
			Integer rtn = service.edit(role);
			if(rtn>0){			
				response.sendRedirect(Tools.Basepath(request, response)+"sys/role?cmd=list");
			}else{
				request.setAttribute("msg", "保存角色失败!");
				request.getRequestDispatcher("/sys/role/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 {
		
		Sysrole role = new Sysrole();
		role.setRoleid(Integer.parseInt(request.getParameter("id")));
		role = service.detail(role);
		if(role!=null){

public class RoleServlet extends HttpServlet {

	IRoleService service = new RoleService();
	
	@Override
	protected void service(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {
		String cmd = request.getParameter("cmd");
		if(cmd.equals("list")){
			list(request,response);
		}else if(cmd.equals("add")){
			add(request,response);
		}else if(cmd.equals("initrole")){
			initrole(request,response);
		}else if(cmd.equals("saveright")){
			saveright(request,response);
		}else if(cmd.equals("toedit")){
			toedit(request,response);
		}else if(cmd.equals("edit")){
			edit(request,response);
		}
	}

	/**
	 * 保存角色权限
	 * @param request
	 * @param response
		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();
		}	
	}

	
	
}

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
		// TODO Auto-generated method stub
		Sysuser user = new Sysuser();
		
		try {
			BeanUtils.populate(user, request.getParameterMap());
			Integer rtn = service.edit(user);
			if(rtn>0){			
				response.sendRedirect(Tools.Basepath(request, response)+"sys/user?cmd=list");
			}else{
				request.setAttribute("msg", "保存用户失败!");
				request.getRequestDispatcher("/sys/user/edit.jsp").forward(request, response);
			}
		} catch (Exception e) {
			e.printStackTrace();
		}
	}
	/**
	 * 用户初始化修改页面
	 * @param request
	 * @param response
	 * @throws IOException 
	 * @throws ServletException 
	 * @throws IOException 
	 * @throws ServletException 
	 */
	private void toedit(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		// TODO Auto-generated method stub
		Sysuser user = new Sysuser();
		user.setUserid(Integer.parseInt(request.getParameter("id")));
		user = service.detail(user);
		if(user!=null){
			request.setAttribute("item",user);
			request.getRequestDispatcher("/sys/user/edit.jsp").forward(request, response);
		}else{
			request.setAttribute("msg", "需要修改的用户不存在。");
			request.getRequestDispatcher("/error.jsp").forward(request, response);
		}
	}
	/**
	 * 修改用户密码功能
	 * @param request
	 * @param response
	 */
	private void editpwd(HttpServletRequest request, HttpServletResponse response) {
		// TODO Auto-generated method stub
		Sysuser user = new Sysuser();
		
			}
		} 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);
		}
		
		}
	}
	
	/**
	 * 查询试卷得分
	 * @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 
	 */
	 * @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);
			request.getRequestDispatcher("/error.jsp").forward(request, response);
		}
	}

	/**
	 * 初始化权限分配页面
	 * @param request
	 * @param response
	 * @throws IOException 
	 * @throws ServletException 
	 */
	private void initrole(HttpServletRequest request,
			HttpServletResponse response) throws ServletException, IOException {
		Sysrole role = new Sysrole();
		role.setRoleid(Integer.parseInt(request.getParameter("roleid")));
		List<SysFunction> list = service.initfunlist(role);
		request.setAttribute("list",list);
		
		role = service.detail(role);
		request.setAttribute("role", role);
		request.getRequestDispatcher("/sys/role/right.jsp").forward(request, response);
	}

	/**
	 * 新增角色
	 * @param request
	 * @param response
	 */
	private void add(HttpServletRequest request, HttpServletResponse response) {
		
		Sysrole role = new Sysrole();
		try {
			BeanUtils.populate(role, request.getParameterMap());
			Integer rtn = service.add(role);
			if(rtn>0){
				response.sendRedirect(Tools.Basepath(request, response)+"sys/role?cmd=list");
			}else{
				request.setAttribute("msg", "保存角色失败");
				request.getRequestDispatcher("/sys/role/add.jsp").forward(request, response);
			}
		} catch (Exception e) {
			e.printStackTrace();

请添加图片描述

请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
javaweb是一种以Java为基础的web开发技术,它包括了servletjsp等相关技术。servletJavaEE规范中的一种组件,它主要用于处理用户发送的HTTP请求和返回HTTP响应。servlet可以接收前端页面传来的数据,然后对数据进行处理并返回给前端页面。mysql是一种关系型数据库管理系统,它能够存储大量的数据并提供有效的数据管理和查询功能。在javaweb开发中,我们可以通过servlet来连接mysql数据库,从而实现数据的持久化存储和操作。 jsp是一种基于Java的动态网页开发技术,它可以将Java代码嵌入到HTML页面中,从而实现动态页面的生成和展示。jsp可以使用Java代码来获取数据库中的数据并将其显示在前端页面上,实现了前后端的数据交互。 service是一种用于实现业务逻辑的组件或类,它负责处理具体的业务功能。在javaweb开发中,我们可以将业务逻辑封装在service中,然后在servlet中调用相应的service方法,实现对数据的处理和操作。 考试中无框架要求表示不可以使用现成的框架或库来完成开发任务,需要手动编写相关代码。在考试中,可以考察学生对javaweb技术的理解和应用能力,要求学生能够熟练地使用servletjsp等相关技术,并能够编写出符合需求的代码。此外,对于数据库操作,学生还需要了解mysql的基本操作和相关的jdbc编程技巧。 总而言之,javaweb servlet mysql jsp service的考试是考察学生对javaweb开发技术的掌握程度和应用能力的一种考试形式,学生需要熟练地使用这些技术,并能够灵活运用到实际的开发场景中。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值