基于javaweb和mysql的ssm+maven毕业设计管理系统(java+ssm+jsp+jquery+mysql)

私信源码获取及调试交流

私信源码获取及调试交流

运行环境

Java≥8、MySQL≥5.7、Tomcat≥8

开发工具

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

适用

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

功能说明

基于javaweb的SSM+Maven毕业设计管理系统(java+ssm+jsp+jquery+mysql)

项目介绍

本项目包含三种角色:管理员、学生用户角色与教师角色。 管理员角色包含以下功能: 学生信息管理、教师信息管理。 用户角色包含以下功能: 查看通知公告,登录,登录后学生主页面,选择课题,选择课题后状态为等待老师去人状态,填写开题报告,提交中期检查,提交免答辩申请,上传论文等功能。 教师角色包含以下功能: 教师角色登录,教师首页,申报课题,审批学生选题,审核开题报告,审核中期检查,初审免答辩申请,审核论文是否过关,综合打分等功能。

环境需要

1.运行环境:最好是java jdk 1.8,我们在这个平台上运行的。其他版本理论上也可以。 2.IDE环境:IDEA,Eclipse,Myeclipse都可以。推荐IDEA; 3.tomcat环境:Tomcat 7.x,8.x,9.x版本均可 4.硬件环境:windows 7/8/10 1G内存以上;或者 Mac OS; 5.数据库:5.7/8.0版本均可; 6.是否Maven项目:是;

技术栈

  1. 后端:Spring+SpringMVC+Mybatis 2. 前端:JSP+CSS+JavaScript+jQuery

