SSM+JSP实现企业管理系统(OA管理系统源码+数据库+文档+PPT)

简介: 🍅程序员小王的博客:程序员小王的博客🍅 欢迎点赞 👍 收藏 ⭐留言 📝🍅 如有编辑错误联系作者,如果有比较好的文章欢迎分享给我,我会取其精华去其糟粕🍅java自学的学习路线:java自学的学习路线

一、前言

今天给大家分享一个合适大学生学习的SSM+JSP实现的企业信息管理系统!


如今的社会随着国家的经济和互联网的快速发展,企业的信息管理正在快速的发展着。企业的信息管理是为了打破传统的纸质办公,为工作人员提供方便、高效、快捷的工作而存在的。由于计算机的使用越来越广泛,建立一个简单,好用的企业信息管理系统是十分重要的。该系统是一款简单好用,功能多样的一个信息管理系统。而且企业的信息管理系统是相当的广泛的,这里主要针对的是费用的报销和部门及员工的管理。


根据上述问题,此次由我们共同设计的自动化系统实际上是一种中前端的分离项目,前端大部分使用JSP为管理系统设计语句,而后端大部分使用MySQL为数据库系统管理,Spring、Spring MVC、Mybatis作为后端框架。主要的模板有登入模块,财务管理模块,基础管理模块,个人信息管理;财务管理又包括待处理报销单、个人报销单、填写报销单;基本信息管理模块包括员工管理和部门管理,个人信息管理包括个人信息、设置密码、日志记录、退出登录。

二、自动化办公历史背景

1、系统开发的背景和意义

近年来,由于电脑日益普及,中国国内网络如雨过春笋,发展势头也非常的很快,而网络也已变成了我们工作、学习、日常生活所离不开的一个平台了,互联网的应用给人们的生活带来了十分深刻的影响。互联网信息技术已不仅局限于单纯的进行信息服务,而且也日益形成了一种向消费者提供强大信息能力的信息平台。比如,网络电子商务、社会信息数据库等。互联网实现了远程沟通,人们可以利用计算机网络传递电子邮件,召开网上大会,在线购物,或者在家中也可以上学校(在线教育)。互联网还有很大的潜能可以发展和运用。所以,OA管理系统的诞生给公司带来了信息化的管理。


OA管理系统也成为了所有公司在投入企业建立之初的基础管理系统。从C/S架构发展到了B/S架构之后,从原来的桌面办公软件应用、收发邮件,到了后来的文件流转、车辆管理、会议控制、网上审批等软件的使用,OA始终是人们在平时应用得最多、也最常见的一种基础操作系统。


由于网络应用技术的不断完善,公司内部对其相互间的信息沟通能力提出了更高的需求。现在很多公司都有了相应的信息技术基础设施,有相当数量的信息系统设备和信息源,有彼此联系的接口,都需要进行信息的无缝传输。所以,用信息化技术来武装公司已经是目前的发展趋势。适应着这一发展趋势,就产生了办公自动化管理系统,以适应人类的需要。而办公自动化管理系统又被叫做OA(Office Automation)。它是运用现代化的信息,使人们的各项办公管理经营活动逐渐地由各类机械设备、各类人机及信息系统来辅助和进行,并运用现代信息技术来改善效率和服务质量,从而极大地提高了生产率的一个系统。


2、国内外发展情况


OA系统可以从使用内容的角度区分为四个阶段:第一阶段:文档型OA(1980~一九九九年)主要是关注个人的工作行为,主要提供电子文档等服务,因此我们可以把这个阶段称为"文档型OA"。随后的第二个阶段:流程型OA(000-005年)由原始的主要注重个人、以办公文件/档案管理为基础的文件式OA系统,到了目前的发展阶段已经形成了流程式OA的主流系统,它主要以个人办公流程为核心,实现了文件流转、程序审核、文件管控、制度管理、会议控制、车辆管理、信息发布等一系列的实用功能。接下来就是第三阶段:知识型OA(005-010)随着OA技术使用的逐渐广泛,我们在一天早上的第一个事情大概是登陆OA管理系统,收收电子邮件,看企业的最新消息,以及处理一些自己今天要干的事情等。


OA现已变成人们日常工作的基础网络平台。目前最普遍的是智能OA,它是随着组织业务流程的固化和完善,以及专业知识的累积和运用,创新意识和管理技能的提高而呈现起来的,在这个阶段的OA将更加注重组织决策的有效性,为决策支撑、知识挖掘、商业智能管理等服务。


