基于Spring MVC的后台管理系统开发研究

收稿日期:2017-06-29
基金项目:安徽省高等学校自然科学研究项目(12219zrkx2015B03);安徽省高等学校自然科学研究重点项目(KJ2016A167);安徽警官职业学院
教学研究重点项目(JYXM201709)
作者简介:王鹤琴(1979-),安徽定远人,硕士,安徽警官职业学院信息管理系,副教授,研究方向为WEB 应用开发、数据挖掘、移动互联网;
张林静(1988-),安徽合肥人,硕士,安徽警官职业学院信息管理系,讲师,研究方向为计算机网络技术、移动互联网;朱珍元(1985-),湖北黄冈人,硕士,安徽警官职业学院信息管理系,讲师,研究方向为数据挖掘、移动互联网。
0前言
云计算技术和大数据技术的快速发展推动了社会各行各业对各种类型的网站和应用系统的需求。快速构建业务相应的后台管理系统也成为当前WEB 应用开发的需求。本文以安徽警官职业学院院务管理后台管
理系统开发为例,
分析介绍可以采用的系统架构和开发平台。1项目管理工具Maven
1.1
Maven 概述
Maven 是一个软件项目综合管理工具,是一个由Apache 和Apache 软件基金会支持的开源项目。在其项目对象模型(Project Object Model ,POM )的推动下,它对所有人和潜在的第三方软件提供了解决方案,以一致的方式来理解和构建JAVA EE 项目层次结构中的所有依赖关系。在初期架构体系中,需要考虑对潜在的不同开发环境和持续集成工具的公开项目定义;
监测依赖项并保证它们的访问安全;在项目层级中实行统一目录结构;构建含有自测组件的自测软件。对这些问题的考虑是至关重要的,选择Maven 可以满足我们对项目可重用性、安全和可测试(自动化)的需求。[1]
Maven 配置文件l 用于配置没有被直
接绑定到任何项目的Maven ,它最常见的用途是属性定义和访问仓库的凭据存储。例如如下代码定义
基于Spring MVC 的后台
管理系统开发研究
王鹤琴,张林静,
朱珍元(安徽警官职业学院信息管理系,
安徽合肥230031)摘要:快速构建后台管理系统是当前WEB 应用开发的需要。轻量级JAVA EE 企业开发平台采用
JAVA EE 体系结构,具有高度的可扩展性和可维护性,从而确保WEB 应用系统稳定的性能、良好的开放性以及严格的安全性。WEB 应用后台管理系统可以使用Maven 进行项目管理,采用Spring MVC 框架构建系统架构,
以IntelliJ IDEA 为集成开发环境,采用JEECG 智能开发平台来实现快速开发。关键词:JAVA EE ;Maven ;Spring MVC ;IntelliJ IDEA ;后台管理系统中图分类号:TP309.3
文献标识码:A
文章编号:1672-447X (2018)03-0018-004
2018年6月
Jun.2018
<localRepository>C:/mavenRepository</localReposi-tory>
……
<mirror>
<id>nexus-aliyun</id>
<mirrorOf>*,!jeecg,!jeecg-snapshots</mirrorOf> <name>Nexus aliyun</name>
<url>/nexus/content/groups/ public</url>
</mirror>
通过Maven配置文件,可以构建特定的环境、匹配特定的配置(变量值、依赖集等)。Maven配置文件可以互相叠加,可以通过命令行、Maven设置中的声明、环境配置来激活。
Maven通过一个预先配置的l文件和一个标准的目录结构来初始化Java项目。例如pom. xml文件中的代码<groupId>org.jeecgframework</ groupId>定义了当前Maven项目属于org. jeecgframework组,组名与项目所在的组织机构或组织机构的某个项目存在关联。<artifactId>jeecg</ artifactId>定义了当前Maven项目在组中的唯一ID。<version>3.7</version>指定了项目当前的版本。这3个元素定义了当前Maven项目的基本坐标。我们以这些基本的坐标进行来区分Maven项目的jar、pom或者war[2]。Maven的一大功能是管理项目依赖[3]。为了能自动化的解析任何一个Java构件,Maven必须将它们唯一标识,因此坐标是依赖管理的底层基础。
1.2Maven项目生命周期
Maven项目的默认结构是src/main/java,src/ main/resources,src/test/java和src/test/resources,Maven 项目规范的WEB资源目录是src/main/webapp。Maven项目生命周期的实际行为由插件来完成,Maven插件是独立的构件,Maven项目的生命周期clean、default和site是相互独立的。default生命周期是最核心的部分,构建项目是它的目标,其定义了真正构建项目时所需要执行的所有步骤。default生命周期包含validate、initialize、compile、test、veitify、install和deploy等阶段。Maven编译器插件maven-compiler-plugin是Maven核心插件之一,用于编译触发作为编译阶段的一部分,来编译main/java源代码类)和compiler:testCompile(被触发作为测试编译阶段的一部分,来编译test/java源代码类)。当在执行不同的Maven任务时,就是调用Maven生命周期的不同阶段,其与对应的插件目
标绑定,最终完成某个具体的构建任务。
2Spring MVC框架
2.1Spring MVC概述
Spring MVC是开源框架Spring(一种轻量级JAVA EE开发框架)自带的MVC(Model View Controller,模型-视图-控制器)框架,是一种构建WEB应用的架构风格,使用它能够构建灵活和松耦合的WEB应用程序[4]。Spring MVC完全集成在Spring框架中,它是WEB应用中的一个基本元素,可以处理传入的客户端请求并监控来自控制者的业务操作,并且提供了大量的工具和接口以便按照客户端期望的格式做出响应。
2.2前端控制器DispatcherServlet DispatcherServlet是Spring MVC的前端控制器,当客户端请求被Servlet容器(比如Apache Tomcat)拦截时,它会被路由到DispatcherServlet。[5] DispatcherServlet会将请求发送给一个控制器(一个控制器方法处理程序中),该控制器具有与请求状态匹配的配置,它会将一个视图名(或者是视图本身)以及填充好的模型数据返回给Dispatch-erServlet。透过视图名,DispatcherServlet会请求ViewResolver(视图解析器)的实现来查并选择视图。通过请求、视图和模型,DispatcherServlet具备了构建客户端响应所需的一切。通过所有这些元素对视图进行处理后,会将响应返回给Servlet容器[6]。DispatcherServlet是一个Servlet,可以在web. xml中定义,具有
Servlet配置和Servlet映射,例如如下代码。
<!--定义Spring MVC的前端控制器-->
<servlet>
<description>spring mvc servlet</description> <servlet-name>springMvc</servlet-name>
<servlet-class>
……
<description>spring mvc配置文件</descrip-tion>
……
<param-value>classpath*:l</ param-value>
……
<servlet-mapping>
<servlet-name>springMvc</servlet-name>
<!--让Spring MVC的前端控制器拦截所有*.do请求-->
<url-pattern>*.do</url-pattern>
……
代码中DispatcherServlet被命名为springMvc,并且覆盖了应用的全部上下文路径*.do。DispatcherServlet位于Spring MVC的中心位置,它会拦截针对应用某个预先定义的URL路径的客户端请求,将其映射到隶属于业务逻辑(控制器、、过滤器等)的处理程序。它还提供了一套工具,这些工具以Bean的形式出现,用于解决WEB开发中的常见问题和需求,例如实现集中且模块化的视图层、处理国际化与主题方案、处理异常等[7]。2.3Spring MVC注解
Spring MVC控制器是客户端请求真正开始被业务逻辑代码进行处理的地方。@Controller注解会将一个类标记为WEB控制器,它是展现层的Spring Stereotype。它可以让目标类型或是方法能够在Spring类路径扫描时被发现。例如com.oa包下所有的控制器在l文件中通过如下命令激活。
<context:component-scan base-package="org. jeecgframework.web.*,com.oa.*">
……
</context:component-scan>
@RequestMapping注解在控制器或者控制器方法上定义处理程序。DispatcherServlet会在相关的类中寻这些注解。@RequestMapping注解的主要作用是在类级别上定义一个主路径映射,并在方法上对HTTP请求方法、头、参数及媒体类型进行限制。例如在设计“管理”模块时,在OaPolicerankCon-
@Controller
@RequestMapping("/oaPolicerankController") public class OaPolicerankController extends BaseC-ontroller{
……
@RequestMapping(params="list") public ModelAndView list(HttpServletRequest request){
return new ModelAndView("com/oa/oaPolicerankList");
}
……
}
其中@Controller注解将类标记为WEB控制器,@RequestMapping("/oaPolicerankController")在类级别上定义了方法所要处理的请求主路径映射为“/ oaPolicerankController”,@RequestMapping(params=" list")指定了这个方法所要处理的请求路径参数。list 这个处理器方法将会处理形如“/oaPolicerankCon-troller.do list”的请求,将产生的数据模型渲染到视图中,并将oaPolicerankList.jsp作为响应返回给Servlet 容器,展现到用户的WEB浏览器中。如图1所示。
图1“管理”主界面
3后台管理系统开发
3.1开发环境和平台
本系统采用IntelliJ IDEA集成开发环境,它是JetBrains公司的产品。IntelliJ IDEA提供了大量的智能规则来协助开发者,集成了开发的常用工具并提供了强大的绘图工具[8]。如可以查看
管理模
继承关系图,如图2所示。
实施系统开发时我们采用了JEECG3.7工作流开发平台进行快速开发。JEECG(J2EE Code Generation)是一款基于代码生成器的智能开发平台,它可以采用代码生成+手工MERGE半智能开发,从而极大的提高开发效率[9]。
3.2系统开发
网站包括前端和后台。网站前端面向访问网站的用户,用户通过浏览器查看网站内容和页面,例如学院概况、媒体警院、学院发文、办公服务等信息。网站后台,即后台管理系统,面向网站的管理维护人员,可以进行网站管理维护的相关操作,如网站用户的登录、注册、权限的设置以及网站信息的录入、更新、删除和网站访问流量的统计、分析等[10]。
为满足学院办公信息平台的需求,我们开发了院务管理后台管理系统,该系统WEB服务器采用Apache Tomcat,数据库系统使用MySQL,模型层/数据访问层使用对象关系映射框架Hibernate+ Minidao(类Mybatis),采用Spring容器框架,使用Spring MVC框架架构,以IntelliJ IDEA为集成开发环境,采用JEECG智能开发平台进行开发,使用项目管理工具Maven构建WEB应用[11]。本系统包含如下模块。
1.登录管理模块。该模块实现用户注册、登录的管理。资源的权限管理。
3.人事警务管理模块。该模块实现学院人事警务相关信息的管理,如部门管理、职位管理、教职工基本信息管理、授予及晋升信息管理、警务化考勤管理和工资管理等。
4.学生警务化管理模块。该模块实现学生基本信息管理和警务化学生管理考核信息管理等。
5.公告管理模块。该模块实现公告信息的管理。
6.联系人管理模块。该模块实现通讯录管理和邮件管理等。
7.数据分析模块,该模块实现网站流量的统计以及数据的分析,以便调整网站的结构以及优化。
8.应用监控模块,该模块实现数据访问监控和系统访问日志。
9.应用扩展模块,该模块实现应用模块的扩展,可以根据业务需求添加新的模块或对接已有的模块。
以人事警务管理模块为例,其涉及6个数据表。通过JEECG代码生成器生成对应的6个实体层类以及控制层类和业务层(service接口+serviceImpl 实现类),它们在IntelliJ IDEA中的文件结构如图3所示。
图3文件结构图
JEECG同时自动生成相应的JSP视图文件和JS文件。在此基础上,根据业务需求分别修改JSP视图文件代码、JS文件代码和控制层类代码等。系统采用了Spring MVC框架架构,将控制器中请求处理的逻辑和视图中的渲染实现解耦,从而在WEB层提升了应用的松耦合水平[12]。
4结语
随着高校管理信息化、智能化的发展,越来越多的业务都需要在WEB信息平台上进行展开。本
图2类的所有继承关系图
可以采用的系统架构和开发平台,为快速开发适合学校各种业务需求的后台管理系统提供参考。
参考文献:
[1][美]Alex Bretet.Spring MVC实战[M].北京:电子工业出版
社,2017:2.
[2]徐晓兵.Maven实战[M].北京:机械工业出版社,2017:52-54.
[3]钱言佳.基于Maven的CWAP框架基础单元层和基础服务
层的设计与实现[D].南京:南京大学,2016:5.
[4][美]Craig Walls.Spring实战[M].北京:人民邮电出版社,2016:135-137.
[5]赵璽,王红霞.基于Spring MVC+JDBCTemplate的Web系
统的研究与应用[J].软件工程,2017,20(1):5-8. [6]昝道广.Java程序开发数据库与框架应用[J].电子技术与软[7]章伟,韩笑,刘振源.基于JAVA EE的高校学生信息管理
系统的设计与实现[J].电脑知识与技术,2016,12(8):95-96,99.
[8]丁函,罗军,陆文骏,等.智能家居控制APP系统的设计与
实现[J].计算机技术与发展,2017,27(1):121-125. [9]JEECG微云快速开发平台[EB/OL]./jeecg/ jeecg,2017-05-20.
[10]巫菲祥.司法案例管理信息系统的设计与实现[D].成都:电
子科技大学,2015:5-7.
[11]苏冬娜,高俊涛.基于计算机软件安全开发的JAVA编程
语言研究[J].网络安全技术与应用,2017(1):48-49. [12]李淑华.从Java Web应用到Web挖掘[J].软件,2016,37
(7):132-134.
责任编辑院胡德明
Research into the Development of Background Management
System Based on Spring MVC
Wang Heqin,Zhang Linjing,Zhu Zhenyuan
(Anhui Vocational College of Police Officers,Hefei230031,China)Abstract:It is the current demand of WEB application development to build background management system quickly.Lightweight JAVA EE enterprise development platform,using the JAVA EE architecture,is highly scalable and maintainable,which can ensure stable performance,good openness and strict security of the WEB application system.In order to realize rapid development,WEB application backstage management s
ystem can use Maven for project management,construct the system architecture with Spring MVC framework,take IntelliJ IDEA as the integrated development environment and adopt JEECG intelligent development platform.
Key words:JAVA EE;Maven;Spring MVC;IntelliJ IDEA;background management system

本文发布于:2024-09-20 14:43:24,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/3/92242.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:项目   开发   管理   模块   构建   实现   应用   网站
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议