作者主页:源码空间站2022
简介:Java领域优质创作者、Java项目、学习资料、技术互助
文末获取源码
项目介绍
ssm实验室设备管理系统。前台jsp+layui+easyui等框架渲染数据、后台java语言搭配ssm(spring、springmvc、mybatis、maven) 数据库mysql5.7、8.0版本均可。该系统主要分三种角色:管理员、教师、学生。主要功能学校实验设备的借、还、修以及实验课程的发布等等;
管理员主要功能:
实验室管理:实验室基本信息管理;
系统管理:系统日志查看;
权限中心:用户组信息管理、用户组权限控制、菜单管理;
信息管理-管理员:教师信息管理、学生信息管理、用户账号管理、班级信息管理、专业信息管理、实验室类型管理、信息通告管理、实验设备管理、实验室使用审批、设备借用审批;
教师主要功能:
实验管理:实验课程管理;
信息管理-教师:个人信息维护、学生信息管理、借用设备管理、设备损坏登记、设备维修登记、信息通告浏览、借用实验室管理。
学生主要功能:
信息管理-学生:个人信息维护;
信息浏览:实验课程浏览、实验设备浏览、信息通告浏览;
环境需要
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.是否Maven项目: 是;查看源码目录中是否包含pom.xml;若包含,则为maven项目,否则为非maven项目
6.数据库:MySql 5.7/8.0 版本均可;
技术栈
1. 后端:Spring SpringMVC MyBatis
2. 前端:jsp+layui+easyui
使用说明
1. 使用IDEA/Eclipse/MyEclipse导入项目,Eclipse/MyEclipse导入时,若为maven项目请选择maven;
若为maven项目,导入成功后请执行maven clean;maven install命令,下载所需jar包;
2. 使用Navicat或者其它工具,在mysql中创建对应名称的数据库,并导入项目的sql文件;
3. 将项目中jdbc.properties配置文件中的数据库配置改为自己的配置
4. 配置tomcat,然后运行项目,输入localhost:8080/xxx 登录
运行截图






