博主主页:猫头鹰源码
博主简介:Java领域优质创作者、CSDN博客专家、公司架构师、全网粉丝5万+、专注Java技术领域和毕业设计项目实战
主要内容:毕业设计(Javaweb项目|小程序等)、简历模板、学习资料、面试题库、技术咨询
文末联系获取
项目介绍:
该系统创作于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);
}
以上就是部分功能展示,从整体上来看,本系统功能是十分完整的,界面设计简洁大方,交互友好,数据库设计也很合理,规模适中,代码工整,清晰,适合学习使用。
好了,今天就到这儿吧,小伙伴们点赞、收藏、评论,一键三连走起呀,下期见~~