使用说明

  1. 使用Navicat或者其它工具,在mysql中创建对应名称的数据库,并导入项目的sql文件; 2. 使用IDEA/Eclipse/MyEclipse导入项目,Eclipse/MyEclipse导入时,若为maven项目请选择maven; 若为maven项目,导入成功后请执行maven clean;maven install命令,然后运行; 3. 将项目中jdbc.properties配置文件中的数据库配置改为自己的配置; 4. 运行项目,输入localhost:8080/ 登录
		teacher.setTeacherDescribe(desc);
		teacher.setDeptId(shiyanshi);
		teacher.setDept(deptMapper.selectByPrimaryKey(shiyanshi));
		teacher.setUser(user);
		teacherMapper.updateByPrimaryKeySelective(teacher);
		model.addObject("teacher", teacher);
		List<Dept> list = deptMapper.selectByExample(new DeptExample());
		model.addObject("depts", list);
		model.setViewName("/admin/editTeacher.jsp");
		return model;
	}
	
	@RequestMapping("/removeTeacher")
	public ModelAndView removeTeacher(ModelAndView model, String id) throws Exception {
		Teacher teacher = teacherMapper.selectByPrimaryKey(id);
		teacherMapper.deleteByPrimaryKey(id);
		userMapper.deleteByPrimaryKey(teacher.getUserId());
		int size = 8;
		int page = 1;
		List<Teacher> teachers = new ArrayList<>();
		teachers = teacherMapper.selectByExample(new TeacherExample());
		int pagesize = getTeacherPageSize(teachers, size);
		teachers = getTeacherList(teachers, page, size);
		if(page<=0) {
			page = 1;
		}
		if(page>=pagesize) {
			page = pagesize;
		}
		for(Teacher dbTeacher:teachers) {
			User user = userMapper.selectByPrimaryKey(dbTeacher.getUserId());
			if(user.getUserGender() == 1) {
				user.setSex("男");
			}else {
				user.setSex("女");
			}
			dbTeacher.setUser(user);
		}
		model.addObject("teachers", teachers);
		model.addObject("pagesize", pagesize);
		model.addObject("nowpage", page);
		List<Dept> list = deptMapper.selectByExample(new DeptExample());
		model.addObject("depts", list);
		model.setViewName("/admin/showTeacher.jsp");
		return model;
	}

	// 添加教师信息
				return studentService.getThisStudentScore(student.getStudentId());
			}
		}
		return -1;
	}
	
	@ResponseBody
	@RequestMapping("/getStudentAndMdbBySid")
	public Student getStudentAndMdbBySid(String studentId) {
		return studentService.getStudentAndMdbBySid(studentId);
	}
	
	//下载开题报告
	@ResponseBody
	@RequestMapping(value="/downKtbg",method=RequestMethod.GET)
	public void downKtbg(HttpSession session,
			HttpServletRequest request,HttpServletResponse response,
			String studentId) {
		if(studentId!=null&&!studentId.isEmpty()) {
			Student stuAndKtbg = studentService.getStudentAndKtbgBySid(studentId);
			Map<String, Object> map=new HashMap<>();
			map.put("user", stuAndKtbg.getUser());
			map.put("classInfo", stuAndKtbg.getClassInfo());
			map.put("project", stuAndKtbg.getProject());
			map.put("ktbg", stuAndKtbg.getKtbg());
			try {
				 WordUtils.exportMillCertificateWord(request,response,map,"开题报告.ftl","开题报告.doc");  
			} catch (IOException e) {
				e.printStackTrace();
			}
			return;
		}else {
			User user=(User) session.getAttribute("user");
			if(user!=null) {
				Student student = studentService.getStudentByUserId(user.getUserId());
				if(student!=null) {
					if(student.getProjectId()!=null&&student.getProjectId()!=0) {
						Student stuAndKtbg = studentService.getStudentAndKtbgBySid(student.getStudentId());
						Map<String, Object> map=new HashMap<>();
						map.put("user", stuAndKtbg.getUser());
						map.put("classInfo", stuAndKtbg.getClassInfo());
						map.put("project", stuAndKtbg.getProject());
						map.put("ktbg", stuAndKtbg.getKtbg());
						try {
							WordUtils.exportMillCertificateWord(request,response,map,"开题报告.ftl","开题报告.doc");  
						} catch (IOException e) {
							e.printStackTrace();
						}
					}
				}
			}
			return;
	private StudentService studentService;
	
	@ResponseBody
	@RequestMapping("/getThisStudentScore")
	public Integer getThisStudentScore(HttpSession session) {
		User user=(User) session.getAttribute("user");
		if(user!=null) {
			Student student = studentService.getStudentByUserId(user.getUserId());
			if(student!=null) {
				return dabianService.getThisStudentScore(student.getStudentId());
			}
		}
		return -1;
	}
	
	@ResponseBody
	@RequestMapping(value="/insertOrUpdate",method=RequestMethod.POST)
	public boolean insertOrUpdate(DaBian daBian) {
		if(daBian.getId()==null) {
			return dabianService.insertDabian(daBian);
		}else {
			return dabianService.updateDabian(daBian);
		}
	}
	
}

@Controller
@RequestMapping("/informController")
public class InformController {
	
	@Autowired
	private InformService informService;
	
	@ResponseBody
	@RequestMapping(value="/getSubInform",method=RequestMethod.GET)
	public PageInfo getSubInform(int pageNum,int pageSize,int navigatePages) {
		User user = userService.login(account, password);
		if(user!=null) {
			if(2==user.getUserRoles()) {
				session.setAttribute("user", user);
				return "student/sindex.html";
			}
			if(1==user.getUserRoles()) {
				session.setAttribute("user", user);
				return "teacher/tindex.html";
			}
			if(3==user.getUserRoles()) {
				session.setAttribute("admin", user);
				return "admin/showStudent";
			}
		}
		return "passwordError";
	}
	
	@RequestMapping("/logout")
	public String logout(HttpSession session) {
		session.removeAttribute("user");
		return "redirect:login.html";
	}

	@ResponseBody
	@RequestMapping(value="/updateInfo",method=RequestMethod.POST)
	public boolean updateStudentInfo(User user,
			@RequestParam(value="portrait",required=false)MultipartFile portrait,HttpServletRequest request) {
		if(portrait!=null&&portrait.getSize()>0) {
			if(portrait.getSize()>(10*1024*1024)) {
				return false;
			}
			String filename=portrait.getOriginalFilename();
			String dbPath="/graduation/portrait/"+user.getUserId();
			String basePath=Thread.currentThread().getContextClassLoader().getResource("").getPath().substring(0,Thread.currentThread().getContextClassLoader().getResource("").getPath().length()-16)+"/portrait/"+user.getUserId();
			if(!new File(basePath).exists()) {
				new File(basePath).mkdirs();
			}
        	File portraitFile=new File(basePath,filename);
        	try {
				portrait.transferTo(portraitFile);
				user.setUserPortrait(dbPath+"/"+filename);
				return userService.updateUserInfo(user);
			} catch (Exception e) {
				e.printStackTrace();

@Controller
@RequestMapping("/downController")
public class DownController {
	
	@Autowired
	private DownService downService;
	
	@ResponseBody
	@RequestMapping(value="/getSubDown",method=RequestMethod.GET)
	public PageInfo getSubDown(@RequestParam(defaultValue="1")int pageNum,
			@RequestParam(defaultValue="6")int pageSize,@RequestParam(defaultValue="1")int navigatePages) {
		PageHelper.startPage(pageNum, pageSize);
		List<Down> list = downService.getAllDown();
		return new PageInfo<>(list, navigatePages);
	}
	
	 @RequestMapping("/downloadResource")
	 public @ResponseBody String downloadResource(HttpSession session,HttpServletResponse response,
	            HttpServletRequest request,@RequestParam(required=true)String fileName) throws Exception {
	     if(fileName==null||fileName=="") {
	    	 return null;
	     }   
		 String dataDir=request.getServletContext().getRealPath("/WEB-INF/file");
	     Path path=Paths.get(dataDir, fileName);
	     if(Files.exists(path)) {
	            response.setContentType("application/octet-stream");
		        response.addHeader("Content-Disposition", "attachment;filename="+Utils.filenameEncoding(fileName, request));
	            try {
	                Files.copy(path, response.getOutputStream());
	            } catch (IOException e) {
	                e.printStackTrace();
	            }
	        }
	        return null;
	  }
	 
	
	@ResponseBody
	@RequestMapping(value="/ispassword",method=RequestMethod.POST)
	public boolean ispassword(@RequestParam("password")String password,HttpSession session) {
		User user = (User) session.getAttribute("user");
		if(user!=null) {
			return userService.ispassword(Utils.md5(password),user.getUserId());
		}
		return false;
	}
	
	@ResponseBody
	@RequestMapping(value="/login",method=RequestMethod.POST)
	public String login(HttpSession session,String randStr,String account,String password) {
		String randStr2=(String) session.getAttribute("randStr");
			if(randStr2!=null&&randStr2.equals(randStr)) {
				password=Utils.md5(password);
				Subject currentUser = SecurityUtils.getSubject();
				if (!currentUser.isAuthenticated()) {
					//把用户名和密码封装为UsernamePasswordToken
		            UsernamePasswordToken token = new UsernamePasswordToken(account, password);
		            try {
		            	//执行登录
		                currentUser.login(token);
		                return toUI(session,account,password);
		            }
		            //用户不存在
		            catch (UnknownAccountException ae) {
		            	return "passwordError";
		            }
		            //用户被锁定
		            catch (LockedAccountException e) {
		            	return "passwordError";
					}
				}else {
					return toUI(session,account,password);
				}
			}else {
				return "randStrError";
			}
	}
	
	private String toUI(HttpSession session,String account,String password) {
		User user = userService.login(account, password);
		if(user!=null) {
			if(2==user.getUserRoles()) {
				session.setAttribute("user", user);
				return "student/sindex.html";
			}
	}

	@RequestMapping("/showTeacher")
	public ModelAndView showTeacher(ModelAndView model, Integer page) throws Exception {
		//页码对象
		//设置总页数
		int size = 8;
		if(page == null) {
			page = 1;
		}
		List<Teacher> teachers = new ArrayList<>();
		teachers = teacherMapper.selectByExample(new TeacherExample());
		int pagesize = getTeacherPageSize(teachers, size);
		teachers = getTeacherList(teachers, page, size);
		if(page<=0) {
			page = 1;
		}
		if(page>=pagesize) {
			page = pagesize;
		}
		for(Teacher teacher:teachers) {
			User user = userMapper.selectByPrimaryKey(teacher.getUserId());
			if(user.getUserGender() == 1) {
				user.setSex("男");
			}else {
				user.setSex("女");
			}
			teacher.setUser(user);
 		}
		model.addObject("teachers", teachers);
		model.addObject("pagesize", pagesize);
		model.addObject("nowpage", page);
		model.setViewName("/admin/showTeacher.jsp");
		return model;
	}
	 
	
	@RequestMapping("/editTeacher")
	public ModelAndView editTeacher(ModelAndView model, String id) throws Exception {
		Teacher teacher = teacherMapper.selectByPrimaryKey(id);
		User user = userMapper.selectByPrimaryKey(teacher.getUserId());
		if(user.getUserGender() == 1) {
			user.setSex("男");
		}else {
			user.setSex("女");
		}
		teacher.setUser(user);
        			Lunwen lw=new Lunwen();
        			lw.setLunwenDate(new Date());
        			lw.setLunwenName(filename);
        			lw.setLunwenPath(basePath+"/"+filename);
        			lunwenService.insertOrUpdate(student.getStudentId(),lw);
        		}else {
					return false;
				}
        		//相同文件会覆盖
        		lunwen.transferTo(lunewenFile);
        		return true;
        	} catch (Exception e) {
        		e.printStackTrace();
        	} 
        }
        return false;
    }
	
	 @RequestMapping("/downloadResource")
	 public @ResponseBody void downloadResource(HttpServletResponse response,
			 HttpServletRequest request,String studentId) throws Exception {
	     if(studentId==null||studentId.isEmpty()) {
	    	 return;
	     }
	     Lunwen lunwen = lunwenService.getLunwenBySid(studentId);
	     if(lunwen==null) {
	    	 return;
	     }
		 String dataDir=lunwen.getLunwenPath();
	     String fileName=lunwen.getLunwenName();
		 Path path=Paths.get(dataDir);
		 if(Files.exists(path)) {
			response.setContentType("application/octet-stream");
			response.addHeader("Content-Disposition", "attachment;filename="+Utils.filenameEncoding(fileName, request));
			try {
				Files.copy(path, response.getOutputStream());
			} catch (IOException e) {
				e.printStackTrace();
			}
		 }
		return;
	  }

}

			map.put("mdb", stuAndMdb.getMdb());
			map.put("teacher", stuAndMdb.getTeacher());
			try {
				 WordUtils.exportMillCertificateWord(request,response,map,"免答辩申请表.ftl","免答辩申请表.doc");  
			} catch (IOException e) {
				e.printStackTrace();
			}
			return;
		}else {
			User user=(User) session.getAttribute("user");
			if(user!=null) {
				Student student = studentService.getStudentByUserId(user.getUserId());
				if(student!=null) {
					if(student.getProjectId()!=null&&student.getProjectId()!=0) {
						Student stuAndMdb = studentService.getStudentAndMdbBySid(student.getStudentId());
						Map<String, Object> map=new HashMap<>();
						map.put("user", stuAndMdb.getUser());
						map.put("classInfo", stuAndMdb.getClassInfo());
						map.put("project", stuAndMdb.getProject());
						map.put("mdb", stuAndMdb.getMdb());
						map.put("teacher", stuAndMdb.getTeacher());
						try {
							WordUtils.exportMillCertificateWord(request,response,map,"免答辩申请表.ftl","免答辩申请表.doc");  
						} catch (IOException e) {
							e.printStackTrace();
						}
						return;
					}
				}
			}
		}
	}
	
	//下载中期检查
	@ResponseBody
	@RequestMapping(value="/downZqjc",method=RequestMethod.GET)
	public void downZqjc(HttpSession session,
			HttpServletRequest request,HttpServletResponse response,
			String studentId) {
		if(studentId!=null&&!studentId.isEmpty()) {
			Student stuAndZqjc = studentService.getStudentAndZqjcBySid(studentId);
			Map<String, Object> map=new HashMap<>();
			map.put("user", stuAndZqjc.getUser());
			map.put("project", stuAndZqjc.getProject());
			map.put("zqjc", stuAndZqjc.getZqjc());
			map.put("teacher", stuAndZqjc.getTeacher());
			try {
				 WordUtils.exportMillCertificateWord(request,response,map,"中期检查表.ftl","中期检查表.doc");  
			} catch (IOException e) {
				e.printStackTrace();
	private StudentService studentService;
	@Autowired
	private ProjectService projectService;
	
	@ResponseBody
	@RequestMapping("/hasChooseProject")
	public Student hasChooseProject(HttpSession session,HttpServletResponse response) {
		response.setContentType("application/json;charset=utf-8");
		User user=(User) session.getAttribute("user");
		if(user!=null) {
			Student student = studentService.getStudentByUserId(user.getUserId());
			if(student!=null) {
				Project project = projectService.getProjectByStudentId(student.getStudentId());
				if(project!=null) {
					return student;
				}
			}
		}
		return new Student();
	}
	
	@ResponseBody
	@RequestMapping(value="/updateProjectByStudentId/{projectId}",method=RequestMethod.PUT)
	public boolean updateProjectByStudentId(HttpSession session,@PathVariable("projectId")String projectId) {
		User user=(User) session.getAttribute("user");
		if(user!=null) {
			Student student = studentService.getStudentByUserId(user.getUserId());
			if(student!=null) {
				if(!student.getStudentId().isEmpty()) {
					return projectService.updateStudentIdByProjectId(student.getStudentId(), projectId);
				}
			}
		}
		return false;
	}
	
	@ResponseBody
	@RequestMapping(value="/updateTeacherId")
	public boolean updateTeacherId(HttpSession session,String teacherId) {
		User user=(User) session.getAttribute("user");
		if(user!=null) {
			Student student = studentService.getStudentByUserId(user.getUserId());
			if(student!=null) {
				return studentService.updateTeacherId(teacherId,student.getStudentId());
			}
		}
		PageInfo pageInfo=new PageInfo(list,navigatePages);
		return pageInfo;
	}
	
	@ResponseBody
	@RequestMapping(value="/getSubInformById",method=RequestMethod.GET)
	public Inform getSubInformById(int informId) {
		return informService.getSubInformById(informId);
	}
	
}

public class Utils {
	
	public static String getUUID() {
		return UUID.randomUUID().toString().replaceAll("-", "");
	}
	
	public static String md5(String password) {
	    return password;
		//return DigestUtils.md5DigestAsHex(password.getBytes());
	}
	
	//用来对下载文件名进行编码
    public static String filenameEncoding(String filename, HttpServletRequest request) throws IOException {
        String agent = request.getHeader("User-Agent"); //获取浏览器
        if (agent.contains("Firefox")) {
            BASE64Encoder base64Encoder = new BASE64Encoder();
            filename = "=?utf-8?B?"
                    + base64Encoder.encode(filename.getBytes("utf-8"))
                    + "?=";
        }else {
            filename = URLEncoder.encode(filename, "utf-8");
        }
        return filename;
    }
    
    public static void main(String[] args) {
		System.out.println(md5("123456"));
	}

}

		}
		model.addObject("students", students);
		model.addObject("pagesize", pagesize);
		model.addObject("nowpage", page);
		model.setViewName("/admin/showStudent.jsp");
		return model;
	}

	// 添加学生
	@RequestMapping("/addStudentCommit")
	public ModelAndView addStudentCommit(ModelAndView model, User addUser, String sid) throws Exception {
		addUser.setUserPassword(Utils.md5("123456"));
		addUser.setUserId(UUID.randomUUID().toString().replaceAll("-", ""));
		addUser.setUserRoles(2);
		userMapper.insertSelective(addUser);
		Student addStudent = new Student();
		addStudent.setClassId(1);
		addStudent.setClassInfo(classInfoMapper.selectByPrimaryKey(1));
		addStudent.setStudentId(UUID.randomUUID().toString().replaceAll("-", ""));
		addStudent.setUserId(addUser.getUserId());
		studentMapper.insertSelective(addStudent);
		int page = 1;
		//页码对象
		//设置总页数
		int size = 8;
		 
		List<Student> students = new ArrayList<>();
		students = studentMapper.selectByExample(new StudentExample());
		int pagesize = getPageSize(students, size);
		students = getList(students, page, size);
		if(page<=0) {
			page = 1;
		}
		if(page>=pagesize) {
			page = pagesize;
		}
		for(Student student:students) {
			User user = userMapper.selectByPrimaryKey(student.getUserId());
			if(user.getUserGender() == 1) {
				user.setSex("男");
			}else {
			}
			student.setUser(user);
			student.setTeacher(teacherMapper.findTeacherByTeacherId(student.getTeacherId()));;
		}
		model.addObject("students", students);
		model.addObject("pagesize", pagesize);
		model.addObject("nowpage", page);
		model.setViewName("/admin/showStudent.jsp");
		return model;
	}

	@RequestMapping("/showTeacher")
	public ModelAndView showTeacher(ModelAndView model, Integer page) throws Exception {
		//页码对象
		//设置总页数
		int size = 8;
		if(page == null) {
			page = 1;
		}
		List<Teacher> teachers = new ArrayList<>();
		teachers = teacherMapper.selectByExample(new TeacherExample());
		int pagesize = getTeacherPageSize(teachers, size);
		teachers = getTeacherList(teachers, page, size);
		if(page<=0) {
			page = 1;
		}
		if(page>=pagesize) {
			page = pagesize;
		}
		for(Teacher teacher:teachers) {
			User user = userMapper.selectByPrimaryKey(teacher.getUserId());
			if(user.getUserGender() == 1) {
				user.setSex("男");
			}else {
				user.setSex("女");
			}
			teacher.setUser(user);
 		}
		model.addObject("teachers", teachers);
		model.addObject("pagesize", pagesize);
		model.addObject("nowpage", page);
		model.setViewName("/admin/showTeacher.jsp");
		return model;
	}
	 
	
	@RequestMapping("/editTeacher")
	public ModelAndView editTeacher(ModelAndView model, String id) throws Exception {
		Teacher teacher = teacherMapper.selectByPrimaryKey(id);
		User user = userMapper.selectByPrimaryKey(teacher.getUserId());
		if(user.getUserGender() == 1) {
			user.setSex("男");
	@ResponseBody
	@RequestMapping(value="/getProjectListByTeacherId",method=RequestMethod.GET)
	public PageInfo<Project> getProjectListByTeacherId(@RequestParam(required=true)String teacherId,
			  @RequestParam(defaultValue="1")int pageNum,@RequestParam(defaultValue="8")int pageSize) {
		PageHelper.startPage(pageNum, pageSize);
		List<Project> list = projectService.getProjectListByTeacherId(teacherId);
		return new PageInfo<>(list);
	}
	
	@ResponseBody
	@RequestMapping(value="/getCountProjectNum",method=RequestMethod.GET)
	public int getCountProjectNum() {
		return projectService.getCountProjectNum();
	}
	
	@ResponseBody
	@RequestMapping(value="/thisTeacherYesProjectNum",method=RequestMethod.GET)
	public int thisTeacherYesProjectNum(HttpSession session) {
		User user=(User) session.getAttribute("user");
		if(user!=null) {
			Teacher teacher = teacherService.findTeacherByUserId(user.getUserId());
			if(teacher!=null) {
				String teacherId = teacher.getTeacherId();
				return projectService.thisTeacherYesProjectNum(teacherId);
			}
		}
		return 0;
	}
	
	@ResponseBody
	@RequestMapping(value="/thisTeacherUndefinedStudentNum",method=RequestMethod.GET)
	public int thisTeacherUndefinedStudentNum(HttpSession session) {
		User user=(User) session.getAttribute("user");
		if(user!=null) {
			Teacher teacher = teacherService.findTeacherByUserId(user.getUserId());
			if(teacher!=null) {
				String teacherId = teacher.getTeacherId();
				return studentService.thisTeacherUndefinedStudentNum(teacherId);
			}
		}
		return 0;
	}
	
	/**
	 * 添加与更新方法
	 * @param project
	 * @param session
		}
		return userService.updateUserInfo(user);
	}
	
	@ResponseBody
	@RequestMapping(value="/updatePwd",method=RequestMethod.PUT)
	public boolean updateStudentPwd(User user,HttpSession session) {
		String password=user.getUserPassword();
		if(password!=null&&!password.isEmpty()) {
			user.setUserPassword(Utils.md5(password));
			boolean bool = userService.updateUserInfo(user);
			if(bool==true) {
				session.removeAttribute("user");
				return true;
			}
		}
		return false;
	}
}

	@ResponseBody
	@RequestMapping("/hasChooseProject")
	public Student hasChooseProject(HttpSession session,HttpServletResponse response) {
		response.setContentType("application/json;charset=utf-8");
		User user=(User) session.getAttribute("user");
		if(user!=null) {
			Student student = studentService.getStudentByUserId(user.getUserId());
			if(student!=null) {
				Project project = projectService.getProjectByStudentId(student.getStudentId());
				if(project!=null) {
					return student;
				}
			}
		}
		return new Student();
	}
	
	@ResponseBody
	@RequestMapping(value="/updateProjectByStudentId/{projectId}",method=RequestMethod.PUT)
	public boolean updateProjectByStudentId(HttpSession session,@PathVariable("projectId")String projectId) {
		User user=(User) session.getAttribute("user");
		if(user!=null) {
			Student student = studentService.getStudentByUserId(user.getUserId());
			if(student!=null) {
				if(!student.getStudentId().isEmpty()) {
					return projectService.updateStudentIdByProjectId(student.getStudentId(), projectId);
				}
			}
		}
		return false;
	}
	
	@ResponseBody
	@RequestMapping(value="/updateTeacherId")
	public boolean updateTeacherId(HttpSession session,String teacherId) {
		User user=(User) session.getAttribute("user");
		if(user!=null) {
			Student student = studentService.getStudentByUserId(user.getUserId());
			if(student!=null) {
				return studentService.updateTeacherId(teacherId,student.getStudentId());
			}
		}
		return false;
	}
	
            response.setHeader("Content-Disposition", "attachment;filename="  
                   // .concat(String.valueOf(URLEncoder.encode(fileName, "UTF-8"))));  
            		  .concat(String.valueOf(Utils.filenameEncoding(fileName, request))));  
  
            out = response.getOutputStream();  
            byte[] buffer = new byte[512];  // 缓冲区  
            int bytesToRead = -1;  
            // 通过循环将读入的Word文件的内容输出到浏览器中  
            while((bytesToRead = fin.read(buffer)) != -1) {  
                out.write(buffer, 0, bytesToRead);  
            }  
        } finally {  
            if(fin != null) fin.close();  
            if(out != null) out.close();  
            if(file != null) {
                //file.delete(); // 删除临时文件
            }
        }  
    }  
  
    private static File createDoc(Map<?, ?> dataMap, Template template) {  
        String name =  "test.doc";  
        File f = new File(name);  
        Template t = template;  
        try {  
            // 这个地方不能使用FileWriter因为需要指定编码类型否则生成的Word文档会因为有无法识别的编码而无法打开  
            Writer w = new OutputStreamWriter(new FileOutputStream(f), "utf-8");  
            t.process(dataMap, w);  
            w.close();  
        } catch (Exception ex) {  
            ex.printStackTrace();  
            throw new RuntimeException(ex);  
        }  
        return f;  
    }  
}  

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

Logo

汇聚全球AI编程工具,助力开发者即刻编程。

更多推荐