周嘉雯, 胡玉欣, 周文华, 张之江
(上海大学 通信与信息工程学院, 上海 200072)
基于SSM框架的活动审批Web系统的设计与实现
周嘉雯, 胡玉欣, 周文华, 张之江
(上海大学 通信与信息工程学院, 上海 200072)
为了解决传统活动审批流程的地域以及时间的局限性,降低活动审批的复杂度,提高管理效率,提出了集活动创建、审核、发布于一体的Web系统设计。通过对现今主流框架Spring﹑SpringMVC﹑Mybatis﹑Hibernate的比较研究,使用SSM框架,将表示层、控制层﹑业务逻辑层和数据持久层分离,以实现代码复用和敏捷式开发,提高系统的灵活性、可靠性﹑复用性和可维护性,并针对性地实现权限和活动配置,以及安全性处理。
SSM; 活动审批系统; Web; SpringMVC
活动审批发布是企业及活动社团促进新成员加入和回馈老成员的一个重要环节,随着互联网+的快速的发展,企业创新步伐加快、社团数目不断增多,为保持提高用户数量以及竞争力,以活动促进发展是必需环节。但以往活动审批相关制度手续繁杂、时间冗长且无法保障以至不满足企业对信息快速反应的需求,与信息社会的发展极不适应,本课题以B/S架构为背景,对当前主流技术和开发框架进行了研究和探讨,相较于以前使用的SSH框架,设计研发了基于SSM框架技术的活动审批Web系统,实现了权限控制,活动配置,审批过程处理以及安全性保障。
1.1 系统主要模块介绍
活动审批Web系统主要包括活动的登录,创建、审核、发布、以及用户管理五大模块,其结构,如图1所示。
图1 系统主要模块
登录模块:用户登录时采用基于角色的身份认证技术,根据角色分配不同的使用权限,角色用户包括普通用户、组长、经理、管理员等,不同角色分配不同权限,且在登录时进行Session拦截,使未登录用户必须登录才可进入活动审批系统。
创建模块:根据奖励方式不同,目前把创建类型分为3种:按比例等级抽奖、按范围随机抽奖、按固定额度随机抽奖,每个类型可有有多个活动,设置对应的地区、活动时间、活动标题、背景图片等,并对针对于每个类型的活动,设置对应的规则。
审核模块:只显示未审核且未发布的活动,并对其进行分权限审核,只有组长审核通过后才能经理审核,并对审核结果进行记录,通过后,在审核列表中不再显示,并每次审核都会检查该活动的状态是否一致。
发布模块:只显示已审核通过的活动,用户具有发布权限时才可以发布或者驳回活动。
用户管理:此模块包括角色维护和用户维护两部分。均通过列表形式展示给管理员。通过角色维护列表,可以创建角色,为每个角色分配不同的菜单管理权限,通过角色管理还可以查看、修改角色的权限。通过用户维护列表,可以查看、修改现有管理员用户信息,及创建相应角色的管理后台登录用户。
1.2 数据库的设计
设计本系统数据库中各表关系,如图2所示。
图2 数据库表设计
图2中前4张表分别为:USER_INFO(用户信息表);ROLE_INFO(角色信息表);PERMISSION_INFO(权限信息表);USER_VISIT_INFO(登陆日志表)。图中1:1和1:N表示数据库表之间的1对1和1对多关系。通过这4张表实现了登录与权限的分配与控制。
图2中后4张表中,ACTIVITY_BASIC_INFO存储各种活动共有的一些基础信息,另外三张表是根据创建活动的类型设计的不同的规则表。
2.1 框架的研究和比较
随着Web应用的规模不断变大﹑复杂度不断升级﹑需求变化不断更新,对软件的复用性﹑可靠性﹑以及可扩展性提出了较高的要求。本课题采用MVC这建议软件架构模式,并成功实现了部分程序复用,简化了后续对程序的修改和扩展。基于MVC架构模式,本系统采用了SSM框架,即SpringMVC+Spring+Mybatis的框架组合,采用此框架技术可以提高开发效率,满足敏捷式开发的需求。
2.1.1 Spring3.0与SpringMVC技术研究
Spring3.0[1-2]其核心可分为IOC容器和AOP两个模块。IOC即依赖反转,是利用Java的反射机制在运行时动态创建和调用对象,即spring可根据xml配置文件来动态创建对象并调用其方法,并且在Spring发展到3.0后,只需在调用的文件中使用@Autowired 来声明所调用的对象即可,使开发更加简洁方便。AOP即面向切面编程,主要是利用代理的设计模式,Spring通过对AOP的支持,大量减少开发的工作量提高了开发的效率,也增强了程序的可靠性。本系统中Spring的AOP主要用于对事务的管理。
Spring MVC是一种基于Java的实现了Web MVC设计模式的请求驱动类型的轻量级Web框架,即Spring框架提供了构造Web应用程序的全能MVC模块,可实现100%零配置,并且分离了控制器、模型对象、分派器以及处理程序对象的角色,这种分离让它们更容易进行制定。其核心架构,如图3所示。
2.1.2 Hibernate与Mybatis技术研究
Hibernate与MyBatis都是数据持久层(ORM)框架,ORM机制实现了Java开发环境中对象与关系型数据库之间的映射,使得SQL语句对开发人员来说也是纯粹的Java对象。相对Hibernate“O/R”而言,Mybatis 是一种“Sql Mapping”的ORM实现。虽然都是对象/关系型数据库的映射工具,但对它们进行研究对比,主要有以下不同[3]:
(1) Mybatis是半自动持久层框架,需要开发人员对SQL脚本有一定编写基础,需自己编写对象与数据库之间的映射关系。Hibernate是全自动持久层框架,在开发过程中完全不用编写SQL代码;
(2) Hibernate的查询会将表中的所有字段查询出来,这一点会有性能消耗,而Mybatis的SQL是手动编写的,所以可以按需求指定查询的字段,对于要求较高的系统或者比较复杂的SQL脚本,开发人员可以通过MyBatis对SQL语句自由进行优化,从而提高数据的读写性能,加快系统的响应速度。
(3) 分别构建SSM(Mybatis)和SSH(Hibernate)框架,进行执行效率测试,如表1所示。
表1 MyBatis与Hibernate执行效率测试数据
表1中执行时间为平均每条数据的执行时间,insert测试数据为1000条,select,delete, update每次测试均为随机选择、删除、更新一条数据,执行次数为100次。
根据以上研究及测试,本系统选用SSM框架而不是选用以前常用的SSH框架,即使用Spring, Spring MVC和MyBatis框架组合,满足活动需求不断变化的要求和高效的管理。
图3 Spring MVC核心架构
2.2 SSM框架整合
SSM框架是由Spring, Spring MVC和MyBatis 3个框架集成的。SSM框架自上而下被分为表现层(Jsp页面)、控制层(SpringMVC控制)、业务逻辑层(Spring IOC/AOP实现)和数据持久层(Mybatis框架)4层,如图4[4]所示。
图4 SSM框架整合
SSM框架实现了J2EE层结构设计的技术要求,使每一层的功能和职责定义非常清晰,通过接口在各层之间实现通信,大大提高系统的开发效率,增强系统的稳定性,提高系统的可维护性和可拓展性。
3.1 框架的组合实现
通过Spring-mvc.xml,Spring-mybatis.xml以及Web.xml这3个配置文件搭建活动审批系统。
Spring-mvc.xml文件是springmvc的一些相关配置配置 ,其中
Spring-mybatis.xml文件通过
Web.xml文件中通过context-param配置了spring的上下文位置,并通过listener配置通知容器加载spring配置文件,同时需配置一个前端控制器Spring MVC核心控制器(Spring MVC 核心控制器)。
3.2 功能的实现
3.2.1 管理员及权限模块
系统建立初期,只有超级管理员一个角色和用户,超级管理员可以创建其他角色,并为角色分配不同的权限,例如:创建组长﹑经理﹑组员等角色,赋予他们创建﹑审核﹑发布权限。也可创建活动审批系统的后台管理员用户,可进行对角色的维护和对活动的查看。而普通登录注册用户只赋予查看已发布活动的权限,这样不同角色的管理员拥有不同的权限,在很大程度上保证了Web系统的安全性。
3.2.2 活动审批模块
该模块是系统最核心的模块,其核心是活动审批流程处理。实现时采用基于JQuery的JQuery EasyUI插件集合体实现前端Web页面,设置创建﹑审核,发布3个菜单,满足系统的需求。创建菜单,如图5所示。
图5 创建活动模块
点击创建后,交给Web.xml文件中配置好的前端控制器处理,并加载SpringMVC配置(Spring-mvc.xml),再通过Spring-mvc.xml文件配置好的映射器实现Interceptor拦截器和适配器根据接口对后端控制器进行包装(适配),包装后即可对处理器进行执行,最后连接Mybatis框架实现对数据的处理。审核和发布过程与之类似,很好地满足了高效,敏捷式开发的需求。
文章结合活动审批系统的特点以及企业社团对其快速开发的要求,经过一系列的测试研究,提出采用Spring﹑SpringMVC﹑MyBatis三者整合框架SSM的设计思想,设计并实现了活动审批Web系统。经过单元测试和系统测试,证明了系统的可靠性和稳定性,系统实现了预期的功能,可以轻松地通过手机电脑随时随地进行活动审批相关工作。并且根据开发过程与结果SSM实现了业务逻辑层﹑数据持久层与表示层的分离,大大降低了系统开发的耦合度,有利于提高开发效率与质量,有利于提高系统开发后的可扩展性和可维护性[5-6]。
[1] Walls C, Breidenbach R. Spring in Action[J]. (中文版), 2007(5).
[2] Chen X Q, Wen-Hui D I, Sun D. Application of Java Web based on SSH and AJAX[J]. Computer Engineering & Design, 2009, 30(10):2590-2589.
[3] 王艳清, 陈红. 基于SSM框架的智能web系统研发设计[J]. 计算机工程与设计, 2012, 33(12):4751-4757.
[4] 张锦煌, 吴丽娟, 梁舒婷. 基于SSM整合框架开发的项目管理系统[J]. 电脑知识与技术, 2015(11):103-105.
[5] 盛艳, 朱革娇, 张建军,等. 基于ExtJS轻量级框架的教学资源库设计与实现[J]. 计算机技术与发展, 2015(4):185-187.
[6] 陈夫真. 基于SSM的某高校教室管理信息系统的设计与实现[D]. 苏州:苏州大学, 2012.
Design and Implementation of Web System for Activity Approval Based on SSM Framework
Zhou Jiawen, Hu Yuxin, Zhou Wenhua, Zhang Zhijiang
(College of Communication and Information Engineering Shanghai University, Shanghai 200072, China)
In order to eliminate the limitations of approval process of traditional activities in region and time, and reduce the complexity of the activity approval, improve the efficiency of management, a design of the Web system integrated creation, auditing and release is proposed. SSM framework is used in the design after the research and comparison of the mainstream framework including Spring, SpringMVC, Mybatis and Hibernate. The system departs the presentation layer, control layer, business logic layer and data persistence layer to realize the reuse and agile development, and improve the reliability, flexibility, reusability and maintainability to achieve the aim of the configuration of permissions and activity, as well as the security processing.
SSM; System for activity approval; Web; SpringMVC
周嘉雯(1993-),男,皖,硕士研究生,研究方向:计算机的开发与应用。 胡玉欣(1975-),女,联合创始人,首席运营官,爱豆科技(上海)有限公司,历任资深保险行业信息总监,具有丰富的保险信息管理系统架构规划、系统设计、运营管理经验。 周文华(1993-),男,硕士研究生,研究方向:计算机的开发与应用。 张之江(1968-),男,教授,博士生导师,中国计量测试学会计量仪器专业委员会理事,研究方向:计算机视觉,数字全息,负折射成像理论,机器视觉应用技术。
1007-757X(2017)06-0050-03
TP311
A
2017.02.25)