3、作品研究内容

本作品的研发内容是通过目前主流前后端分离的技术,前端主要采用JSP,后端主要采用Spring、Spring MVC、Mybatis、MySQL数据库的技术去实现一个OA管理系统,其中的主要内容包括系统的登录,然后注册由系统内部进行注册,然后登录管理系统后,有待处理报销单、个人报销单查询、填写报销单、员工管理、部门管理以及个人中心模块。如图:



三、开发工具

1、IDEA后端开发工具

IDEA全名IntelliJ IDEA,是一种用Java编程语言技术开发的综合环境(也可使用任何编程语言),IntelliJ在业内一直被认为是最佳的Java编程语言技术开发工具一种,尤其是在智能代码助手、代码自动建议、重构、j EE支持、Ant、JUnit、CVS集成、代码审计、创新GUI等领域,IDEA是JetBrains的主要产品,该企业总部地址设在捷克人民共和国首府布拉格,其开发者中大多是以严谨而闻名的中东欧国家程序员。



2、JSP前端开发工具

JSP:全称:java服务器页面,由sun有限公司提出,是一个动态网页程序设计技术,是java服务器端的动态资源,它与HTML相比,只能给使用者提交的静态数据信息,但JSP技术也只能在整个页面中嵌套java代码,向使用者提交的动态财务数据中,和Servlet比较,Servlet很难对财务数据做出排名,而JSP科技不但能够生成动态数字,并且也更易于对财务数据做出布局,因此JSP科技和Servlet科技都可用来发布动态网络资源。不过,正因为这二个科技的特殊性,在长期的软件实践中,人们已经逐渐地把Servlet科技视为网络应用中的控制器组件,并把JSP科技当做财务数据的展示模块来应用。其实,JSP只是个Servlet。当你首次使用JSP时,JSP引擎就会把JSP翻译成Servlet,并保存到Tomcat的工作目录文件中,如图所示:



3、tomcat服务器

Tomcat是Apache软件基金会Jakarta项目的一种核心建设项目,由Apache、Sun集团和另外几个企业与个人开发。在Sun集团的长期投入和支持下,更新的Servlet和JSP标准在Tomcat中始终使用,Tomcat5也支持了更新的Servlet.4和JSP.0规范。由于Tomcat的技术领先,特性安全,而且免费。它现已成为了当今比较热门的Web应用服务器之一。


Tomcat服务器是一款免费的、开放性的Web应用服务器,同时还是一款轻量级的应用客户端,适合于在中小型系统和同时拜访使用者不高的状况下,是发布和测试JSP程式的理想选择。对初学者而言,应该这么想象:在某个计算机上设定了Apache服务器之后,它就将能够用来应答浏览HTML网站的要求。而Tomcat其实是Apache服务器的一项功能,但是由于它在执行时会是独自工作的,所以在你操作Tomcat时候,它其实只是为Apache的一项独立进程工作。


诀窍就是,在设置正确时,由Apache提供了HTML网页,而Tomcat实际上运行着JSP页面和Servlets。独立的Servlet容器也是Tomcat的默认模板。但是,Tomcat管理静态HTML的力量并没有比Apache服务器好。目前,Tomcat的更新版本为九点零。


4、 Spring

Spring是一种开源架构,Spring是零零三年诞生的一种轻量级Java研发框架,源自于Rod Johnson在他的《专家一对一J EE研发与产品设计》一书中介绍的部分理论和原型。这是为克服企业应用研发的复杂度而产生的。该框架的重要优点一点就是它的分级结构,它使得使用者可以自由选择采用何种模块,并同时也为中小企业J EE研究开发人员提供了一种高度集成的框架。虽然Spring可以通过基本的JavaBeans来做过去可以用EJB实现的事务。但是,Spring的应用并不只是局限伺服器端研发。所有Java技术应用都能够在Spring的高简化度、可测试性和松散耦合特性中获益。因为Spring的核心技术是反转控制(IoC)和面向唐人(AOP)。简而言之,Spring是一种分层的JavaSE/EE全栈(一站式)轻量级开放架构。


5、 Spring MVC

Spring MVC是Spring架构的一个模板,Spring MVC与Spring不需要使用中间的整合层进行集成,它是一种基于MVC的web架构,它的表现层可以方便对前后端的数据进行传递;它的控制层功能和Struts差不多,负责接受外界的要求,并分析参数传给服务层。MVC的M是模板层,C是控制层,V是显示层,而在SSM架构里的Spring MVC本身也就是MVC架构,mvc实现逻辑如图2-3所示。



