基于ExtJsSpring和iBATIS的Web系统应用研究文档格式.docx

上传人:b****2 文档编号:14861340 上传时间:2022-10-25 格式:DOCX 页数:6 大小:19.45KB
下载 相关 举报
基于ExtJsSpring和iBATIS的Web系统应用研究文档格式.docx_第1页
第1页 / 共6页
基于ExtJsSpring和iBATIS的Web系统应用研究文档格式.docx_第2页
第2页 / 共6页
基于ExtJsSpring和iBATIS的Web系统应用研究文档格式.docx_第3页
第3页 / 共6页
基于ExtJsSpring和iBATIS的Web系统应用研究文档格式.docx_第4页
第4页 / 共6页
基于ExtJsSpring和iBATIS的Web系统应用研究文档格式.docx_第5页
第5页 / 共6页
点击查看更多>>
下载资源
资源描述

基于ExtJsSpring和iBATIS的Web系统应用研究文档格式.docx

《基于ExtJsSpring和iBATIS的Web系统应用研究文档格式.docx》由会员分享,可在线阅读,更多相关《基于ExtJsSpring和iBATIS的Web系统应用研究文档格式.docx(6页珍藏版)》请在冰豆网上搜索。

基于ExtJsSpring和iBATIS的Web系统应用研究文档格式.docx

ExtJS框架便是一种与后台技术无关的,可以用来开发富客户端的前端Ajax框架。

  在开发基于J2EE的中小型企业级的Web应用时,强调的是系统的敏捷开发、可扩展性以及易于维护。

然而,传统的基于EJB的重量级框架技术由于其复杂性,往往使开发过程事倍功半。

类似于Spring的轻量级框架的出现,正好解决上述问题。

目前,轻量级框架的发展已经成为推动J2EE技术发展的重要推动力,成为新一代J2EE技术构架的基础。

  本文通过对ExtJs、Spring和iBATIS的整合研究,探索用户体验好、系统开发高效、可复用性和易于维护的集成框架平台,为指标管理系统的开发提供较好的框架技术支撑。

  1开源框架介绍

  1.1ExtJs框架

  ExtJs框架是一个强大的JavaScript类库,提供了可重用的对象和部件,简化了开发,丰富了客户端界面效果。

它基于纯HTML/CSS和JavaScript技术,灵活采用JSON/XML作为交换格式,提供丰富的跨浏览器UI组件,使服务端表示层的负荷减轻,从而达到客户端RIA应用。

  1.2Spring框架

  Spring是一个提供了解决J2EE问题的一站式框架,包括核心容器、SpringContext、SpringAOP、SpringDAO、SpringORM、SpringWeb和SpringMVC七个模块。

通过IOC(控制反转)技术,可以将对象间的依赖关系交由Spring进行控制,降低程序的耦合度;

通过Spring提供的AOP(面向切面编程),可以将业务逻辑与系统服务(如日志、事务、权限和异常处理等)进行分离,达到易维护和重用的目的;

通过Spring提供的ORM模块,可以将Spring和iBATIS进行无缝集成,并利用iBATIS提供的ORM机制,提高系统设计和自由度。

另外,Spring提供了MVC2模式的实现,使用非常方便,无需整合其他MVC框架。

  1.3iBATIS框架

  iBATIS是一个基于Java的持久层框架,它提供的持久层框架包括SQLMap和DataAccessObjects(DAO)。

相对Hibernate和ApacheOJB等“一站式”ORM解决方案而言,iBATIS是一种“半自动化”的ORM实现,其着力点则在于POJO与SQL之间的映射关系。

使用iBATIS提供的ORM机制,对业务逻辑实现人员而言,面对的是纯粹的Java对象,而对于具体的数据要求开发者编写具体的SQL语句,这为系统设计提供了更大的自由空间。

  2集成框架实现

  将ExtJs、Spirng和iBATIS集成一起,不仅为用户提供丰富的界面,而且也达到了提高软件开发效率的目的。

集成后的系统结构如图1所示,分为表现层、控制层、业务逻辑层、数据持久层和数据储存层。

另外,应用SpringAOP代理提供日志、事务处理和异常处理服务。

  图1集成后系统结构

  2.1表现层

  表现层主要应用ExtJS技术框架来实现,通过ExtJs提供的丰富的UI组件,使用页面效果达到桌面应用程序的风格,提高业务操作的方便性,实现友好的人机交互界面。

应用ExtJs的Ajax技术与控制层交互,实现数据的异步更新,关键代码如下。

  代码中,url所示userLogin.htm是SpringMVCurlMapping定义的访问请求,即表现层通过Ajax向控制层发出userLogin.htm请求,而params是表现层向控制层传递的参数。