相关代码
IndexController
package com.sys.controller;import com.sys.model.Groupinfo;import com.sys.model.Users;
import com.sys.service.GroupinfoService;
import com.sys.service.LogService;
import com.sys.service.MenuService;
import com.sys.service.UsersService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession;
import java.util.HashMap;
import java.util.Map;@Controller
public class IndexController {@Autowiredprivate UsersService usersService;@Autowiredprivate GroupinfoService groupinfoService;@Autowiredprivate MenuService menuService;@Autowiredprivate LogService logService;@RequestMapping("/Index")public String index(Model model, HttpServletRequest httpServletRequest){HttpSession httpSession = httpServletRequest.getSession();Users users = (Users) httpSession.getAttribute("islogin");if (users!=null) {int groupid = users.getGroupid();String username = users.getUsername();String password = users.getUpassword();Users users1 = usersService.getusersByusername(username);if (users1.getUpassword().equals(password)){
// 此处封装需要带到前端的数据model.addAttribute("users",users1);Groupinfo groupinfo = groupinfoService.selectByPrimaryKey(users1.getGroupid());if (groupinfo!=null){/*start权限中心*/String quanxian = groupinfo.getQx();String qx[] = {};qx = quanxian.split(",");Map map = new HashMap();for (String qxcache : qx) {int qxid = Integer.parseInt(qxcache);Map map1 = new HashMap();map1.put("pmenu", menuService.selectByPrimaryKey(qxid));map1.put("cmenu", menuService.getmenubyfdm(qxid));map.put(String.valueOf(qxid) + "menus", map1);}model.addAttribute("parentmenus", map);/*end权限中心*/return "index";}else {model.addAttribute("errmsg","用户组信息错误!");return "login";}}else {model.addAttribute("errmsg","您以更改密码请重新输入");return "login";}}return "login";}@RequestMapping("/Login")//登录模块public String Login(@RequestParam String username,@RequestParam String password, Model model, HttpServletRequest httpServletRequest){//管理员HttpSession session = httpServletRequest.getSession();password = UtilPacket.Md5MD5String(password);
// if (username.equals("admin")&&password.equals(UtilPacket.Md5MD5String("admin"))){
// Users users = usersService.getusersByusername(username); /*查询用户信息*/
// int groupid = users.getGroupid();
// Groupinfo groupinfo = groupinfoService.selectByPrimaryKey(groupid); // 获取管理员信息 权限
// if (groupinfo!=null) {
// /*start权限中心*/
// String quanxian = groupinfo.getQx();
// String qx[] = {};
// qx = quanxian.split(",");
// Map map = new HashMap();
// for (String qxcache : qx) {
// int qxid = Integer.parseInt(qxcache);
// Map map1 = new HashMap();
// map1.put("pmenu", menuService.selectByPrimaryKey(qxid)); //获取菜单信息
// map1.put("cmenu", menuService.getmenubyfdm(qxid)); //根据菜单id 获取 子模块
// map.put(String.valueOf(qxid) + "menus", map1);
// }
// model.addAttribute("parentmenus", map);
// /*end权限中心*/
// }
// users.setUsername("admin");
// model.addAttribute("users",users);
// session.setAttribute("islogin",users);
// setLog.setlod(httpServletRequest,"admin登录",logService);
// return "index";
// }
// //教师,学生
// elseif(usersService.getusersByusername(username)!=null){if (usersService.getusersByusername(username).getUpassword().equals(password)){Users users = usersService.getusersByusername(username); /*查询用户信息*/model.addAttribute("users",users);session.setAttribute("islogin",users);int groupid = users.getGroupid();Groupinfo groupinfo = groupinfoService.selectByPrimaryKey(groupid);/*根据用户组id查询信息*/if (groupinfo!=null){/*start权限中心*/String quanxian = groupinfo.getQx();String qx[] = {};qx = quanxian.split(",");System.out.printf("qx");Map map = new HashMap();for (String qxcache : qx) {int qxid = Integer.parseInt(qxcache);Map map1 = new HashMap();map1.put("pmenu", menuService.selectByPrimaryKey(qxid)); /*根据id 查询菜单信息*/map1.put("cmenu", menuService.getmenubyfdm(qxid)); /*根据父id 查询子模块信息*/map.put(String.valueOf(qxid) + "menus", map1);}model.addAttribute("parentmenus", map);/*end权限中心*/session.setAttribute("islogin",users);setLog.setlod(httpServletRequest,"id为"+users.getId()+"的用户登录",logService);return "index";}model.addAttribute("errmsg","用户组信息错误!");return "login";}else {model.addAttribute("errmsg","密码错误!");return "login";}}else {model.addAttribute("errmsg","用户名不存在!");return "login";}}
}
jumpController
package com.sys.controller;import com.sys.service.LogService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession;@Controller
public class jumpController {@Autowiredprivate LogService logService;/*用户添加页面跳转*/@RequestMapping("/Jumpto")public String Jumpto(@RequestParam("url") String url){return url;}/*修改密码啊页面跳转*/@RequestMapping("/resetpassword")public String resetpassword(){return "table/xgmm";}/*安全退出页面跳转*/@RequestMapping("/logout")public String logout(HttpServletRequest httpServletRequest){HttpSession httpSession = httpServletRequest.getSession();setLog.setlod(httpServletRequest, "安全退出",logService);httpSession.invalidate();return "logout";}
}
selectController
package com.sys.controller;
import com.alibaba.fastjson.JSONObject;
import com.sys.model.*;
import com.sys.service.*;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession;import java.util.*;@RestController
public class selectController {@Autowiredprivate MenuService menuService;@Autowiredprivate LogService logService;@Autowiredprivate GroupinfoService groupinfoService;@Autowiredprivate StudentService studentService;@Autowiredprivate TeacherService teacherService;@Autowiredprivate ZyglService zyglService;@Autowiredprivate ClassesService classesService;@Autowiredprivate UsersService usersService;@Autowiredprivate SyslxService syslxService;@Autowiredprivate XxtgService xxtgService;@Autowiredprivate SysbglService sysbglService;@Autowiredprivate SysglService sysglService;@Autowiredprivate JydjService jydjService;@Autowiredprivate SyxxbService syxxbService;@Autowiredprivate SbshdjService sbshdjService;@Autowiredprivate SbwxdjService sbwxdjService;/*** 管理员 修改密码* @param oldpass* @param newpass* @param newpass2* @param httpServletRequest* @return*/@RequestMapping("/getoldpass")public JSONObject getoldpass(@RequestParam(value = "oldpass")String oldpass,@RequestParam(value = "newpass")String newpass,@RequestParam(value = "newpass2")String newpass2,HttpServletRequest httpServletRequest) {HttpSession session = httpServletRequest.getSession();oldpass = UtilPacket.Md5MD5String(oldpass);newpass = UtilPacket.Md5MD5String(newpass);newpass2 = UtilPacket.Md5MD5String(newpass2); //获取前端传入的数据Integer code = 500;String msg= "账号服务器错误!";Users users = (Users)session.getAttribute("islogin"); //获取登录账户String upass = users.getUpassword();setLog.setlod(httpServletRequest, "正在修改密码",logService);if (upass.equals(oldpass)){if (newpass2.equals(newpass)){if (!oldpass.equals(newpass)){code = 0;msg = "密码修改成功请重新登录";users.setUpassword(newpass);if(usersService.updateByPrimaryKeySelective(users)!=0) {setLog.setlod(httpServletRequest, users.getUsername() + "用户修改了密码",logService);session.invalidate();}}else{code=1;msg="新密码与原密码相同!";}}else {code = 2;msg="新密码两次输入不一致!";}}else {code = 3;msg = "原密码错误!";}Map map = new HashMap<>();map.put("success",true);map.put("code",code);map.put("msg",msg);JSONObject json = new JSONObject(map);return json;}/*** 管理员 查询全部实验室信息* @param sysname* @param bh* @param httpServletRequest* @return*/@RequestMapping("/selectsysjbxxgl")public JSONObject selectsysjbxxgl(@RequestParam(required = false)String sysname,@RequestParam(required = false)String bh,HttpServletRequest httpServletRequest) {Map requestparamMap = new HashMap();if (sysname!=null&&!sysname.equals(""))requestparamMap.put("sysname","%"+sysname+"%");if (bh!=null&&!bh.equals(""))requestparamMap.put("bh","%"+bh+"%");List sysgls = sysglService.getSysglList(requestparamMap);List
如果也想学习本系统,下面领取。关注并回复:035ssm