基于Struts框架的电子政务系统

来源 :电脑知识与技术·学术交流 | 被引量 : 0次 | 上传用户:youtubo
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  摘要:介绍了基于Struts框架的电子政务系统设计和实现过程,系统遵循J2EE规范和MVC设计模式,并且采用了可重用的设计思想和一些组件技术。实现跨平台、低成本、开发高效快捷,可裁剪和移植性强等优点,解决了目前电子政务系统推广普及的一些瓶颈问题,适用于电子政务系统建设项目的需求。
  关键词:电子政务;框架;Struts
  中图分类号:TP311文献标识码:A文章编号:1009-3044(2008)05-00ppp-0c
  
  电子政务是指政府机构运用计算机技术和网络技术,将其管理和服务的职能转移到网络上去,同时实现政府组织结构和工作流程的重组优化,超越时间/空间和部门分隔的限制,建成一个精简,高效,廉洁,公正的政府运作模式调研表明,电子政务系统的目标是要建立政府信息化网络,建成覆盖机关各处室,各部门,基层各个单位的信息集成系统,实现行政机关的办公现代化,开发基于Web方式的办公信息系统。文中详细介绍了在Web环境下的基于Struts框架如何应用于电子政务系统的开发实例
  
  1 Web框架Struts
  
  Struts是一个基于MVC模式的Web应用程序的框架[1]。它是Apache Software Foundation的一个开源项目。至今已被广泛使用。MVC模式分成三个核心部件:模型(Model)、视图(View)、控制器(Controller),它们各自处理自己的任务。其中Action Servlet类是控制器组件,它根据用户请求,调用相应的Action类实例进行处理,然后选择相应的JSP文件返回客户端;ActionForm类是模型中的数据Bean类,用来表示从View组件中输入的数据;Action类是模型中的逻辑Bean类,对它扩展后可以执行某一特定请求的业务逻辑组件Action之间的映射。此外Struts还包含了一个非常重要的配置文件struts-config.xml,它包括关于Web应用程序的Action Mapping信息、JDBC数据源信息、ActionForm Bean信息和全局发等。
  用Struts框架可以将业务逻辑,控制和数据显示功能模块区分开来,应用程序功能划分很清晰,开发人员可以分别集中开发业务逻辑模块,程序控制模块和数据显示模块,不必担心使三者之间的耦合。Struts工作原理如图1所示。
  
  图2 体系结构
  
  2.1 用户层和WEB服务层
  用户层是系统面向用户的各种应用子程序,包括信息浏览、信息查询、信息录入子程序。用户通过浏览器访问管理信息系统。具有交互功能,进行填写信息、提交请求的操作,请求结果返回在客户端显示。
  WEB 服务层的功能是提供系统应用界面。系统的开发基础是基于WEB技术,因为当今WEB技术以它的方便操作、界面可以让用户根据需要自行更改、功能强大等特点广泛的被应用。通常情况下对于访问者和系统管理人员来说,都可以通过浏览器来完成系统操作。
  2.2 业务逻辑层
  业务逻辑层主要是对用户的请求进行判断处理。当用户发送数据请求后,首先会进入Web应用层,应用层对用户请求数据进行加工处理并发送到业务逻辑层。通过逻辑层的验证后,执行相应的业务操作,将用户请求提交到数据库,再由数据库返回用户需求的结果给Web应用层,再通过应用层直接将数据返回给用户。
  本系统的应用核心将采用J2EE分布式应用技术,它是一种跨平台的开放结构,用于开发基于面向对象技术的客户端/服务器应用程序。客户端可以通过在对象上实现的接口访问对象。针对系统可能出现多个操作并发,以及由于突发性的故障所造成的问题,系统会采用多层分布式应用。多层分布式应用采取事务方法来管理所有操作,保证所有事务要么被全部成功地提交,要么全部回滚到事务初始状态。这样可确保系统数据的稳定性和完整性。
  2.3 数据库层(应用后台)
  为了提高开发Web应用的效率,简化Java数据库应用的开发,我们采用数据库组件的设计,使其能够与Struts框架有机结合,以便利用Struts框架的健壮性和伸缩性达到组件的可重用性,降低数据库应用与数据来源的相关性。
  其设计的核心思想是简化JDBC编程,封装建立数据库连接的步骤,通过修改属性文件完成数据存取逻辑,从而达到设计目的。因此在系统中数据库组件采用基于DAO模式[4],在实现中封装注册和载入JDBC驱动程序、建立连接类DBConnectionManager,对数据库连接池进行安全封装和控制管理,对一个或多个由属性文件定义的数据库连接池的访问。
  通过运行SQL语句及处理查询结果集类DBOperation,实现数据库的动态连接功能,添加上实际应用中常用的方法实现与数据源的交互。
  在数据库交互类AppInter中编写与业务逻辑相关的SQL语句,然后调用DBOperation运行SQL语句及分页控制PageControl处理查询结果集,与数据源进行交互。
  编写AppAction类对Struts中的Action类的继承和实现,接受来自页面表单的参数,调用相应的业务逻辑类,并将得到的结果在ActionServlet控制类下传给页面展示。
  
  3 Struts在应用中的改进
  
  3.1 功能和页面的安全控制
  由于政务系统要有一个良好的安全性,我们程序设计中采用由一个类负责进行安全检查,而不是在每个JSP页面或Action类中都实现这个功能。通过使用processRales方法可提供页面级别和功能级别的安全检查,需要扩展RequestProcessor类,覆盖其方法processRoles以进行检查,其中使用HashMap存储角色到页面ID和功能ID的映射,可以采用JAAS框架在web. xml中加人安全的声明的方法来实现功能权限上的访问。
  如果使用了Tiles,对于页面级的安全控制可写入在tiles的配置文件中,如下:
  <definition name =“defl” path="/classicLay-out. jsp" role=" admin">
  <put name =“title" value =”Tiles Example 1”/>
  <put name =“header" value="/common/header. jsp"/>
  <put name=“menu” value="/common/menu.jsp"/>
  <put name =“footer" value="/common/footer, jsp"/>
  <put name=“body" value="/bodyl .jsp” />
  < /definition>
  3.2 中文请求的处理问题
  中文处理的问题在JSP/Servlet中由来已久,由于ActionServlet自动从HtmlForm中提取请求数据到FormBean,因此如果请求数据中包含中文,则FormBean中读取到的都是乱码。在上面的系统中,我们采用了Servlet2.3中新提供的filter特性来解决这个问题。我们采取的是编写一个编码转换的类实现Filter接口,并且在web.xml文件中做相应的配置,就可以让所有的request数据在被接收之前转换为GB2312编码。
  
  4 结束语
  
  Struts 是一种优秀的J2EE MVC框架方式。灵活应用它所提供的大量标签库,能大大提高Web 应用程序的开发效率。在页面导航方面,通过一个配置文件即可把握整个系统各部分之间的联系,这给后期维护带来很大的便利。尤其是当另一批开发者接手该项目时,这种优势体现得更加充分。就程序员而言,可以充分利用 Struts框架提供的各种使用类和标签库,简化编码工作,把更多的精力花在解决实际业务问题上。利用Struts 框架进行 Web 应用的开发也非常有利于人员分工和项目管理,同时系统的可维护性和可扩充性也得到提高。
  
  参考文献:
  [1]开发专家之Sun ONE.JSP应用开发详解[M].电子工业出版社,2005.
  [2]孙卫琴.精通Struts:基于MVC的Java Web设计与开发[M].北京:电子工业出版社,2004.
  [3]王长利,全厚德.基于数据库的通信设备自动测试系统设计[J].微计算机信息,2005,1(1):69-71.
  [4]孙叶枫,宋中山.JSP中基于连接池的数据库访问技术[J].计算机应用研究,2005,(6):80-82.
  
  收稿日期:2007-12-25
  作者简介:唐金鹏(1975-),男,湖南长沙人,高级工程师,硕士,研究方向为:工作流管理,软件框架技术;李玲琳(1974-),女,湖南长沙人,讲师,硕士,主要研究方向为:软件工程,工作流。