请求成功,则通过success接收控制层返回的处理结果。

请求失败则通过failure接收控制层返回的请求失败的消息。

  Ext.Ajax.request({

  url:

'

userLogin.htm'

//SpringMVCMapping定义的访问链接

  success:

function(response,options){

  …

  },

  failure:

function(response,options){

  …

  },

  params:

{'

FL'

:

configUser'

}//多动作参数

  })

  2.2控制层

  控制层主要应用SpirngMVCController处理用户请求,向业务层发送请求,向表现层返回处理结果,其关键配置如下。

  配置中,id为urlMapping的bean定义了映射,对userLogin.htm的访问会为映射到id为userLoginInt的bean。

而id为userLoginInt的bean,则是定义了一个访问控制器,通过控制器决定对业务层的调用。

参数methodNameResolver定义了多动作参数,用于决定访问的方法。

  <

!

--定义映射-->

  <

beanid="

urlMapping"

class="

org.springframework.web.servlet.handler.SimpleUrlHandlerMapping"

>

propertyname="

mappings"

props>

propkey="

userLogin.htm"

userLoginInt<

/prop>

/props>

/property>

/bean>

--定义用户登录界面控制器-->

userLoginConfig"

jbzbgl.manager.controller.UserLoginController"

methodNameResolver"

  <

refbean="

paraNameResolver"

/>

//多动作参数,FL=userLoginConfig

<

userService"

//依赖注入userServicebean

  该层还应用SpringSecurity处理用户验证和授权,为Web应用提供安全支持。

  2.3业务逻辑层

  业务逻辑层主要应用SpringIOC以及XML配置文件,实现同各层间的交互,为控制层提供业务模型组件。

业务模型组件通过调用持久层DAO操纵数据库,完成业务逻辑。

  Spring的配置文件见2.2所示的“定义用户登录界面控制器”,其中,名称为userService的参数指定了通过SpringIOC依赖注入的id为userService的bean,而userService中则封装了iBATIS对数据库的操作。

  Java关键代码如下所示,getUserService()用于获取依赖注入的userService,而userLoginConfig()方法用于执行控制器通过多动作参数的调用,并向控制器返回执行结果。

  publicclassUserLoginControllerextendsMultiActionController{

  publicUserServiceuserService;

  publicUserServicegetUserService(){//获取注入的userService

  returnuserService;

  }

  publicvoiduserLoginConfig(HttpServletRequestrequest,HttpServletResponseresponse)throwsIOException,DataAccessException{

  OutJsonoutJson=newOutJson();

  outJson.setResultList(getUserService().getNameList());

//验证用户

  outJson.outJson(request,response);

//返回验证结果

  }

  }

  2.4数据持久层

  数据持久层主要应用iBATISDAO调SQLMap,完成对数据库的操作,实现业务逻辑层的调用。

而Spring和iBATIS实现整合后,事务交于Spring统一处理,可以实现事务处理代码和数据库操作代码的分离,从而提高代码的重用性,减少代码量。

整合关键配置如下:

--整合iBATIS的配置-->

sqlMapClient"

org.springframework.orm.iBATIS.SqlMapClientFactoryBean"

configLocation"

value>

classpath:

jbzbgl\\iBATIS\\config\\SqlMapConfig.xml<

/value>

//iBATIS配置文件

dataSource"

//依赖注入数据源

  2.5SpringAOP代理

  应用SpringAOP,可将业务代码和非业务代码(日志、事务处理和异常处理等)进行分离,从而降低两者的耦合性,达到易维护性和重用性。

为减少XML的配置,采用SpringAOP自动代理,其配置如下所示。

--AOP自动代理的配置-->

autoProxyCreator"

org.springframework.aop.framework.autoproxy.DefaultAdvisorAutoProxyCreator"

  2.5.1日志代理

  此处日志代理类中,实现时间记录的功能。

  代码中,id为timeHandler的bean采用Around通知类型实现Advice,而id为timeHandlerAdvisor的bean中参数advice应用IOC依赖注入timeHandler。

参数patterns定义了哪些方法需进行日志记录,.*.*表示所有方法均需记录日志,即当业务层调用任一方法时,autoProxyCreator均进行拦截并调用timeHandlerAdvisor进行日志和时间的记录,业务代码中无需涉及日志代码。

--日志及时间记录自动代理的配置-->

timeHandler"

com.gc.action.TimeHandler"

timeHandlerAdvisor"

org.springframework

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 工程科技 > 能源化工

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1