1、基于 MVC 的党建系统设计与实现摘 要 本文简要介绍 MVC 模式,详细阐述了邢台烟草党建系统基于MVC 模式的设计和实现。本文设计的系统采用框架技术简化了软件开发,使系统的开发更高效,采用面向接口的编程,降低了层与层之间的耦合。该系统满足当前工作需要,实现党建工作标准化、信息化。 关键词: MVC;党建系统;设计实现 Design And Implementation Of Party Construction System Based On MVC An Ying-lin(Xingtai Tobacco Monopoly Bureau, Xingtai 054000, China) Ab
2、stract This article briefly described MVC mode and detailed design and implementation of Xingtai Tobacco party construction system based on MVC mode. As the system used framework to simplify development, its development was more efficient. Using interface-oriented programming reduced the coupling be
3、tween the layers. It maked party construction standardization andinformationization and met current requirements of Xingtai tobacco. Key Words:MVC;Party Construction System ; Design And Implementation 引言 为了进一步加强和改进邢台烟草基层党组织工作,建立统一规范的基层党建工作体系,发挥基层党组织的战斗堡垒作用和广大党员的先锋模范作用,结合“二三五”教育实践活动和邢台市烟草行业标准化党建工作,采用
4、信息系统实现党建工作标准化、信息化。 一、MVC 模式概述 常见的面向对象设计模式有:Factory 模式、Singleton 模式、Facade 模式和 MVC 架构模式1。MVC(Model-View-Controller)把一个应用程序的输入、处理、输出流程按照 Model、View、Controller 的方式进行分离,这样一个应用程序被分成模型层、视图层、控制层2。 MVC 的请求处理流程(如下图 1 所示):首先客户端通过视图发起请求,然后控制器响应用户的请求,依据请求调用模型来进行处理。模型调用业务逻辑处理,用户的请求同时返回,最后控制器选择对应的视图返回处理的结果,并通过视图呈
5、现给用户。另外,视图可以查询模型的状态,但不能改变,同时视图还可以接收模型的数据更新的状态改变事件。 图 1 MVC 设计模式 在 JAVA 应用的开发领域中设计模式很多,基于 MVC 设计模式的 Java EE 应用开发在实际企业级开发中逐步得到非常广泛的应用。Struts 作为开源项目在不断的发展,已经成为 MVC 模式的首选框架。 二、党建系统功能 1.党建系统分为公告、学习交流、党建动态、基层党建、行业新闻、党建知识、学习资料、心得体会、专题学习、图片新闻、标准化党建、党风廉政等栏目。 2.党建系统信息以支部为单位进行维护,各支部党员要在党建系统内“基层党建” 、 “学习交流” 、 “
6、心得体会”栏目上刊登信息,支部管理员在“标准化党建”模块发布“三会一课”落实、发展党员情况、板报更新、党政学习安排等信息。每个支部需设立支部管理人员具体负责本支部内党建信息、宣传报道等内容的审核和维护。其它的信息专栏由政工科人员刊登,政工科长审批。所刊登信息需由支部书记审批,最后由机关党委审批方可发布。 3.实现对各支部党建工作量化考核。在量化考核设计过程中,应注意定性与定量指标相结合,日常监督与考核相结合,党组织和党员考评相结合。以评促建,通过党建工作量化考核,切实提高党支部整体工作水平,促进党的基层组织建设走向规范化、制度化。 三、党建系统设计 1.系统总体架构 本系统遵守 Java EE
7、 应用的分层模型,从整体上可分为:视图层、控制器层、业务逻辑层、DAO 层、数据持久层(如下图 2 所示) 。其中使用 Struts 作为系统的整体基础架构,负责实现 MVC 分离功能; Hibernate 负责持久化操作,屏蔽对数据库操作细节;业务逻辑层和 DAO层采用 Spring 框架,Spring 提供 Spring 容器为用户设置对象间的依赖关系。 第一层是视图层,用于与用户交互,完成客户端的数据校验,接受用户请求、显示处理后的结果等,相当于 MVC 模式中的视图。 第二层是控制器层,用于处理用户请求的转发、调用业务逻辑层组件,相当于 MVC 模式中的控制器,主要采用 Struts
8、框架提供一个核心控制器 ActionServlet 拦截用户所有的请求。 图 2 系统总体架构 第三层是业务逻辑层:该层接受来自控制器的请求,并基于请求处理业务逻辑。向下正面封装和调用 DAO 组件。这一层采用 Spring 作为核心,也是整个系统框架的核心。 第四层是 DAO 层:该层封装了运用 Hibernate 框架,对 POJO 进行持久化的操作。主要向上提供数据访问、持久化等功能,向下与数据库系统交互。 第四层是持久层:采用 Hibernate 框架提供的对象关系映射(Object Rational Mapping,缩写 ORM)功能实现在 JDBC 层之上提供更好的封装,完成持久化
9、类和数据库表的之间的映射,从而以面向对象的方式操作数据库。 2.系统各模块设计 依据功能将系统分为多个子模块,分别为:系统管理子模块、登陆子模块、信息发布子模块和考核子模块。系统管理子模块、登陆子模块、信息发布子模块、考核子模块如图 3 所示. 图 3 系统主要子模块 四、党建系统实现 1.系统总体实现 三个框架的整合以 Spring 为核心进行整合,Spring 的应用以IOC(Inversion of Control)容器为基础,必须首先引入 Spring 容器。本文采用直接 web.xml 中引入 Spring 容器,比 Struts 先引入。然后引入 MVC 的核心 Struts 框架
10、加载。使用 Struts 作为 MVC 分离框架,客户端的 HTTP 请求经过 ActionServlet 转向对应的 Action。为了实现转向的Action 是 Spring 容器中 Action,在 struts-config.xml 加入 Spring 提供的类 DelegatingRequestProcessor,在 struts-config.xml 控制器改为如下代码: 最后,引入 Hibernate。Hibernate 由 Spring 容器加载hibernate.cfg.xml 配置信息,通过 classpath 路径来加载该配置文件。这样将 Hibernate 连接属性集中
11、管理,有利于模块化管理,使 Spring 配置简洁,方便后期的维护。 2. 系统各层组件交互的过程 系统各层组件交互的具体过程如下:用户请求通过 JSP 页面发给Struts 的控制器 ActionServlet,之后 ActionServlet 经过 Spring 框架提供的 DelegatingRequestProcessor 代理类转发给 Spring 的 Action 组件,然后 Action 调用 Spring 容器中的 Bean 处理业务逻辑,通过调用DAO 组件完成对持久层的访问并返回处理结果。业务逻辑组件将处理结果返回 Action 组件,Action 返回 ActionFor
12、ward 给 ActionServlet,最后由 ActionServlet 将显示结果给 JSP 页面的用户。本系统详细的各层之间的交互如下图 4 所示。 图 4 系统各组件交互的顺序图 3.各层类之间的关系 各层类之间的关系:控制器层类依赖业务逻辑层类,业务逻辑层依赖各个 DAO 实现类,控制器与业务逻辑、业务逻辑与 DAO 之间的依赖层次是接口,都面向接口编程,他们之间的依赖关系如图 5 所示。 图 5 各层之间依赖关系 五、结束语 总之,基于 MVC 的党建系统利用 Struts 框架实现了 MVC 分离,采用多层结构符合软件工程化管理。同时面向接口的编程,降低了各层之间的耦合。采用框架技术简化了软件开发,提高了开发效率。该系统符合邢台烟草党建工作需要,实现党建工作标准化、信息化,促进基层党建工作的水平的提高。 参考文献 石志国. JSP 网络开发详解. 电子工业出版社, 2007.8 李刚. 轻量级 J2EE 企业应用实战:Struts Spring Hibernate 整合开发. 电子工业出版社, 2007.4 孙卫琴. 精通 Struts:基于 MVC 的 Java Web 设计与开发. 电子工业出版社, 2006 简历;安英林,北京工业大学软件工程硕士,就职于邢台市烟草专卖局信息中心。