基于javaweb+SSM的毕业论文管理系统(java+SSM+JSP+Tomcat+mysql)

毕业设计管理系统
1、本系统使用SSM框架

2、有管理员、教师、学生三种角色,管理员使用admin/admin登录,教师使用t_01/6666登录,学生使用142001/111登录

3、管理员有最大权限,可以进行信息管理、教师管理、学生管理、选题管理、公告管理、查看已上传等;

4、教师角色包括个人信息管理、选题管理、进度管理、学生管理、疑问管理、文档管理、成绩管理

5、学生角色包括个人信息管理、课题管理、进度管理、文档管理、提问管理、查看答辩资格、成绩管理

管理员用户:admin 密码:admin

教师用户:t_01 密码:6666

学生用户:142001 密码:111

环境要求
1.JDK配置

首先安装好JDK,我一般使用1.8版本的JDK。

2.安装IDEA
3.MySQL安装
4. IDEA/Eclipse配置Tomcat 8

MySQL一般安装5.7版本的。
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
文件管理控制层:

适用

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

		} catch (Exception e){
			
		}
		if(rows > 0){
	        return "OK";
	    }else{
	        return "FAIL";
	    }
	}
	
	
	
	/**
	 * 向学生列表跳转
	 */
	@RequestMapping(value = "/admin/tostudentlist.action")
	public ModelAndView studentlist(@ModelAttribute("student") Student student,
                                    @RequestParam(value="pageNum",required=false,defaultValue="1") int pageNum) {
		List<Student> list = studentService.Studentlist(student);
		List<BaseDept> list1 = baseDeptService.deptlist();
		String fPath = file.getfPath();
		String fPath2 = StringUtils.substringBeforeLast(fPath, ".");
		fPath2 = fPath2 + ".pdf";
		System.out.println("检查是否存在此pdf文件" + fPath2);
		File file2 = new File(fPath2);
		if(!file2.exists()) {
			WordToPdf w = new WordToPdf();
			w.wordToPDF(fPath, fPath2);
		}
		String f = file.getfName();
		f = f.substring(0, f.indexOf("."));
		f = f + ".pdf";
		String t = teacher.gettId();
		ModelAndView mv = new ModelAndView();
		mv.addObject("f", f);
		mv.addObject("t", t);
		System.out.println(f+t);
		mv.setViewName("views/pdf");
		return mv;
	}
	/**
	private MyFileService fileService;
	
	@Autowired
	private SelectTitleService selectTitleService;
	@Autowired
	private TeacherService teacherService;
	@Autowired
	private ProjBookService projBookService;
	
	@Autowired
	private OpenReportService openReportService;
	
	@Autowired
	private MidCheckService midCheckService;
	
		    if(rows > 0){
		    	teacherService.editInfo1(baseDept);
		    	studentService.editInfo1(baseDept,oldName);
		        return "OK";
		    }else{
		        return "FAIL";
		    }
	}
	/**
	 * 向专业列表跳转
	 */
	@RequestMapping(value = "/admin/tomajorlist.action")
	public ModelAndView majorlist(String deptId,@RequestParam(value="pageNum",required=false,defaultValue="1") int pageNum) {
		List<BaseMajor> list1 = baseMajorService.findMajorBydeptId1(deptId);
		PageInfo<BaseMajor> pageInfo = new PageInfo<>(list1,10);
		ModelAndView mv = new ModelAndView();
			}catch(Exception e){
				
			}
		if(rows > 0){
	        return "OK";
	    }else{
	        return "FAIL";
	    }
	}
}
用户管理控制层:
@Controller
public class UserController {
	@Autowired
	private StudentService studentService;
	@Autowired
	private TeacherService teacherService;
	@Autowired
	private AdminService adminService;
	/**
	 * 用户登录
	 */
	@RequestMapping(value = "/login.action", method = RequestMethod.POST)
		        return "FAIL";
		    }
	}
	/**
	 * 向专业列表跳转
	 */
	@RequestMapping(value = "/admin/tomajorlist.action")
	public ModelAndView majorlist(String deptId,@RequestParam(value="pageNum",required=false,defaultValue="1") int pageNum) {
		List<BaseMajor> list1 = baseMajorService.findMajorBydeptId1(deptId);
		PageInfo<BaseMajor> pageInfo = new PageInfo<>(list1,10);
		ModelAndView mv = new ModelAndView();
		mv.addObject("pageInfo", pageInfo);
		mv.addObject("deptId", deptId);
		mv.setViewName("views/user/admin/majorlist");
		return mv;
	}
	
						String dirPath = 
		                       request.getServletContext().getRealPath("/upload/"+name1);
						System.out.println(dirPath);
						File filePath = new File(dirPath);
						// 如果保存文件的地址不存在,就先创建目录
						if (!filePath.exists()) {
							filePath.mkdirs();
						}
						String newFilename = dirPath + "\\" + originalFilename;
						System.out.println("文件保存地址" + newFilename +"\n");
						File filePath2 = new File(newFilename);
						int i = 0;
						String s3 = null;
						while(filePath2.exists()) {
							i++;
							s3 = s2+ "(" + String.valueOf(i) +")";
							originalFilename = s3 + s1;
		     				System.out.println("文件已存在,重新命名为: "+originalFilename);  //文件名
							newFilename = dirPath + "\\" + originalFilename;
	@RequestMapping("/file/fileUpload.action")
	public ModelAndView fileUpload(HttpSession session,HttpServletResponse response,
			@RequestParam("fType") String fType,
			@RequestParam("uploadfile") List<MultipartFile> uploadfile, HttpServletRequest request) throws IOException {
		Student student = (Student)session.getAttribute("USER_INFO");
		ModelAndView mv = new ModelAndView();
		mv.addObject("fType", fType);
		if(fType.equals("任务书")) {
			List<ProjBook> list = projBookService.findProjBookBysIdAndAgree(student.getsId(), "待通过");
			if(list.size()!=0) {
				mv.addObject("FAIL", "FAIL1");
				mv.setViewName("views/error");
				return mv;
			}
		}else if(fType.equals("开题报告")) {
			List<OpenReport> list = openReportService.findOpenReportBysIdAndAgree(student.getsId(), "待通过");
			if(list.size()!=0) {
				mv.addObject("FAIL", "FAIL1");
				mv.setViewName("views/error");
				return mv;
			}
	/**
	 * 删除/恢复专业
	 */
	@RequestMapping("/admin/deleteMajor.action")
	@ResponseBody
	public String deleteMajor(String majorId,int s) {
		int rows = 0;
		try {
			rows = baseMajorService.editMajor1(majorId,s);
		} catch(Exception e) {
			
		}
		
		if(rows > 0){
	        return "OK";
	    }else{
	        return "FAIL";
	    }
	}
	
	/**
	 * 向管理员修改密码界面跳转
	 */
	@RequestMapping("/admin/toeditPwd.action")
	public String toeditPwd(HttpSession session) {
		Admin admin = (Admin)session.getAttribute("USER_INFO");
	@RequestMapping("/admin/toeditPwd.action")
	public String toeditPwd(HttpSession session) {
		Admin admin = (Admin)session.getAttribute("USER_INFO");
		admin = adminService.getAdmin(admin.getAdminId());
		session.setAttribute("USER_INFO", admin);
		return "views/user/admin/editPwd";
	}
	/**
	 * 管理员密码修改
	 */
	@RequestMapping(value = "/admin/editPwd.action")
	@ResponseBody
	public String editPwd(Admin admin) {
		int rows =0;
		try{
			rows = adminService.editInfo(admin);
			}catch(Exception e){
				
			}
		if(rows > 0){
	        return "OK";
		List<BaseMajor> list1 = baseMajorService.findMajorBydeptId1(deptId);
		PageInfo<BaseMajor> pageInfo = new PageInfo<>(list1,10);
		ModelAndView mv = new ModelAndView();
		mv.addObject("pageInfo", pageInfo);
		mv.addObject("deptId", deptId);
		mv.setViewName("views/user/admin/majorlist");
		return mv;
	}
	
	/**
	 * 通过majorId获取专业详情
	 */
	@RequestMapping("/admin/getMajorById.action")
	@ResponseBody
	public BaseMajor getMajorById(String majorId) {
		BaseMajor baseMajor = baseMajorService.findMajorById(majorId);
	    return baseMajor;
	}
	/**
	 * 新建专业
	 */
	@RequestMapping(value = "/admin/createMajor.action")

  • 0
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
一、项目简介 本项目是一套基于JavaWeb的毕业设计管理系统,主要针对计算机相关专业的正在做毕设的学生和需要项目实战练习的Java学习者。 包含:项目源码、数据库脚本、软件工具、项目说明等,该项目可以直接作为毕设使用。 项目都经过严格调试,确保可以运行! 二、技术实现 ​后台框架:JSP、Servlet、JDBC ​数据库:MySQL 开发环境:JDK、Eclipse、Tomcat 三、系统功能 该毕业设计管理系统采用B/S结构,使用JAVA开发语言,结合JSP技术,以MySQL作为后台数据库。 该系统共包含四种角色:学生、导师、院系管理员和系统管理员。 每种角色的各自功能如下: 1.学生 学生根据自己已知的账号登陆系统,可以进行个人基础信息的维护;查看公告;还可以根据不同的阶段,进行相应的任务操作。 选题阶段,学生进行一下操作:查询选课,选题操作,查看选题结果,下载选题相关的参考资料、下载任务书、上传开题报告。 过程阶段,可操作的有:提出问题,查看留言,上传论文,查看过程文件的评阅结果,上传正式完整的论文。 答辩阶段,可进行的操作有:查看答辩分组情况,上传外文译文,查看毕业论文成绩 2.导师 导师根据已知的信息编号登陆系统,可以进行个人基础信息的维护;查看公告;还可以在论文的不同阶段,进行相应的任务操作。 选题阶段,教师可以进行的操作有:上传拟定的课题,查看课题的审核结果,查看选题分配结果,上传选题相关的参考资料,发布任务书。 过程阶段,教师可以进行的操作有: 查看疑难提问,疑难解答,评阅学生论文过程文件,中期检查记录,查看学生正式完整论文。 答辩阶段,教师可以进行的操作有:查看答辩分组情况,提交学生毕业论文成绩。 3.院系管理员 院系管理员根据已知的注册信息登陆系统,可以进行个人基础信息的维护;查看新闻公告;查看老师和学生的信息;还可以在不同的阶段,进行相应的任务操作。 选题阶段,院系管理员可以进行的操作有:审核老师上传的课题,设置学生选题的开始时间和结束时间,查看选题情况,解决教师与学生之间双向选择的冲突,使之平衡。 过程阶段,院系管理员可以进行的操作有:查阅指导教师的中期检查记录,设置完整正式论文的提交期限,查阅学生完整正式论文。 答辩阶段,院系管理员可以进行的操作有:安排设置答辩教师分组,汇总学生论文成绩并发布。 4.系统管理员 是对系统所有信息进行维护,其权限具有的功能模块是:系统运行和系统维护。 系统运行:初始化系统,更新每年老师和学生的相关角色信息;根据每年学校里对毕业论文安排的时间,开放或关闭该系统平台。 系统维护:此模块也分为两个子模块。 系统使用菜单维护和权限分配来增加功能。 也就是说,它是功能的扩展。 特权分配是将特权分配给管理员并使用它们。 学院维护:添加,修改和删除信息,例如学校,专业和年级。 教师保留:更正教师信息并实时更新教师信息。 学生保留:您可以保留学生信息和学生类型,以及添加,修改和删除学生信息和学生类型信息。 该系统功能完善、界面美观、操作简单、功能齐全、管理便捷,具有很高的实际应用价值。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值