基于javaweb+mysql的ssm+maven在线作业提交批改系统(java+ssm+mysql+jsp+bootstrap)

基于javaweb+mysql的ssm+maven在线作业提交批改系统(java+ssm+mysql+jsp+bootstrap)

私信源码获取及调试交流

运行环境

Java≥8、MySQL≥5.7、Tomcat≥8

开发工具

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

适用

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

功能说明

基于javaweb的SSM+Maven在线作业提交批改系统(java+ssm+mysql+jsp+bootstrap)

根路径:/

【code】目录复制到D盘:d:/code/file/work_submit/download/

管理员:

admin 123456

学生:

20001 123456

20002 123456

20003 123456

20004 123456

20005 123456

教师:

10001 123456

10002 123456

上传的文件最好用pdf格式

		course.setNames(name);
		//分页并查询
		PageHelper.startPage(currPage,8);
		List<Course> courses = courseMapper.findList(course);
		System.out.println(courses);
		PageInfo pageInfo = new PageInfo<Course>(courses,8);
        
		 //startPage后紧跟的这个查询就是分页查询
	    model.addAttribute("pas", pageInfo.getList());
        //获得当前页
        model.addAttribute("currPage", pageInfo.getPageNum());
        //获得总页数
        model.addAttribute("totalPage", pageInfo.getPages());
		return "admin/course/list";
	}
	
	
	@RequestMapping(value="/gotoAddCourse")
	public String gotoAddCourse(Model model){
		return "admin/course/add";
	}
	
	/*
	 * 上传
	 */
	@RequestMapping(value="/addCourse", method = {RequestMethod.POST})
	public String addCourse(Course course,HttpServletRequest request) {
		System.out.println("course:"+course);  
		
		Course cl = courseMapper.findByName(course.getNames());
		if(cl!=null) {
			request.setAttribute("info", "课程名请勿重名!!!");
			return "admin/course/fail";
		}
		courseMapper.insert(course);
		
		return "redirect:/admin/course";
	}
	
	
	
	/**
	 */
	@RequestMapping(value="/courseDel")
	public ModelAndView deleteEmp(Integer id){
		courseMapper.delete(id);
		ModelAndView modelAndView = new ModelAndView("redirect:/admin/course");
		return modelAndView;
	/**
	 * 去编辑页面
	 */
	
	//  @RequestMapping(value="/gotoSelectCourse") public String
	//  gotoEditHotelType(Integer id,Map<String, Object> map){ //查询所有的课程
	  
	 // List<Course> courses = courseMapper.findList(null); map.put("courses",
	 // courses); map.put("stu_id", id);
	  
	//   return "tea/stu/charts/select"; }
	@RequestMapping(value="/gotoSelectCourse")
	public String gotoEditHotelType(Integer id,Map<String, Object> map){
		//查询所有的课程
		
		List<Course> courses = courseMapper.findList(null);
		map.put("courses", courses);
		map.put("stu_id", id);
		
		return "tea/stu/charts/select";
	}
	
	
	
	 
	///tea/gotoCharts
	
	 @RequestMapping(value="/gotoCharts")
	 public String gotoCharts(Integer
	  stu_id,Integer course_id,Map<String, Object> map){ //查询所有的课程
	
	 map.put("course_id", course_id); 
	 map.put("stu_id", stu_id);
	 
	 return "tea/stu/charts/charts"; }
	 
	
	
	
	///tea/getCharts?course_id='+course_id+"&stu_id="+stu_id
	@RequestMapping(value="/getCharts")
	@ResponseBody
	public List<Info> getCharts(Integer stu_id,Integer course_id){
		//查询所有的课程
		List<Info> lisrInfo = infoMapper.findByStuAndCourse(stu_id, course_id);
		System.out.println("折线图开始");
		System.out.println(lisrInfo);
		return lisrInfo;
	}
	 * 绘制字符串
	 */
	private String drowString(Graphics g, String randomString, int i) {
		g.setFont(getFont());
		g.setColor(new Color(random.nextInt(101), random.nextInt(111), random.nextInt(121)));
		String rand = String.valueOf(getRandomString(random.nextInt(randString.length())));
		randomString += rand;
		g.translate(random.nextInt(3), random.nextInt(3));
		g.drawString(rand, 13 * i, 16);
		return randomString;
	}

	/**
	 * 绘制干扰线
	 */
	private void drowLine(Graphics g) {
		int x = random.nextInt(width);
		int y = random.nextInt(height);
		int xl = random.nextInt(13);
		int yl = random.nextInt(15);
		g.drawLine(x, y, x + xl, y + yl);
	}

	/**
	 * 获取随机的字符
	 */
	public String getRandomString(int num) {
		return String.valueOf(randString.charAt(num));
	}

	public static Boolean checkVerify(String verifiCode, HttpSession httpSession) {
		if (StringUtils.isEmpty(verifiCode)) {
			return false;
		}
		String random = (String) httpSession.getAttribute("RANDOMVALIDATECODEKEY");
		if (StringUtils.isEmpty(random)) {
			return false;
		}
		if (!random.equals(verifiCode)) {
			return false;
		}
		return true;
	}
}

		if(currPage==null) {
			currPage=1;
		}
		Course course = new Course();
		course.setNames(name);
		//分页并查询
		PageHelper.startPage(currPage,8);
		List<Course> courses = courseMapper.findList(course);
		System.out.println(courses);
		PageInfo pageInfo = new PageInfo<Course>(courses,8);
        
		 //startPage后紧跟的这个查询就是分页查询
	    model.addAttribute("pas", pageInfo.getList());
        //获得当前页
        model.addAttribute("currPage", pageInfo.getPageNum());
        //获得总页数
        model.addAttribute("totalPage", pageInfo.getPages());
		return "admin/course/list";
	}
	
	
	@RequestMapping(value="/gotoAddCourse")
	public String gotoAddCourse(Model model){
		return "admin/course/add";
	}
	
	/*
	 * 上传
	 */
	@RequestMapping(value="/addCourse", method = {RequestMethod.POST})
	public String addCourse(Course course,HttpServletRequest request) {
		System.out.println("course:"+course);  
		
		Course cl = courseMapper.findByName(course.getNames());
		if(cl!=null) {
			request.setAttribute("info", "课程名请勿重名!!!");
			return "admin/course/fail";
		}
		courseMapper.insert(course);
		
		return "redirect:/admin/course";
	}
	
	
	
	/**
	 */
	@RequestMapping(value="/courseDel")
	public ModelAndView deleteEmp(Integer id){
		courseMapper.delete(id);
        //获得当前页
        model.addAttribute("currPage", pageInfo.getPageNum());
        //获得总页数
        model.addAttribute("totalPage", pageInfo.getPages());
		return "tea/work/list";
	}
	
	
	@RequestMapping(value="/gotoAddWork")
	public String gotoAddWork(Model model,HttpSession session){
Tea tea = (Tea) session.getAttribute("tea");
		

		Clazz clazz = new Clazz();
		clazz.setTea_id(tea.getId());
		List<Clazz> clazzs = clazzMapper.findListByTeaId(clazz);
		List<Course> courses = courseMapper.findList(null);
	    model.addAttribute("clazzs", clazzs);
	    model.addAttribute("courses", courses);
		return "tea/work/add";
	}
	

	
	@RequestMapping(value="/addWork", method = {RequestMethod.POST})
	public ModelAndView addVideo(Work work,BindingResult bindingResult,
			@RequestParam("upload") MultipartFile upload,HttpSession session) {
		
		
		//获取文件的保存路径
		String path=fileBasePath+"work";
		File dir = new File(path);
		if(dir.exists() == true){
			System.out.println("dirs is exists");
		}else{
			dir.mkdirs();
			System.out.println(" created dirs");
		}
		
		//获取上传文件的名称
		//String filename=upload.getOriginalFilename();
		String filename=upload.getOriginalFilename();
		try {
			filename = URLEncoder.encode(filename,"UTF-8");
		} catch (UnsupportedEncodingException e1) {
			// TODO Auto-generated catch block
			e1.printStackTrace();
		}
		//获取上传文件的扩展名
            } catch (Exception e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
            System.out.println("----------file download" + filename);
            try {
                bis.close();
                fis.close();
            } catch (IOException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
        }
        return null;
	}
	
	
	
    
}

		ModelAndView modelAndView = new ModelAndView("redirect:/admin/tea");
		return modelAndView;
	}
	
	
	
	/**
	 * 去编辑页面
	 */
	@RequestMapping(value="/gotoEditTea")
	public String gotoEditHotelType(Integer id,Map<String, Object> map){
		Tea tea =teaMapper.findById(id);
		map.put("pa", tea);
		return "admin/tea/edit";
	}
	
	@RequestMapping(value="/editTea", method = {RequestMethod.POST})
	public ModelAndView editTea(Tea tea) {
		System.out.println("tea:"+tea); 
		teaMapper.update(tea);
		ModelAndView modelAndView = new ModelAndView("redirect:/admin/tea");
		return modelAndView;
	}

	
	
	
    
}

		List<Clazz> clazzs =clazzMapper.findListByTeaId(clazz);
		
		
		//查询所有的课程
		
		map.put("clazzs", clazzs);
		
		return "tea/workCommit/charts/selectClazz";
	}

	
	//findWork
	@RequestMapping(value="/findWork")
	@ResponseBody
	public List<Work> findWork(Integer clazzId){
		Work work = new Work();
		work.setClazz_id(clazzId);
		List<Work> list = workMapper.findListByClazzId(work);
		return list;
	}
	
	
	///tea/gotoCharts
	@RequestMapping(value="/gotoWorkCommitCharts")
	public String gotoCharts(Integer clazz_id,Integer work_id,Map<String, Object> map){
		//查询所有的课程
		Work work = workMapper.findById(work_id);
		String workTitle = work.getTitle();
		
		map.put("clazz_id", clazz_id);
		map.put("work_id", work_id);
		map.put("workTitle", workTitle);
		
		return "tea/workCommit/charts/charts";
	}
	
	
	///tea/getCharts?course_id='+course_id+"&stu_id="+stu_id
	@RequestMapping(value="/getWorkCommitCharts")
	@ResponseBody
	public List<Info> getCharts(Integer clazz_id,Integer work_id){
		//查询班级总人数
		Integer total = stuMapper.findCountByClazzId(clazz_id);
		//查询已经交作业的人数
		Integer aready = workCommitMapper.findCountByWorkId(work_id);
		
		Info info1 = new Info();
		}
		// 绘制随机字符
		String randomString = "";
		for (int i = 1; i <= stringNum; i++) {
			randomString = drowString(g, randomString, i);
		}
		logger.info(randomString);
		// 将生成的随机字符串保存到session中
		session.removeAttribute(RANDOMCODEKEY);
		session.setAttribute(RANDOMCODEKEY, randomString);
		g.dispose();
		try {
			// 将内存中的图片通过流动形式输出到客户端
			ImageIO.write(image, "JPEG", response.getOutputStream());
		} catch (Exception e) {
			logger.error("将内存中的图片通过流动形式输出到客户端失败>>>>   ", e);
		}

	}

	/**
	 * 绘制字符串
	 */
	private String drowString(Graphics g, String randomString, int i) {
		g.setFont(getFont());
		g.setColor(new Color(random.nextInt(101), random.nextInt(111), random.nextInt(121)));
		String rand = String.valueOf(getRandomString(random.nextInt(randString.length())));
		randomString += rand;
		g.translate(random.nextInt(3), random.nextInt(3));
		g.drawString(rand, 13 * i, 16);
		return randomString;
	}

	/**
	 * 绘制干扰线
	 */
	private void drowLine(Graphics g) {
		int x = random.nextInt(width);
		int y = random.nextInt(height);
		int xl = random.nextInt(13);
		int yl = random.nextInt(15);
		g.drawLine(x, y, x + xl, y + yl);
	@Autowired
	private WorkCommitMapper workCommitMapper;
	
	@Autowired
	private ClazzMapper clazzMapper;
	
	private static final  String fileBasePath = "d:/code/file/work_submit/";
	
	
	@Autowired
	private WorkMapper workMapper;
	
	
	@RequestMapping("/workCommit")
	public String workCommit(Integer currPage,
			String name,
			Model model,HttpSession session){
		if(currPage==null) {
			currPage=1;
		}
		Stu stu  = (Stu) session.getAttribute("stu");
		WorkCommit workCommit = new WorkCommit();
		workCommit.setStu_id(stu.getId());
		//分页并查询
		PageHelper.startPage(currPage,8);
		List<WorkCommit> workCommits = workCommitMapper.findList(workCommit);
		System.out.println(workCommits);
		PageInfo pageInfo = new PageInfo<WorkCommit>(workCommits, 8);
        
		 //startPage后紧跟的这个查询就是分页查询
	    model.addAttribute("pas", pageInfo.getList());
        //获得当前页
        model.addAttribute("currPage", pageInfo.getPageNum());
        //获得总页数
        model.addAttribute("totalPage", pageInfo.getPages());
		return "stu/workCommit/list";
	}
	
	
	@RequestMapping(value="/gotoAddWorkCommit")
	public String gotoAddWorkCommit(Integer work_id,Model model){
		model.addAttribute("work_id", work_id);
		return "stu/workCommit/add";
	}
	
	/*
	 * 上传
	 */
	@RequestMapping(value="/addWorkCommit", method = {RequestMethod.POST})
	 * 退出登录
	 */
	@RequestMapping(value="loginOut")
	public String userOut(HttpSession session){
		session.invalidate();
		return "main/login";
	}
	
	
	
}

