基于Spring+DWR+EXT框架的web应用设计与实现

时间:2022-02-26 01:49:21

基于Spring+DWR+EXT框架的web应用设计与实现

摘要:该文分别研究Spring、DWR与EXT三个框架的特点,并结合组合下拉框的三级联动实例来研究如何整合这三种框架来提高开发效率和改善用户体验。

关键词:Spring;DWR;EXT;三级联动

中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2016)15-0103-02

Spring提供了简单而有效的JDBC应用并且能和其他一些开源框架进行无缝结合,比如DWR。AJAX能实现页面局部刷新, DWR是一个用于改善web页面与Java类交互的远程服务器端Ajax开源框架,它允许开发人员直接在浏览器端直接调用后台java代码。但是,DWR很难构建出漂亮的视图层页面。而EXT是一个用于客户端创建丰富多彩的web应用程序界面的Ajax框架,正好可以弥补DWR的缺陷。所以spring+dwr+ext三个框架用于web应用开发中,理论上是非常不错的。

1 Spring JDBC模板设计模式

Spring内置了一组数据访问框架,可以针对JDBC、Hibernate、MyBaties等常见数据访问技术提供简化操作,让我们把精力集中在核心的数据管理上面。常见的DAO码中,大部分都是管道代码(重复的),只要少数几句核心代码是每个方法不相同的。Spring利用“模板方法”设计模式,把管道代码预先定义好,然后通过接口,把方法的特定细节(变化部份)委托到外部交给程序员后期实现。“模板方法”设计模式的定义是:在方法里预先定义算法的骨架,将一些步骤延迟到其子类去实现。Spring JDBC模块为开发人员提供了一系列的抽象类,我们在写DAO类时只要继承于这些抽象类,并实行其中的相应方法即可。这样,大大简化了DAO的开发步骤,基本上一些DAO操作只需要一两句代码即可。 并且,Spring还封装了一些异常,因此,开发人员编码时也无需自己编写捕获各种特定的异常的代码,从而大大简化了DAO方法的编写。

2 DWR技术原理介绍

DWR(Direct Web Remoting)是位于服务器端的AJAX框架,用于处理客户端的请求并进行异步处理,将及时处理结果反馈于客户端浏览器中。它包含2个主要部分:一个运行在服务器端的Java Servlet,它处理请求并且向浏览器发回响应。另一个是运行在浏览器端的JavaScript,它发送请求而且还能动态更新网页。DWR工作原理是通过动态把Java类生成为Javascript。它的代码就像Ajax魔法一样,感觉调用就像发生在浏览器端,但是实际上代码调用发生在服务器端,DWR负责数据的传递和转换。这种从Java到JavaScript的远程调用功能的方式使DWR用起来有种非常像RMI或者SOAP的常规RPC机制,而且DWR的优点在于不需要任何的网页浏览器插件就能运行在网页上。

3 EXT技术特点

Ext是一个前台页面开发框架,可以用来开发富客户端的AJAX应用,是纯Html/CSS+JS,拥有丰富的跨浏览器UI组件,采用灵活的JSON/XML数据源开发,减轻了服务端表示层的负荷,真正实现客户端的MVC应用,并且每一个组件都拥有漂亮的样式及布局,经过简单的调用与配置就可以实现不错的界面布局,。是开发页面不错的技术选择

4 Spring、DWR与EXT的整合及应用

4.1 三种框架的整合工作原理

Spring、DWR与EXT整合工作流程:Spring JdbcTemplate封装了JDBC的流程,包括了SQL的执行、查询结果的转换和异常的捕捉等等。在java程序中使用了JdbcTemplate的类中采用依赖注入jdbcTemplate,然后就直接调用JdbcTemplate中的数据库方法,如查询queryForList,更新update等。Spring JdbcTemplate负责应用系统数据库的操作。DWR负责将后台的java对象转化成前台页面的js 对象,让开发人员可以在客户端脚本语句中直接调用。开发人员在前台ext代码中调用后台java函数时,DWR 会将此转换成对应的请求发送到服务器端。当服务器处理完请求后,dwr还会将处理的结果返回给前台ext,EXT负责将后台传过来的数据呈现在漂亮的客户端界面上。

