基于SSM的IT运维管理系统

简介: 该系统创作于2022年2月,包含详细数据库设计。基于SSM整合,数据层为MyBatis,mysql数据库,具有完整的业务逻辑,适合选题:IT、运维、运维管理等。

项目介绍:



该系统创作于2022年2月,包含详细数据库设计。基于SSM整合,数据层为MyBatis,mysql数据库,具有完整的业务逻辑,适合选题:IT、运维、运维管理等。


项目功能:



系统共分为管理员,运维人员两种角色,管理员可以新增不同角色(包括管理员、运维人员)
管理员:
个人信息管理:查看、修改
运维人员管理:新增员工(不同角色),修改,查看,删除
设配管理:
      软件管理:新建软件,删除,修改,查看,导出Excel
      服务器管理:新建服务器,删除,修改,查看,导出Excel
      数据库管理:新建数据库,删除,修改,查看,导出Excel
运维信息管理:新建运维信息,删除,修改,查看,导出Excel
运维指南管理:
        服务器运维常用命令:新增、删除、修改、查看
        数据库运维常用命令:新增、删除、修改、查看
运维人员:
个人信息管理:查看、修改
设配管理:
      软件管理:新建软件,删除,修改,查看,导出Excel
      服务器管理:新建服务器,删除,修改,查看,导出Excel
      数据库管理:新建数据库,删除,修改,查看,导出Excel
运维信息管理:新建运维信息,删除,修改,查看,导出Excel
运维指南管理:
        服务器运维常用命令:查看
        数据库运维常用命令:查看


数据库表结构文档:



df081514556247ef8b4c8fb6a1b251d6.png


系统包含技术:



后端:SSM

前端:layui,js,css等

开发工具:eclipse

数据库:mysql 5.7

JDK版本:jdk1.8

tomcat版本:tomcat8


部分截图说明:



下面登录页面


a35f76f5f9d848cf9b50ea49390f2e52.png


以管理员为例,登录后是首页


3817439ebb3b46fcafd1c556ddd7fb20.png


管理员对软件进行管理


462286443a1340a2a20928303c1d3ae2.png


管理员对数据库进行管理


15cb62850a364021961e95c1a66d1aeb.png


管理员对运维人员进行管理


22d7b16ca8fc4759b90e86dff74d6d77.png


对运维信息维护


f172da8398944844b658abbd78f5db57.png


查看信息


89bf77f73588419ab2b9174787a55a25.png


修改信息


b522054799694c35855be9d35790829e.png


运维人员首页


3666e5f2e6544ec7b343088343ed2401.png


运维人员对服务器管理


b6c10dadb9cf4a3b9a98551e2e6e170d.png


部分代码:



登录


/**
     * 去登录
     */
    @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);
    }


以上就是部分功能展示,从整体上来看,本系统功能是十分完整的,界面设计简洁大方,交互友好,数据库设计也很合理,规模适中,代码工整,清晰,适合学习使用。


好了,今天就到这儿吧,小伙伴们点赞、收藏、评论,一键三连走起呀,下期见~~


相关文章
|
2月前
|
机器学习/深度学习 人工智能 运维
企业内训|LLM大模型在服务器和IT网络运维中的应用-某日企IT运维部门
本课程是为某在华日资企业集团的IT运维部门专门定制开发的企业培训课程,本课程旨在深入探讨大型语言模型(LLM)在服务器及IT网络运维中的应用,结合当前技术趋势与行业需求,帮助学员掌握LLM如何为运维工作赋能。通过系统的理论讲解与实践操作,学员将了解LLM的基本知识、模型架构及其在实际运维场景中的应用,如日志分析、故障诊断、网络安全与性能优化等。
65 2
|
2月前
|
运维 Linux Apache
Puppet 作为一款强大的自动化运维工具,被广泛应用于配置管理领域。通过定义资源的状态和关系,Puppet 能够确保系统始终处于期望的配置状态。
Puppet 作为一款强大的自动化运维工具,被广泛应用于配置管理领域。通过定义资源的状态和关系,Puppet 能够确保系统始终处于期望的配置状态。
61 3
|
10天前
|
机器学习/深度学习 数据采集 人工智能
智能化运维:AI在IT运维中的应用与挑战###
本文探讨了人工智能(AI)技术在IT运维领域的应用现状、具体实现方式及其面临的挑战。通过分析AI如何优化故障预测、自动化处理和资源管理,文章旨在揭示AI赋能下运维工作的变革潜力与实践难题,为读者提供对智能化运维趋势的深刻理解。 ###
|
18天前
|
机器学习/深度学习 数据采集 人工智能
智能化运维在现代IT基础设施中的应用与价值####
本文探讨了智能化运维(AIOps)在现代IT基础设施管理中的实际应用、面临的挑战及其带来的深远影响。通过引入先进的算法和机器学习模型,智能化运维不仅提高了故障检测与响应的速度,还显著优化了资源配置,降低了运营成本,为企业数字化转型提供了强有力的技术支撑。 ####
|
18天前
|
缓存 运维 监控
【运维必备知识】Linux系统平均负载与top、uptime命令详解
系统平均负载是衡量Linux服务器性能的关键指标之一。通过使用 `top`和 `uptime`命令,可以实时监控系统的负载情况,帮助运维人员及时发现并解决潜在问题。理解这些工具的输出和意义是确保系统稳定运行的基础。希望本文对Linux系统平均负载及相关命令的详细解析能帮助您更好地进行系统运维和性能优化。
41 3
|
29天前
|
机器学习/深度学习 人工智能 运维
智能化运维:AI驱动下的IT运维革命###
本文探讨了人工智能(AI)技术在IT运维领域的创新应用,强调其在提升效率、预防故障及优化资源配置中的关键作用,揭示了智能运维的新趋势。 ###
|
25天前
|
运维 监控 中间件
数据中心运维监控系统产品价值与优势
华汇数据运维监控系统面向IT基础架构及IT支撑平台的监控和运维管理,包含监测、分析、展现和告警。监控范围涵盖了网络设备、主机系统、数据库、中间件和应用软件等。
44 4
|
25天前
|
机器学习/深度学习 人工智能 运维
智能化运维:提升IT服务效率的新引擎###
本文深入浅出地探讨了智能化运维(AIOps)如何革新传统IT运维模式,通过大数据、机器学习与自动化技术,实现故障预警、快速定位与处理,从而显著提升IT服务的稳定性和效率。不同于传统运维依赖人工响应,AIOps强调预测性维护与自动化流程,为企业数字化转型提供强有力的支撑。 ###
|
2月前
|
人工智能 运维 监控
智能化运维:AI在IT运维中的挑战与机遇###
本文探讨了人工智能(AI)技术在IT运维领域的应用,重点分析了AI如何提升运维效率、减少故障恢复时间,并预测未来发展趋势。通过具体案例展示了AI在实际运维中的应用效果,同时指出当前面临的挑战和解决方案,为读者提供一个全面了解智能化运维的视角。 ###
|
2月前
|
机器学习/深度学习 数据采集 人工智能
智能化运维:AI在IT运维中的应用探索###
随着信息技术的飞速发展,传统的IT运维模式正面临着前所未有的挑战。本文旨在探讨人工智能(AI)技术如何赋能IT运维,通过智能化手段提升运维效率、降低故障率,并为企业带来更加稳定高效的服务体验。我们将从AI运维的概念入手,深入分析其在故障预测、异常检测、自动化处理等方面的应用实践,以及面临的挑战与未来发展趋势。 ###