6、maven

Maven是跨平台的项目管理开发工具。主要服务于基于Java平台的工程项目建设,管理以及项目信息管理。其中maven分为中央仓库,私服,本地仓库等,如图2-5所示,然后我们下载一个maven之后一般使用的是在美国的中央仓库,由于国家原因,去,美国下载jar包到私服或者本地仓库,就会很慢,阿里云也给我们搭建了maven服务器,相当于一个中转站,我们访问阿里云的中央服务器,阿里云去访问美国的这样下载就很快了,我们国内都是访问阿里云的中央服务器。



四、系统总体设计

1、系统用例图

用例图是用来描述执行者和系统之间的关系,说明是谁要使用系统,以及他们使用系统可以做一些什么。这里我们用到的图是由powerdesigner画的企业用例图,而powerdesigne则是Sybase的企业模型和产品设计解决方案,采用了模型驱动方法。如图:


2、系统目录结构

3、数据库设计


4、数据库表设计

表 4-1 claim_voucher表

image.png


表 4-2 claim_voucher_item表

image.png


表 4-3 deal_record表

image.png


表 4-4 department表

image.png

表 4-5 employee表

image.png


表 4-6 log表

image.png


五、 主要界面设计

登录界面:登录页面只需要输入工号和密码并点击登录就可以顺利进入系统,但只要你输入的密码或者工号错误,系统会提示“你输入的工号和密码错误,请重新输入”,为了不需要每次都输入工号和密码,我们只需要点一下记住密码,则下次登录就不需要重复输入。如图所示:



用户主界面:用户的主界面可以很清楚的看见有财务管理,基本信息管理模块以及个人信息管理三大主要模块。如图所示:



填写报销单界面:我们只需要填写报销的事由、报销的类型以及金额,点击保存,然后再点击提交。流程就会到达领导那里由领导进行审核。如图所示:



个人报销单界面:可以查看自己的全部报销流程,右边有一个详细信息,点进去可以很清楚的看见怎个流程的所有记录。如图所示:



待处理报销单界面:点击审核就会进入第二个界面,可以通过,可以打回,打回一般是填写错误,需修改之后再提交,拒绝是直接不给报销。如图所示:




报销的流程:填写报销单然后提交到部门经理审核,部门经理可以通过或者打回或者拒绝,如果金额小于10000元,部门经理通过就直接到财务打款,如果金额大于10000则需要总经理审核。如图所示:



员工列表界面:可查看所有员工的基本信息。如图所示:



添加员工界面:只需要输入员工的工号、姓名、部门和职位即可。如图所示:



部门列表界面:可查看部门编号、部门地址。如图所示:



部门添加界面:需输入部门的编号名称以及地址。如图所示:



修改密码界面:需输入原始密码及可修改密码。如图所示:



日志记录界面:可记录账号进入此系统的时间。如图所示:


六、总结与展望

该系统为企业的智能化办公提供了方便,该系统最主要实现的功能是报账的功能。由于时间有限个人的能力有限,整个系统并不完善,离一个完善的系统远远不够,目前只是冰山一角。系统以简单、方便的方式给办公室办公人员提供了很大的方便,全面实现了互联网时代的人机操作,给人们节省了时间。在系统开发的过程中遇到了不少的困难,例如:SQL语句的设置和调优呀等,但通过老师的指导和向同学们的请教以及网络的查询,都得到了很好的解决。在这两三个月的设计中我自己也学到了很多的东西,体会十分的深刻,收获也很大。


企业的信息管理系统是一个长期的工作,目前我开发的这个系统只是一个小小的开端,整个系统还有着很大的改进空间,结合我做的系统,我认为后面的改进可以按照一下几个反面进行改造:


(1)由于系统只有部份的办公业务,没有全部的业务,距离真正的智能化办公还有很大的差距,将在实际应用中进一步了解用户的需求,并做进一步的改善。


(2)系统在人事这一方面,几乎没有提现,需进一步完善。


综上所述:随着计算机水平的不断提高,办公自动化已经有了一个极大的跨越,我们企业的信息化管理这条道路还很漫长。我将在今后的工作和学习中不断的努力,提高自己的计算机水平。




七、源码下载

项目源码+数据库+毕业论文+答辩PPT的下载地址:https://download.csdn.net/download/weixin_44385486/85934132

