基于Struts2框架的高校教务新闻管理系统的研究与实现
2014-11-12隋雪莉
隋雪莉 许 鸣
(南京航空航天大学金城学院 信息工程系,江苏 南京 211156)
0 引言
随着学校规模的扩大,教务处发布的新闻也越来越多,按照传统分发纸质文件的模式,耗费的人力、物力和财力也越来越多。目前已有的新闻管理系统无法满足我院的个性化需求,针对这一问题,笔者对我院教务新闻管理的需求进行了进一步的调研与分析,设计并实现了基于Struts2框架的高校教务新闻管理系统。该系统使用JAVA语言开发;以Mysql作为数据库开发平台;以Tomcat作为Web服务器。
1 相关技术及原理
1.1 MVC模式
MVC是一种架构型模式,用来指导开发者改善应用程序的架构,从而得到更好的开发和维护效率。在MVC模式中,应用程序被划分为模型(Model)、视图(View)和控制器(Controller)三部分。 模型部分包含了应用程序的业务逻辑和业务数据,负责封装应用的状态,并实现应用的功能;视图部分封装了应用程序的输出形式,将模型的内容展现给用户,用户可以通过视图来请求模型进行更新;控制器部分负责协调模型和视图,根据用户请求选择调用哪个模型处理业务,以及最终由哪个视图为用户做出应答[1]。
1.2 Struts2框架
Struts2是一种基于MVC的轻量级Web应用框架[1]。Struts 2框架本身可分为3个部分:核心控制器FilterDispatcher、业务逻辑控制器Action和结果展示。核心控制器FilterDispatcher包含了框架内部的控制流程和处理机制,只需在项目web.xml中配置;业务逻辑控制器Action由用户自己实现;Struts2的结果展示方式有常规的JSP,还有模板Freemaker等。用户在开发的同时,还需编写相关配置文件,供核心控制器FilterDispatcher来使用。
2 教务新闻管理系统的设计
2.1 系统功能的设计
高校教务新闻管理系统是教务处管理教务信息的平台。本平台有两类管理员,分别是一级管理员和科室管理员。系统功能模块如图1所示。
图1 系统功能模块图
图2 数据库表关系图
(1)登录及修改个人信息
各管理员通过登录模块登入本系统,进行相关管理操作。登入系统后可以更改个人信息,包括重新设置密码、更改用户名等。
(2)科室管理
一级管理员可以查看所有科室信息;根据学院的情况,在系统中调整教务处各科室,包括添加新的科室、删除已有科室、修改科室名称。每个科室对应若干位科室管理员,科室管理员管理本科室发布的新闻。当科室管理员发生变动时,一级管理员需要在系统中调整科室管理员的信息。
(3)新闻版块管理
一级管理员对新闻版块的管理包括新闻主版块和新闻子版块的管理。对新闻主版块的管理包括查看、删除、修改新闻主版块。对新闻子版块的管理包括在新闻主版块下增加、删除一个子版块;修改子版块名称。
(4)文章管理
各科室管理员可以发布新闻。发布时,需要填写新闻标题、内容、选择主版块和下设子版块等。新闻中如有图片,需要上传图片,上传后图片显示在文章正文的底部。各科室管理员可以对自己已发的新闻进行修改。
一级管理员对文章进行管理时,首先筛选文章,然后可以批量删除或者迁移。批量迁移是指将部分文章移至其他新闻版块。
(5)查看新闻
登录系统后即可查看所有已发布的新闻。
2.2 数据库的设计
本系统设计了 5 张表:t_article、t_dept、t_user_admin、t_model 和 t_submodel。 其中t_article中存放新闻的信息,包括编号、新闻标题、所属版块、创建时间、所属科室、新闻内容、新闻图片地址等。t_dept中存放了科室编号和科室名称等。t_user_admin中存放了管理员的编号、用户名、密码、所属科室等。t_model中存放了新闻主版块的编号、url规则、名称等。t_submodel中存放了新闻子版块的编号、名称、所示主版块编号等。
数据库表的关系图如图2所示。
3 系统的实现
本文所设计的高校教务新闻管理系统采用了MVC设计模式,并基于Struts2框架。使用JSP作为结果显示页面,只关注需要显示的数据的样式及效果,不需关注业务逻辑[2];控制器部分完成Action和struts.xml配置文件的定义,接收客户浏览器JSP页面的请求并判断,然后通过配置文件关联;模型部分完成业务逻辑代码,与数据库进行交互,实现业务功能。
(1)结果显示
Struts2提供了功能强大的标签库,这些标签不依赖于任何表现层技术,同时支持用户自定义标签以满足页面复杂多变的需求[3]。使用Struts2标签需添加导入标签库语句:<%@taglib uri=“/struts– tags”prefix=“ s”% >
(2)控制器
利用Struts2技术,可将提交的服务请求转交给不同的Action处理,待进行业务处理的类和Action的映射关系在struts.xml配置文件中设置。以下为配置文件中的部分代码。
接收用户请求后,struts.xml配置文件将请求分发给名为search的Action,进行处理。
(3)业务逻辑处理部分
业务逻辑处理选取POJO来封装业务逻辑对象,利用泛型DAO模式结合JDBC来实现持久化逻辑。
4 结束语
本文设计了一个基于Struts2框架的高校教务新闻管理系统。该系统结合本学院情况,设计的功能包括教务处科室管理、新闻版块管理以及文章管理等。实现时采用了Struts2框架,简化了开发过程,具有优秀的解耦性。不同层之间耦合度小,有利于团队成员并行工作,大大提高了开发效率。
[1]陈臣,王斌,孙琳,王鸽,浦蓬勃.研磨 Struts2[M].北京:清华大学出版社,2011.
[2]吴向南,陈伟宏,陈桥,张龙.基于 Struts2 的在线学习系统方案设计[J].科技信息,2014(7):36-37,45.
[3]陆舟.struts2技术内幕:深入解析Struts架构设计与实现原理[M].北京:机械工业出版社,2012.