其他文献
摘要:本文介绍了一种基于IP网络构建VPN网络视频会议系统的方案。首先简要介绍了视频会议系统的关键技术——基于IP的H.323 协议及这种技术的不足,简要介绍VPN技术的基本原理,并分析和比较了基于IP网络的VPN实现技术,最后给出了基于IP-VPN技术的大型企业视频会议系统实现方案。  关键词:IP;VPN;视频会议系统  中图分类号:TP393文献标识码:A 文章编号:1009-3044(20
摘要:高职院校教学中存在的很多问题是传统教学模式难以解决的,使用翻转课堂教学模式可以很好地解决这些问题。用建构主义学习理论来指导翻转课堂教学的实施,可以更好地促进学生各方面能力的培养,为以后走向工作岗位打下坚实的基础。  关键词:高职院校;翻转课堂教学模式;建构主义学习理论;计算机专业  中图分类号:G64 文献标识码:A 文章编号:1009-3044(2015)17-0112-02  Const
狐狸阿布和他的奶奶住在动物王国的麦香镇。  “不想干坏事的狐狸,不是一只好狐狸!”这是狐狸奶奶的口头禅。阿布干过各种坏事:强盗、土匪、小偷、骗子……可惜,都很失败!现在,阿布决定干点儿别的。  “我有那么点小聪明,也许能干侦探。”一天,阿布突发奇想。  “干侦探好!你可以趁机偷窥别人的隐私,敲诈别人的财物,还可以顺便捞点儿油水。”狐狸奶奶很支持。就这样,“狐狸侦探所”成立了。  阿布的第一个客户是
摘 要:在教学过程中,有许多口语训练的途径和形式。作为教师对此应注意并加以利用,给学生多提供口头表达的机会,通过系统的培养和训练,使学生具有良好的说话才能。如课内外结合,培养学生“说”的能力;开展多种比赛,锻炼学生“说”的才能;表演课文——排练课本剧;以读促说,提高语言表达能力等。通过各种形式的口语训练,激发学生“说话”的兴趣和求知欲望,提高分析能力和口语表达能力,以此引导学生由浅入深,步步深入,
摘要:通过对Windows操作题各种题型的深入研究,将专家系统思想引入到Windows操作题的自动阅卷中,建立Windows操作题专家系统。针对不同题型,此专家系统进入不同的模块进行推理。  关键词:专家系统;Windows操作题;推理  中图分类号:TP182 文献标识码:A 文章编号:1009-3044(2009)15-4034-02    The Application of Expert
福州市扎实开展“农远工程”工作, 10个县(市)区被列为“全国农村中小学现代远程教育工程”项目地区,分三批实施农村远程教育工程,建设项目校共1620所,覆盖所有的农村中小学,投入资金约5122.7万元,其中中央财政补助194万元,中央国债补助238.4万元,省财政补助383.4万元,市财政补助218.1万元,各县市区投入4088.8万元。    一、加强管理加大投入,推进项目的实施与应用    福
《氓》是《诗经》中的“另类”,不仅因为它篇幅较长、独立成篇,更因为它完整的叙述特点和质朴的语言风格。因此,《氓》的教学,有了更大的空间,也有了更多的选择,我们可为其设计与《诗经》中其他作品不同的教学方式。  关于《氓》的课堂教学,笔者之前听过很多教师讲授,亦曾多次实践,但教学效果均不太理想。更“大”的教学空间,更“多”的教学选择,还需要更“巧”的教学设计。于是笔者干脆推翻了惯有的教学思路,“大”中
摘要:在还没有完全享受3G移动通信系统商所带来服务的同时,4G移动通信技术的研究已经在逐步的进行着。该文简要分析了:(1) 4G的网络结构;(2) 4G的关键技术,如OFDM,软件无线电,智能天线技术,MIMO技术。(3) 比较了3G和4G不同指标,分析了3G和4G采用的不同技术。(4) 初步探讨了4G的现状和发展。  关键词:3G;4G ;OFDM; 软件无线电;智能天线;MIMO技术;网络  
摘要:随着网络教育的普及和大数据时代的到来,学习分析技术已被广泛运用于现代教育中。为了进一步了解国际学习分析技术的发展,及我国学习分析技术在世界的水平,该文对110篇国内外文献进行了研究。通过研究勾勒出学习分析的研究现状,探索我国学习分析的发展趋势。  关键词:学习分析;文献对比  中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2015)22-0005-04  1 概述