@Controller
@RequestMapping("/tea")
public class TeaStuController {

	@Autowired
	private StuMapper stuMapper;
	
	@Autowired
	private TeaMapper teaMapper;

	@Autowired
	private ClazzMapper clazzMapper;
	

		Course course =courseMapper.findById(id);
		map.put("pa", course);
		return "admin/course/edit";
	}
	
	@RequestMapping(value="/editCourse", method = {RequestMethod.POST})
	public ModelAndView editCourse(Course course) {
		System.out.println("course:"+course); 
		courseMapper.update(course);
		ModelAndView modelAndView = new ModelAndView("redirect:/admin/course");
		return modelAndView;
	}

	
	
	
    
}

@Controller
@RequestMapping("/admin")
public class AdminStuController {

	@Autowired
	private StuMapper stuMapper;
	
	@Autowired
	private ClazzMapper clazzMapper;
		ModelAndView modelAndView = new ModelAndView("redirect:/admin/stu");
		return modelAndView;
	}
	
	
	
	/**
	 * 去编辑页面
	 */
	@RequestMapping(value="/gotoEditStu")
	public String gotoEditHotelType(Integer id,Map<String, Object> map){
		List<Clazz> clazzs = clazzMapper.findList(null);
		map.put("clazzs", clazzs);
		
		Stu stu =stuMapper.findById(id);
		map.put("pa", stu);
		return "admin/stu/edit";
	}
	
	@RequestMapping(value="/editStu", method = {RequestMethod.POST})
	public ModelAndView editStu(Stu stu) {
		System.out.println("stu:"+stu); 
		stuMapper.update(stu);
		ModelAndView modelAndView = new ModelAndView("redirect:/admin/stu");
		return modelAndView;
	}

	
	
	
    
}

		map.put("stu_id", id);
		
		return "tea/stu/charts/select";
	}
	
	
	
	 
	///tea/gotoCharts
	
	 @RequestMapping(value="/gotoCharts")
	 public String gotoCharts(Integer
	  stu_id,Integer course_id,Map<String, Object> map){ //查询所有的课程
	
	 map.put("course_id", course_id); 
	 map.put("stu_id", stu_id);
	 
	 return "tea/stu/charts/charts"; }
	 
	
	
	
	///tea/getCharts?course_id='+course_id+"&stu_id="+stu_id
	@RequestMapping(value="/getCharts")
	@ResponseBody
	public List<Info> getCharts(Integer stu_id,Integer course_id){
		//查询所有的课程
		List<Info> lisrInfo = infoMapper.findByStuAndCourse(stu_id, course_id);
		System.out.println("折线图开始");
		System.out.println(lisrInfo);
		return lisrInfo;
	}
	
	
	//findWork
	//findWork
	/*
	 * @RequestMapping(value="/findWork1")
	 * 
	 * @ResponseBody public List<Stu> findWork1(Integer stuId){ Stu stu = new Stu();
	 * stu.setCourse_id(stuId); List<Stu> list =
	 * workMapper.findListByCourseId(work); return list; }
	 */
}


