基于Struts2和iBATISJSP开发框架设计与实现.docVIP

基于Struts2和iBATISJSP开发框架设计与实现.doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于Struts2和iBATISJSP开发框架设计与实现

基于Struts2和iBATISJSP开发框架设计与实现   摘 要:在JSP应用程序存在异常处理分散、拼接SQL语句繁琐易错、上下层次模块间耦合度高等问题,这些问题使系统难以扩展和维护。本文设计并实现了一个基于Struts2和iBATIS的JSP开发框架,解决上述问题。该框架已经实现并在实际开发中使用。通过对比证明,该框架提高了JSP应用系统的灵活性和扩展性,同时也缩短了开发周期,降低了开发成本。   关键词:Struts2;iBATIS;JSP开发框架   中图分类号:TP311.52   JSP(Java Server Pages)是常见的B/S架构(Browser/Server架构)[1]实现技术之一。在笔者为学校开发“奖助贷系统”和“认证考试报名系统”等JSP应用系统的过程中,遇到了以下问题:(1)为系统所有模块增加、修改或者移除一个功能时,需要改动大量代码,异常处理分散,当异常处理方式改变时,代码修改量也很大;(2)系统中需要大量动态拼接SQL语句,在Java中拼接sql语句非常繁琐,而且容易出错;(3)业务逻辑处理和数据存取之间的接口耦合度高,多个开发人员之间沟通成本也很高。   笔者通过对已开发的两个项目进行研究,设计了一个简单的JSP开发框架,来解决上述三个问题。   1 关键技术简介   1.1 MVC和Struts2框架   MVC框架模式全称是Model-View-Controller[2]。其中,Model表示业务逻辑和数据存取,View表示数据显示,Controller连接Model和View两部分。MVC把数据显示(V)和数据(M)隔离,同时也把两者之间的联系(C)独立出来,三个部分各司其职,互不干扰。   Struts2框架[3]对应于Controller部分。它通过编写XML配置文件,控制页面跳转。Struts2的配置代码示例如下:     method=query   /list_s.jsp   /list_t.jsp      Struts2的拦截器机制还能对所有请求做相同的处理[4]。Struts2的拦截器机制如图1所示。   图1 Struts2拦截器原理   图1中虚线框起来的部分显示,拦截器可以在Action调用前后增加一些功能模块。使用拦截器,不需要每个Action自己去调用这些功能模块,而是由Struts2的配置自动为Action增加这些模块。这可以解决引言中提出的第一个问题。   1.2 iBATIS框架   iBATIS是一个持久层框架。笔者所在学校的Web???用程序,其数据都来自数据中心,数据库结构对外是不开放的,仅对外提供必需的SQL语句。这种情况下Hibernate等框架并不适用。iBATIS是半自动化的[5]。它实现的是业务对象和SQL语句的映射,非常适合处理这类情况。   iBATIS采用的是在SQL语句中使用iBATIS标签来拼接SQL语句,示例代码如下:   select * from t1 where 1=1         column1 = #A#         从上述代码可以看出,iBATIS比Java拼接SQL语句更简洁,也没有单引号匹配、遗漏逗号等问题。   2 JSP应用开发框架设计   按照MVC的思想,数据显示和业务处理是相互独立的,分开后可以降低耦合度,把Model所代表的业务逻辑和数据存取分开,可以进一步降低耦合度。因此,在笔者设计的框架中,后台采用了比较流行的Action-Service-Dao三层结构。开发框架结构如图2所示。   图2 JSP应用开发框架结构图   2.1 异常处理   系统运行过程中有可能会遇到网络中断,数据库崩溃等业务无关的问题,还有可能出现用户查找的数据不存在、重复提交数据等业务相关的错误。框架提供了统一的方式处理这些异常和错误。框架的异常处理结构如图3所示。   图3 异常处理结构图   图3中的SystemException和BusinessException是自定义的两个异常类,分别表示业务无关的异常和业务相关的错误。这两个异常类不需要有任何的实质性的处理,只需要能记录异常信息即可。   2.2 Dao层接口设计   Dao层的接口BasicDao仅提供五个方法:   public interface BasicDao{   public List select(BasicVO vo);   public int selectCount(BasicVO vo);   public void insert(BasicVO vo);   public void update(BasicVO vo);   public vo

文档评论(0)

erterye + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档