摘 要:摘要:分析了目前高校新闻网站的发展现状和存在的不足,设计了一个高校新闻网站的整体框架,介绍了实现该系统的关键技术,给出了主要模块的功能设计和实现。
关键词:关键词:高校新闻网;Struts;Spring;Hibernate
中图分类号:TTP393 文献标识码:A 文章编号:
高校新闻网在校园文化建设方面既发挥着传播功能,也承载着塑造功能,逐渐成为高校校园文化建设的新平台。目前,高校新闻网的管理方式落后,效率较低,部分学校网站的后台管理仍然是用即时通讯工具、邮箱传递稿件,单网页制作和上传的方式来实现的,这样不但消耗的工作量大,更新和管理更是受到很大限制,而且制作和上传容易出错,无法实现新闻检索等功能,导致网站管理和更新的效率较低,质量较差。因此改善后台新闻管理方式是实现高效、及时传递信息的有效手段。
本文从业务需求、模块功能需求、性能需求等三个方面,分别对高校新闻网站中浏览新闻用户和通讯员、二级单位负责人、编辑、主管四种后台管理角色的体系结构及功能作用进行了分析,基于目前流行的Struts、Spring、Hibernate(SSH)框架从表现层、控制层、业务层和数据持久层四个逻辑层进行了具体设计和实现,为新闻网站后台的新闻信息发布系统的实现提供了一套可行的设计框架。
1 系统框架
1.1 Struts
Struts是一个基于J2EE平台的MVC(Model-View-Controller)框架,主要是采用Servlet和JSP技术来实现的,是开发Web应用程序的开放源码框架。Struts把Servlet、JSP、自定义标签和信息资源整合到一个统一的框架中,开发人员利用它进行开发时不再自己编码实现全套的MVC模式,极大地节省了时间。Struts工作原理图如图1所示:
图1 struts工作原理图
1.2 Spring
Spring是一个轻型容器(light-weight container),是一个目前非常活跃的开源项目。其核心是Bean工厂(Bean Factory),用以构造我们所需的Model。在此基础之上,Spring提供了IOC(Inversion of Control)的容器和AOP(Aspect-Oriented Programming,面向层面的编程)的实现,用它来提供非管理环境下申明方式的事务、安全等服务;对Bean工厂的扩展ApplicationContext更加方便我们实现J2EE应用;DAO/ORM的实现方便我们进行数据库的开发;Web MVC和Spring Web提供了Java Web应用的框架或其他流行的Web框架进行集成。
1.3 Hibernate
Hibernate是一个开放源码的对象关系映射(ORM)框架,它对JDBC进行了非常轻量级的对象封装,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库。Hibernate可以应用在任何JDBC的场合,即可以在Java的客户端程序使用,也可以在Servlet/JSP的Web应用中使用,最具革命的意义的是,Hibernate可以应用EJB的J2EE架构中取代CMP,完成数据持久化的重任。
2 系统设计
基于SSH框架的高校新闻网主要分为五个模块,分别是用户登录模块、稿件管理模块、发布稿件模块、新闻管理模块、其他管理(用户及部门)、系统管理。各模块功能描述如下:
2.1用户登录模块
用户分为注册用户和在册用户(即注册用户审核通过后),注册用户需审核,审核通过后成为在册用户,而在册用户又分为可登录新闻发布后台的用户和挂号通讯员(不能登录后台)。不同角色的用户对系统具有不同的操作权限,系统用例图如图2所示。
图2:系统总体用例图
2.2 发送稿件和稿件管理模块
稿件管理模块主要是负责稿件的流转处理。通讯员发稿后,由二级单位负责人进行一级审核,再由编辑或者主管进行二级审核,当一级审核和二级审核都通过后稿件即可发表成新闻;二级单位负责人发的稿件一级审核默认为通过,接下来会由编辑或主管进行二级审核,而编辑发的稿件一级审核默认为通过,接下来会主管进行二级审核,主管发稿默认是一级二级审核都通过可直接发表成新闻。
2.3新闻管理模块
该模块的功能只有编辑和主管级别的用户才可操作,此模块可以对置顶新闻、滚动新闻等多种类别的新闻进行分类管理,能够对置顶新闻作置顶设置,对滚动新闻进行滚动相关设置。新闻管理子模块是对所有新闻进行管理,可初始化新闻访问的链接地址,可以生成该新闻的静态内容页面,还可作禁用、修改操作。
2.4其他管理模块
其他管理模块包括用户及部门管理和栏目管理,这些是主管级别用户才具有权限操作的,在该模块用户可在线增加用户、对在册用户其进行禁用操作,对部门管理进行禁用和在线增加操作,对栏目管理进行禁用和在线增加操作(包括生成子专题网的新闻页),对注册的用户进行审核。
2.5系统设置模块
主管在此模块中可以进行公告管理,对公告进行删除操作并可在线增加公告,他们发的公告其它院系的用户均可见,还可对审核信息进行在线增加和删除操作管理;发布的公告所有的用户都可见。管理首页是用户进入新闻发布后台时看到的页面,退出系统则是实现用户退出系统功能。系统设置可以设置该新闻网站的名字、访问地址、前后台分页、子专题网名和访问地址、更新站内索引。
3 系统实现
基于篇幅的关系,本文主要对高校新闻网中的新闻录入管理模块的实现进行详细描述,其他各模块的实现与此基本相同。
3.1新闻稿件录入流程设计
新闻是稿件经过两次审核通过后才可发表成新闻的。稿件添加界面设有新闻标题、发表栏目、第一作者、其他作者、作者信息、关键词、稿件内容、显示设置、新闻设置、图片上传等。添加新闻必须注明新闻标题,至少一个作者及其所属院系,新闻栏目,新闻内容。
新闻编辑框,可进行可视化新闻添加,可以粘贴任意图片、表格、文字,就像word一样方便。在新闻可视化编辑的界面中,填写的作者名必须是发稿者的实名,在新闻投稿栏目的下拉列表中采用自定义标签来显示,在选择作者所属部门的下拉列表中也是采用自定义标签来显示。
对于输入的稿件必须进行稿件审核,一级审核选项有退稿、返工、审核通过、保存(还没审核完时可用此选项),二级审核选项有退稿、返工、发布新闻、保存、预览选项。二级审核没有审核通过选项,发布新闻即为审核通过,发布新闻选项有学校主页新闻、滚动字幕、公告显示在新闻网、只允许校内访问、套红标题、置顶新闻、生成滚动图片新闻等选项,在生成滚动图片新闻时需要上传图片用作滚动新闻的图片轮显。
审批稿件流程如图3所示。
图3稿件审批流程示意图
3.2 新闻录入实现
新闻模型对象对应的ja
vabean是News,对新闻对象进行一些添加、删除、获取热点新闻的一些操作封装在NewsService类中。新闻稿件的编辑采用开源的FCKeditor编辑器来实现。 NewsAction完成对新闻稿件的添加、修改、审核通过后提交、发布成新闻等新闻稿件层层往上传递审核发布的业务逻辑的处理,在此action中有对操作类别进行判断、对操作用户的权限级别作判断,此业务逻辑主要是对数据库进行写数据;NewsAction还可对新闻稿件进行分类处理,择出待审稿件、返工稿件、退稿稿件,并对客户端返回的信息进行分页处理;负责将数据库中的新闻数据读取到编辑器中,用于用户审核时查看新闻稿件信息。IndexAction和TopicAction都是从数据库中读出数据到客户端。新闻录入时的逻辑业务结构图如图4所示。
图4新闻模块类图
4小结
本文设计并实现了一个基于SSH框架的高校新闻管理系统,运用MVC开发模式,把页面层和逻辑层分开,使得各个层间的耦合度降低,提高了系统的可重用性、灵活性和可维护性,使得开发过程清晰,效率大大提高。系统从规划、设计、开发到最后的部署历时近一年时间,已经成功运用于我校的新闻管理,经过半年多时间的运行,较大的提高了我校新闻流转、审核,发布的效率,取得了预期的效果。
参考文献:
. 北京:中国电力出版社,2005.
基金项目:湖北省教育厅项目(NO:D200717005)