@Controller
@RequestMapping("/stu")
public class StuMsgController {

	@Autowired
	private MsgMapper msgMapper;

	
	
	@RequestMapping("/msg")
	public String msg(Integer tea_id,
			Model model,HttpSession session){
		Stu stu  = (Stu) session.getAttribute("stu");
		Msg msg = new Msg();
		msg.setStu_id(stu.getId());
		msg.setTea_id(tea_id);
		List<Msg> stus = msgMapper.findList(msg);
		System.out.println(stus);
        model.addAttribute("pas", stus);
        model.addAttribute("tea_id", tea_id);
		return "stu/msg/list";
	}
	
	

	
	/*
	 * 回复
	 */
	public String gotoEditHotelType(Integer work_id,Integer id,Map<String, Object> map){
		WorkCommit workCommits =workCommitMapper.findById(id);
		map.put("pa", workCommits);
		map.put("work_id", work_id);
		return "tea/workCommit/edit";
	}
	
	
	
	@RequestMapping(value="/editWorkCommit", method = {RequestMethod.POST})
	public ModelAndView editTea(Integer id,Integer work_id,WorkCommit workCommits,HttpSession session) throws Exception {
		Tea tea = (Tea) session.getAttribute("tea");
		Tea teadb = teaMapper.findById(tea.getId());
		String username = teadb.getName();
		
		System.out.println("workCommits:"+workCommits); 
		String grade = workCommits.getGrade();
		//修改pdf
		SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");
		String formatStr =formatter.format(new Date());
		WorkCommit workCommitsdb = workCommitMapper.findById(id);
		String local =workCommitsdb.getWork_local();
		
		String savepath = "d:/code/file/work_submit/work_commit/"+StringTools.getUUID()+".pdf";  
		
		PdfFiles.addContent(grade, username, formatStr, local, savepath);
		workCommitsdb.setGrade(grade);
		workCommitsdb.setWork_local(savepath);
		
		
		workCommitMapper.update(workCommitsdb);
		ModelAndView modelAndView = new ModelAndView("redirect:/tea/workCommit?work_id="+work_id);
		return modelAndView;
	}
	