4.2 实例的应用

本实例是自己教学过程中用Spring+DWR+EXT框架开发web应用程序经常用到的的组合框的三级联动,通过实例来分析如何整合这三种框架,以其来提高开发效率和改善用户体验。

项目中要用到Spring,DWR,EXT框架,首先需要在项目中添加spring 、dwr 以及extjs所需的jar 包。并将包放到合适目录下。

1)在web.xml中配置Spring与DWR

在web应用中添加Spring支持,需要在web.xml中配置spring启动的监听器:(代码略)。

在Spring框架之下,每个Java对象将会以bean的方式存在。

2)编写具体的类ResourceGISDistributeDao,实现数据库的业务处理。列出部分代码说明:

/*查询营业部数据*/

public List queryyingyebu(String cityid) {

try { return this.jdbcTemplate.queryForList(this.yingyebuString, new Object[]{cityid});} catch (Exception ex) {

ex.printStackTrace();

return null;}

}

3)编写spring配置文件

在spring配置文件中,我们主要是用来配置数据源和操作数据库的dao,以便在dwr配置文件中进行引入访问。

SELECT DISTINCT T.TOWN_ID,T.TOWN_DESC FROM APP.RS_CHL_NET_CELL_BASIC T WHERE T.CITY_ID=?

4)编写dwr.xml配置文件

Dwr配置文件与web.xml在同一目录下,配置将要被调用的java类。部分代码如下:

5)创建视图层

最后,创建视图层。视图层项目中采用jsp技术。在jsp页面中要引用dwr的engine.js和util.js,还要引用dwr自动生成的js,如dwr/interface/ResourceGISDistributeDao.js,注意js名字要和dwr.xml配置的一样。这样就可以在jsp页面中通过脚本代码来调用在服务器端dao层ResourceGISDistributeDao代码,函数比在java代码中多了个参数function(data),用来callback返回的数据,如下:ResourceGISDistributeDao. queryyingyebu (function(data){

DwrReturnData = data; });

最终组合下拉框三级联动效果图图1。实践发现,采用spring+dwr+ext三个框架相结合的异步读取的方式,能使多级联动的数据不需要一次性地从数据库中读取出来,而会在页面初始化的时候只读出第一级组合框(市级)的数据,再根据用户的选择读出相应的下一级(营业部)组合框数据,极大地提高了用户体验。且EXT的组合框控件有缓存机制,再次点击时会去缓存中读取数据,提升了响应速度。对于开发人员而言,JavaScript代码量及复杂度大大降低,极大地减轻了编程负担。

5 结束语

DWR框架响应迅速、交互性强 ,EXT能够创建丰富多彩的web应用程序界面, Spring框架将DWR与EXT框架有机地整合起来,使JAVA应用更加灵活,因此基于Spring+DWR+EXT框架的能很好地进行web应用开发。

参考文献:

[1] 林信良. Spring3.0技术手册[M]. 北京: 电子工业业出版社, 2012.

[2] 董鑫. 基于AJAX的动态Web开发技术探讨[D]. 郑州: 河南大学, 2010.

[3] 李健, 郭宇明, 石桂名. 基于DWR的Ajax技术研究与实现[J]. 现代计算机:专业版, 2013(7): 132-133.

[4] 王霓虹, 金兴. Ajax技术及其DWR框架实现[J]. 自动化技术与应用, 2012, 26(12): 92-94.

[5] 张栗, 张凤元, 危胜军. 基于DWR框架的Web应用的设计与实现[J]. 计算机技术与发展, 2012, 18(8): 84-87.

[6] 李瑞, 伍新华. 基于EXT的Java EE快速开发研究[J]. 软件导刊, 2010, 8(3): 67-68.

上一篇:集成路线规划的房屋租赁系统的设计与实现 下一篇:地方本科院校非电类专业《电工学》教学改革探...