项目介绍:
该系统创作于2022年2月,包含详细数据库设计。基于SSM整合,数据层为MyBatis,mysql数据库,具有完整的业务逻辑,适合选题:IT、运维、运维管理等。
项目功能:
系统共分为管理员,运维人员两种角色,管理员可以新增不同角色(包括管理员、运维人员) 管理员: 个人信息管理:查看、修改 运维人员管理:新增员工(不同角色),修改,查看,删除 设配管理: 软件管理:新建软件,删除,修改,查看,导出Excel 服务器管理:新建服务器,删除,修改,查看,导出Excel 数据库管理:新建数据库,删除,修改,查看,导出Excel 运维信息管理:新建运维信息,删除,修改,查看,导出Excel 运维指南管理: 服务器运维常用命令:新增、删除、修改、查看 数据库运维常用命令:新增、删除、修改、查看 运维人员: 个人信息管理:查看、修改 设配管理: 软件管理:新建软件,删除,修改,查看,导出Excel 服务器管理:新建服务器,删除,修改,查看,导出Excel 数据库管理:新建数据库,删除,修改,查看,导出Excel 运维信息管理:新建运维信息,删除,修改,查看,导出Excel 运维指南管理: 服务器运维常用命令:查看 数据库运维常用命令:查看
数据库表结构文档:
系统包含技术:
后端:SSM
前端:layui,js,css等
开发工具:eclipse
数据库:mysql 5.7
JDK版本:jdk1.8
tomcat版本:tomcat8
部分截图说明:
下面登录页面
以管理员为例,登录后是首页
管理员对软件进行管理
管理员对数据库进行管理
管理员对运维人员进行管理
对运维信息维护
查看信息
修改信息
运维人员首页
运维人员对服务器管理
部分代码:
登录
/** * 去登录 */ @RequestMapping(value = "/gologin") public String gologin() { return "login"; } /** * 欢迎页面 */ @RequestMapping(value = "/welcome") public String welcome(Model model) { model.addAttribute("softwareNum",softwareService.getAll().size()); model.addAttribute("serverNum",serversService.getAll().size()); model.addAttribute("datainfoNum",datainfoService.getAll().size()); Map mp = new HashMap(); mp.put("day","01"); List<Software> softwares = softwareService.queryFilter(mp); model.addAttribute("softwares",softwares); return "welcome"; } /** * 登录 * 将提交数据(username,password)写入Admin对象 */ @RequestMapping(value = "/login") public String login(Admin admin, Model model, HttpSession session, HttpServletRequest request) { if(admin.getPhone()==null || admin.getPhone().length()<=0 ){ model.addAttribute("msg", "请输入手机号!"); return "login"; } if(admin.getPassword()==null || admin.getPassword().length()<1){ model.addAttribute("msg", "请输入密码!"); return "login"; } if(admin.getType()==null || admin.getType().length()<1){ model.addAttribute("msg", "请选择人员类型!"); return "login"; } Map mp = new HashMap(); mp.put("phone",admin.getPhone()); mp.put("password",admin.getPassword()); if(admin.getType().equals("01")){ List<Admin> ad = adminService.queryFilter(mp); if(ad!=null && ad.size()==1){ session.setAttribute("ad", ad.get(0)); session.setAttribute("type", "01"); return "homepage1"; }else{ model.addAttribute("msg", "请确定账户信息是否正确!"); return "login"; } }else{ List<User> ad = userService.queryFilter(mp); if(ad!=null && ad.size()==1){ session.setAttribute("ad", ad.get(0)); session.setAttribute("type", "02"); return "homepage2"; }else{ model.addAttribute("msg", "请确定账户信息是否正确!"); return "login"; } } }
服务器操作
/** * 分页查询 * pageIndex 当前页码 * pageSize 显示条数 */ @RequestMapping(value = "/findServers") public String findServers(Integer pageIndex, Integer pageSize,String vendor,String system, Model model,HttpServletRequest request) { HttpSession session = request.getSession(); if(session.getAttribute("ad") == null){ session.setAttribute("msg", "对不起,请登录!"); return "login"; } Map mp = new HashMap(); mp.put("vendor",vendor); mp.put("system",system); PageInfo<Servers> pageList = serversService.findPageInfo(pageIndex,pageSize,mp); model.addAttribute("pageList",pageList); return "ServersList"; } /** * 添加 */ @RequestMapping(value = "/addServers" ,method = RequestMethod.POST) @ResponseBody public String addServers( @RequestBody Servers servers) { try{ SimpleDateFormat sf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); servers.setCreateTime(sf.format(new Date())); serversService.addServers(servers); return "200"; }catch (Exception e){ e.printStackTrace(); return "201"; } } /** * 导出excel */ @RequestMapping("/downExcel") public void downExcel(HttpServletRequest request, HttpServletResponse response) throws Exception{ List<Servers> servers = serversService.getAll(); String[] columnNames = { "ID","服务器厂商","服务器IP/MAC","操作系统","CPU", "内存", "地址", "运维账号及密码", "联系厂商", "创建时间"}; String fileName = "服务器信息表"; ExportExcelUtil exportExcelUtil = new ExportExcelUtil(); exportExcelUtil.mtyExcel(fileName, fileName, columnNames, servers, response, ExportExcelUtil.EXCEL_FILE_2003); } /** * 删除 */ @RequestMapping( "/deleteServers") @ResponseBody public String deleteServers(String id) { int d = serversService.deleteServers(id); return "ServersList"; } /** * 修改 */ @RequestMapping( "/updateServers") @ResponseBody public String updateServers(@RequestBody Servers servers) { try{ serversService.updateServers(servers); return "200"; }catch (Exception e){ e.printStackTrace(); return "201"; } } /** * 按照ID查询 */ @RequestMapping( "/findServersById") @ResponseBody public Servers findServersById(String id,Model model,HttpServletRequest request) { Servers servers= serversService.findServersById(id); return servers; }
数据库操作
/** * 分页查询 * pageIndex 当前页码 * pageSize 显示条数 */ @RequestMapping(value = "/findSoftware") public String findSoftware(Integer pageIndex, Integer pageSize,String sofeName,String industry, Model model,HttpServletRequest request) { HttpSession session = request.getSession(); if(session.getAttribute("ad") == null){ session.setAttribute("msg", "对不起,请登录!"); return "login"; } Map mp = new HashMap(); mp.put("sofeName",sofeName); mp.put("industry",industry); PageInfo<Software> pageList = softwareService.findPageInfo(pageIndex,pageSize,mp); model.addAttribute("pageList",pageList); return "SoftwareList"; } /** * 添加 */ @RequestMapping(value = "/addSoftware" ,method = RequestMethod.POST) @ResponseBody public String addSoftware( @RequestBody Software software) { try{ SimpleDateFormat sf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); software.setCreateTime(sf.format(new Date())); softwareService.addSoftware(software); return "200"; }catch (Exception e){ e.printStackTrace(); return "201"; } } /** * 导出excel */ @RequestMapping("/downExcel") public void downExcel(HttpServletRequest request, HttpServletResponse response) throws Exception{ List<Software> softwares = softwareService.getAll(); String[] columnNames = { "ID","软件名称","项目名称","行业","上线时间", "部署服务器", "数据库", "开发商", "功能介绍", "联系开发商", "创建时间"}; String fileName = "软件信息表"; ExportExcelUtil exportExcelUtil = new ExportExcelUtil(); exportExcelUtil.mtyExcel(fileName, fileName, columnNames, softwares, response, ExportExcelUtil.EXCEL_FILE_2003); }
以上就是部分功能展示,从整体上来看,本系统功能是十分完整的,界面设计简洁大方,交互友好,数据库设计也很合理,规模适中,代码工整,清晰,适合学习使用。
好了,今天就到这儿吧,小伙伴们点赞、收藏、评论,一键三连走起呀,下期见~~