	///tea/workCommitShow?work_local=${pa.work_local}
	@RequestMapping(value="/workCommitShow")
	public void workCommitShow(String work_local,HttpServletResponse response) throws IOException{
		
		//设置响应内容类型为PDF类型  
        response.setContentType("application/pdf");  
          
        ServletOutputStream sos = response.getOutputStream();  
		return modelAndView;
	}
	
	
	
	/**
	 */
	@RequestMapping(value="/stuDel")
	public ModelAndView deleteEmp(Integer id){
		stuMapper.delete(id);
		ModelAndView modelAndView = new ModelAndView("redirect:/admin/stu");
		return modelAndView;
	}
	
	
	
	/**
	 * 去编辑页面
	 */
	@RequestMapping(value="/gotoEditStu")
	public String gotoEditHotelType(Integer id,Map<String, Object> map){
![请添加图片描述](https://img-blog.csdnimg.cn/direct/20156d7768fb4220ab1d65cce5be23e1.jpeg)
		List<Clazz> clazzs = clazzMapper.findList(null);
		map.put("clazzs", clazzs);
		
		Stu stu =stuMapper.findById(id);
		map.put("pa", stu);
		return "admin/stu/edit";
	}
	
	@RequestMapping(value="/editStu", method = {RequestMethod.POST})
	public ModelAndView editStu(Stu stu) {
		System.out.println("stu:"+stu); 
		stuMapper.update(stu);
		ModelAndView modelAndView = new ModelAndView("redirect:/admin/stu");
		return modelAndView;
	}

	
	
	
    
}

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

  • 9
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值