登录
注册
程序人生
个人空间
个人相册
帮助
界面
简洁版本
拼吾爱程序人生
其他编程
Ajax
性能提升10倍的Ajax远程脚本调用引擎
Web
www.pin5i.com
输入您的搜索字词
提交搜索表单
.Net编程
Asp.Net
C#
ADO.Net
Visual Studio.NET
Silverlight
F#
WCF
WPF
Linq
WF
其他编程
Java
Ajax
javascript
正则表达式
XML
Web Service
C & C++
Ruby & Python
Flex
PHP
数据库编程
SQL
SQL Server
Oracle
DB2
MySQL
Other DB
编程应用
软件测试
应用系统
SEO
Google Adsense
建站软件
程序人生
程序人生
社区管理
网站事务
公益活动
1
/ 1 页
1
跳转
页
查看:
1134
性能提升10倍的Ajax远程脚本调用引擎
sundy
个人空间
相册
性别:
来自:
积分:
155
帖子:
155
注册:
2007-05-09
2008-01-03 22:04
|
只看楼主
树型
|
收藏
|
小
中
大
复制帖子链接到剪贴板
1F
性能提升10倍的Ajax远程脚本调用引擎
文/不详 出处/IT168
EasyJWeb中已经有了一个Ajax远程脚本调用引擎,这是很早的事情了。但由于一直存在一些性能问题,所以一直没有给大家推荐,直到最近m3发布,通过对Ajax远程脚本调用引擎进行完善,把处理复杂对象的返回进行的简化,通过在以前的几个应用中进行了测试,发现性能一下子提升了至少10倍以上,并且运行比较稳定,因此在这里给大家推荐推荐。
Ajax远程脚本调用示例演示:
http://easyjweb.demo.easyjf.com/ajax/ajax.html
完整的示例应用及源码下载:
ftp://ftp1.easyjf.com/easyjweb/demo/ajax.war
EasyJWeb是一个提供了对Ajax远程脚本调用功能支持的框架,他帮助你完成Ajax远程脚本调用中的大多数细节工作,你基本上不用写额外的代码就能非常轻松的使用javascript来调用服务器的业务组件的相关方法,这些业务组件可以是任何java对象,比如EJB、EasyJWeb容器中的Bean、Spring容器中的Bean等等。使用EasyJWeb的Ajax远程脚本调用,需要下面的几个步骤:
1、 在EasyJWeb容器或子容器中配置供客户端脚本调用的业务组件。比如,在easyjweb的配置文件中像下面的方式配置Bean:
<bean name="PersonService" class="easyjweb.demo.service.impl.PersonServiceImpl" />
PersonServiceImpl的代码如下:
package easyjweb.demo.service.impl;
import java.util.Date;
import java.util.List;
import java.util.Map;
public class PersonServiceImpl
{/*** 得到服务器当前时间* @return*/
public Date getTime()
{return new Date();
}
}
2、 在EasyJWeb的配置文件,配置要把容器中的哪些业务组件及具体方法暴露给客户端进行远程脚本调用。内容大致如下:
<ajax>
<services allowName="*">
<service name="PersonService" />
</services>
</ajax>
上面的ajax配置信息表示暴PersonService的所有public方法供客户端使用javascript调用。
只需要上面的两步,就完成了服务器端的相关工作。服务器端不再需要写任何Action,EasyJWeb会自动处理客户端发送来的Ajax远程脚本调用,下面我们进一步看看客户端的程序。
3、为了能够在客户端页面中直接使用javascript进行对PersonService业务组件的Ajax远程脚本调用,我们需要在页面中引入下面三个js。
<script src="ejf/easyajax/prototype.js" type="text/javascript"></script>
<script src="ejf/easyajax/engine.js" type="text/javascript"></script>
<script src="ejf/easyajax/PersonService.js" type="text/javascript"></script>
其中第一个ejf/easyajax/prototype.js引入的是prototype.js,这是一个javascript的基础库,提供很多对基础javascript类的扩展,并提供了ajax相关的实用组件,EasyJWeb的远程脚本调用引擎是基于prototype.js构建的。
第二个ejf/easyajax/engine.js是EasyJWeb的远程脚本调用支持引擎,他负责处理Ajax远程脚本调用的相关的细节,如参数处理、回调处理等,同时提供了一些实用工具如EasyAjaxUtil等供客户端使用。
第三个ejf/easyajax/PersonService.js是PersonService对象,PersonService.js的内容是根据服务器端的容器中名为PersonService的Bean及EasyJWeb的ajax配置信息生成的。只要引入了PersonService.js,我们就可以直接在页面中调用PersonService的相关方法了。
上面的三个js文件都是服务器端动态生成的,需要我们在web.xml文件把所有/ejf/*的URL都交由EasyJWeb来处理。因此,需要在Web.xml的url中增加如下的映射内容:
<servlet-mapping>
<servlet-name>easyjf</servlet-name>
<url-pattern>/ejf/*</url-pattern>
<!--所有/ejf/开头的url都由easyjweb来处理-->
</servlet-mapping>
4、 在页面中使用javascript调用服务器的相关方法
<script>function showServerTime()
{
PersonService.getTime(showTime);
function showTime(ret)
{alert("服务器端时间: "+ret);
}
}
</script>
怎么样,一切都是如此简单,不需要写任何PersonService的代码,不需要写任何Action,只需要进行非常简单的配置,就能让我们服务器上的业务组件支持Ajax远程脚本调用。
感谢原创者的辛勤劳动,希望对您有所帮助,转载请注明原出处。
您可能对 [Ajax] 的这些文章也感兴趣:
用 Ajax和 RSS制作一个首页新闻
ASP.NET AJAX中的非同步PageMethod调用
ASP.NET AJAX 4.0 Template Example
AJAX初体验之上手篇
使用ASP.NET AJAX的注意事项
AJAX技术将成为驱动Web2.0的重要技术源动力
JSON-RPC-Java 和DWR比较
Ajax中文乱码问题解决办法
WEB2.0开发之AJAX:HTML 同Client/SOA
如何学习AJAX
发送短消息
查看公共资料
查找该会员全部帖子
UID:
21
精华:
0
威望:
0
金钱:
33.4 拼元
状态:
离线
<<
上一主题
|
下一主题
>>
1
/ 1 页
1
跳转
页
快速回复帖子
标题
禁用 URL 识别
禁用表情
禁用 Discuz!NT 代码
使用个人签名
default
正在加载表情...
[完成后可按 Ctrl+Enter 无刷新发布]
论坛跳转...
.Net编程
Asp.Net
C#
ADO.Net
Visual Studio.NET
Silverlight
F#
WCF
WPF
Linq
WF
其他编程
Java
Eclipse
Spring
EJB
Ajax
ExtJS
Dojo
javascript
jQuery
正则表达式
XML
Web Service
C & C++
Ruby & Python
Flex
PHP
数据库编程
SQL
SQL Server
Oracle
DB2
MySQL
Other DB
编程应用
软件测试
应用系统
SEO
Google Adsense
建站软件
程序人生
程序人生
社区管理
网站事务
公益活动
管理团队
回收站
下载权限不够?五招教你快速提升权限。。。
我的主题
我的帖子
我的精华
我的空间
我的相册
帖子标题
空间日志
相册标题
作 者
我的主题
我的帖子
我的附件
我的精华
我的空间
我的相册