相关文章
|
1天前
|
JavaScript NoSQL Java
基于SpringBoot+Vue实现的大学生体质测试管理系统设计与实现(系统源码+文档+数据库+部署)
面向大学生毕业选题、开题、任务书、程序设计开发、论文辅导提供一站式服务。主要服务:程序设计开发、代码修改、成品部署、支持定制、论文辅导,助力毕设!
16 2
|
1天前
|
JavaScript NoSQL Java
基于SpringBoot+Vue实现的大学生就业服务平台设计与实现(系统源码+文档+数据库+部署等)
面向大学生毕业选题、开题、任务书、程序设计开发、论文辅导提供一站式服务。主要服务:程序设计开发、代码修改、成品部署、支持定制、论文辅导,助力毕设!
16 6
|
1天前
|
JavaScript NoSQL Java
基于SpringBoot+Vue实现的冬奥会科普平台设计与实现(系统源码+文档+数据库+部署)
面向大学生毕业选题、开题、任务书、程序设计开发、论文辅导提供一站式服务。主要服务:程序设计开发、代码修改、成品部署、支持定制、论文辅导,助力毕设!
17 0
|
18小时前
|
关系型数据库 MySQL 数据库连接
数据库连接工具连接mysql提示:“Host ‘172.23.0.1‘ is not allowed to connect to this MySQL server“
docker-compose部署mysql8服务后,连接时提示不允许连接问题解决
|
5天前
|
缓存 关系型数据库 MySQL
【深入了解MySQL】优化查询性能与数据库设计的深度总结
本文详细介绍了MySQL查询优化和数据库设计技巧,涵盖基础优化、高级技巧及性能监控。
63 0
|
1月前
|
存储 Oracle 关系型数据库
数据库传奇:MySQL创世之父的两千金My、Maria
《数据库传奇:MySQL创世之父的两千金My、Maria》介绍了MySQL的发展历程及其分支MariaDB。MySQL由Michael Widenius等人于1994年创建,现归Oracle所有,广泛应用于阿里巴巴、腾讯等企业。2009年,Widenius因担心Oracle收购影响MySQL的开源性,创建了MariaDB,提供额外功能和改进。维基百科、Google等已逐步替换为MariaDB,以确保更好的性能和社区支持。掌握MariaDB作为备用方案,对未来发展至关重要。
63 3
|
1月前
|
安全 关系型数据库 MySQL
MySQL崩溃保险箱:探秘Redo/Undo日志确保数据库安全无忧!
《MySQL崩溃保险箱:探秘Redo/Undo日志确保数据库安全无忧!》介绍了MySQL中的三种关键日志:二进制日志(Binary Log)、重做日志(Redo Log)和撤销日志(Undo Log)。这些日志确保了数据库的ACID特性,即原子性、一致性、隔离性和持久性。Redo Log记录数据页的物理修改,保证事务持久性;Undo Log记录事务的逆操作,支持回滚和多版本并发控制(MVCC)。文章还详细对比了InnoDB和MyISAM存储引擎在事务支持、锁定机制、并发性等方面的差异,强调了InnoDB在高并发和事务处理中的优势。通过这些机制,MySQL能够在事务执行、崩溃和恢复过程中保持
81 3
|
1月前
|
SQL 关系型数据库 MySQL
数据库灾难应对:MySQL误删除数据的救赎之道,技巧get起来!之binlog
《数据库灾难应对:MySQL误删除数据的救赎之道,技巧get起来!之binlog》介绍了如何利用MySQL的二进制日志(Binlog)恢复误删除的数据。主要内容包括: 1. **启用二进制日志**:在`my.cnf`中配置`log-bin`并重启MySQL服务。 2. **查看二进制日志文件**:使用`SHOW VARIABLES LIKE 'log_%';`和`SHOW MASTER STATUS;`命令获取当前日志文件及位置。 3. **创建数据备份**:确保在恢复前已有备份,以防意外。 4. **导出二进制日志为SQL语句**:使用`mysqlbinlog`
96 2
|
1月前
|
关系型数据库 MySQL 数据库
Python处理数据库:MySQL与SQLite详解 | python小知识
本文详细介绍了如何使用Python操作MySQL和SQLite数据库,包括安装必要的库、连接数据库、执行增删改查等基本操作,适合初学者快速上手。
273 15
|
1月前
|
SQL 关系型数据库 MySQL
数据库数据恢复—Mysql数据库表记录丢失的数据恢复方案
Mysql数据库故障: Mysql数据库表记录丢失。 Mysql数据库故障表现: 1、Mysql数据库表中无任何数据或只有部分数据。 2、客户端无法查询到完整的信息。