• 基于ssm的OA办公管理系统


    一、系统简介


    本项目采用eclipse工具开发,spring+springmvc+mybatis+bootstrap技术编写,数据库采用的是mysql,navicat管理工具。

    系统一共分为5个角色分别是:管理员,用户(员工,财务,部门经理,老板)

    二、模块简介

    管理员

    1、登录

    2、用户管理

    3、个人信息管理

    4、员工考勤管理

    5、员工督办管理

    6、员工工资管理

    7、会议管理

    8、员工请假管理

    9、统计管理

    用户(员工)

    1、登录

    2、个人信息管理

    3、查看考勤

    4、查看督办信息

    5、查看工资

    6、查看会议

    7、请假管理

    8、查看统计

    用户(部门经理)

    1、登录

    2、个人信息管理

    3、查看考勤

    4、查看督办

    5、查看工资

    6、会议管理

    7、请假管理

    8、统计

    用户(财务)

    1、登录

    2、个人信息管理

    3、查看考勤

    4、查看督办

    5、工资管理,发放

    6、查看会议,会议审核

    7、请假管理,请假审核

    8、统计

    用户(老板)

    1、登录

    2、个人信息管理

    3、查看考勤

    4、查看督办

    5、工资审核

    6、会议审核

    7、请假审核

    8、统计

    项目简介:
    难度等级:✩✩✩
    用户类型:5角色( 管理员,用户(员工,财务,部门经理,老板))
    设计模式:MVC
    项目架构:B/S架构
    开发语言:Java语言
    前端技术:bootstrap+HTML、CSS、JS、JQuery等
    后端技术:JSP、ssm框架
    运行环境:Windows7或10、JDK1.8
    运行工具:本系统采用Eclipse开发,仅支持Eclipse运行,不支持MyEclipse和IDEA运行,因为三者的骨架不一样,强行导入打开运行可能会导致出现未知的错误。(如若想用idea运行,需要转换!!!!)
    数  据  库:MySQL5.5/5.7/8.0版本
    运行服务器:Tomcat7.0/8.0/8.5/9.0等版本
    是否基于Maven环境:否
    是否采用框架:是
    数据库表数量:9张表
    JSP页面数量:20多张
    是否有分页:有分页

    相关截图

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

    相关代码 

     登录

    1. <%@ page language="java" contentType="text/html; charset=utf-8"
    2. pageEncoding="utf-8"%>
    3. <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
    4. <%
    5. String path = request.getContextPath();
    6. String basePath = request.getScheme() + "://" + request.getServerName() + ":" + request.getServerPort() + path + "/";
    7. %>
    8. html>
    9. <html lang="en">
    10. <head>
    11. <meta charset="UTF-8">
    12. <meta name="viewport"
    13. content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
    14. <meta http-equiv="X-UA-Compatible" content="ie=edge">
    15. <title>登录title>
    16. <link rel="icon" href="<%=path%>/resource/static/favicon.ico">
    17. <link rel="stylesheet" href="<%=path%>/resource/static/bootstrap/css/bootstrap.min.css">
    18. <link rel="stylesheet" href="<%=path%>/resource/static/admin/css/login.css">
    19. <script src="<%=path%>/resource/static/js/vue.min.js">script>
    20. <script src="<%=path%>/resource/static/js/jquery-3.3.1.min.js">script>
    21. <script src="<%=path%>/resource/static/bootstrap/js/bootstrap.bundle.js">script>
    22. head>
    23. <body>
    24. <div class="login">
    25. <form id="saveForm">
    26. <h2>OA管理系统登录h2>
    27. <div class="form-group">
    28. <label>用户名label>
    29. <input type="text" v-model="username" name="username" id="username" class="form-control form-control-lg">
    30. div>
    31. <div class="form-group">
    32. <label>密码label>
    33. <input type="password" v-model="password" name ="password" id="password" class="form-control form-control-lg" id="pwd">
    34. div>
    35. <div class="form-group form-check">
    36. <input type="radio" class="form-check-input" name="type" value="1" id="exampleCheck2" checked>
    37. <label class="form-check-label" for="exampleCheck2">管理员label>        
    38. <input type="radio" class="form-check-input" name="type" value="2" id="exampleCheck1" >
    39. <label class="form-check-label" for="exampleCheck1">普通用户label>
    40. div>
    41. <button type="button" :disabled="loading" @click="login" id="login" class="btn btn-primary btn-lg btn-block">
    42. <span v-show="loading" class="spinner-grow spinner-grow-sm" role="status" aria-hidden="true">span>
    43. 立即登录
    44. button>
    45. form>
    46. div>
    47. <script>
    48. $("#login").click(function(){
    49. var username = $("#username").val();
    50. var password = $("#password").val();
    51. if(username == null || username == ""){
    52. alert("请填写用户名");
    53. return false;
    54. }if(password == null || password == ""){
    55. alert("请填写密码");
    56. return false;
    57. }
    58. //执行添加的操作ajax
    59. $.ajax({
    60. cache:true,
    61. type:"post",
    62. url:"login",
    63. data:$("#saveForm").serialize(),
    64. async:false,
    65. success:function(e){
    66. if(e){
    67. alert("登录成功");
    68. window.parent.location.href="toMain";
    69. }else{
    70. alert("登录失败,账号或密码错误");
    71. }
    72. }
    73. })
    74. });
    75. script>
    76. body>
    77. html>
    1. /**
    2. * 登录
    3. * @param username
    4. * @param request
    5. * @param password
    6. * @param session
    7. * @param response
    8. * @param mv
    9. * @return
    10. * @throws ServletException
    11. * @throws IOException
    12. */
    13. @RequestMapping("/login")
    14. @ResponseBody
    15. public boolean login(@RequestParam("username")String username,
    16. HttpServletRequest request,@RequestParam("password")String password,
    17. HttpSession session,HttpServletResponse response,ModelAndView mv) throws ServletException, IOException {
    18. session.removeAttribute("admin");
    19. session.removeAttribute("user");
    20. String type=request.getParameter("type").toString();
    21. User user =new User();
    22. Admin admin = new Admin();
    23. request.getSession().setAttribute("type", type);
    24. boolean re = false;
    25. if(type != null && type.equals("1")){
    26. admin.setUsername(username);
    27. admin.setPassword(password);
    28. Admin admin1 = us.selectAdmin(admin);
    29. if(admin1 != null){
    30. request.getSession().setAttribute("admin", admin1);
    31. session.setAttribute("admin", admin1);
    32. re = true;
    33. }
    34. }else if(type != null && type.equals("2")){
    35. user.setUsername(username);
    36. user.setPassword(password);
    37. User te = us.selectUser(user);
    38. if(te != null){
    39. request.getSession().setAttribute("user", te);
    40. session.setAttribute("user", te);
    41. re = true;
    42. }
    43. }
    44. return re;
    45. }

    其他相关代码都是类似的,主要是前端jsp和后端控制器交互比较重要!!!用户之前关系,模块之间的审核操作重中之重!!!!!非开源!!!!!!
    其他模块代码都是类似的,此项目适合初学者学习借鉴,项目整体比较简单,可用作于期末考核,课设,毕设等方面的作业!!!!!
    喜欢的朋友的点赞加关注,感兴趣的同学可以研究!!!!!不明白的可以私我!!!!!
    感谢  = v =

     

  • 相关阅读:
    错过金三银四,找工作4个月,面试15家,终于拿到3个offer,定级P7+
    FPGA-结合协议时序实现UART收发器(五):串口顶层模块UART_TOP、例化PLL、UART_FIFO、uart_drive
    Docker进阶——再次认识docker的概念 & Docker的结构 & Docker镜像结构 & 镜像的构建方式
    【论文辅导】新手如何从零开始发表CV论文,有三AI一对一辅导计划出炉!
    pyhon项目中,使用pip安装第三方插件之后,明明使用pip list可以查到,但是在项目中import时仍然找不到怎么办?
    在SPDK中使能E810网卡ADQ特性
    「Flask」路由+视图函数
    如何解决由触发器导致 MySQL 内存溢出?
    Electron进程通信的另一种方式
    hadoop 常用端口号,常用配置文件都有哪些?hadoop3.x端口号 hadoop(十二)
  • 原文地址:https://blog.csdn.net/qq_43485489/article/details/126158288