最近在学习一个国产的Ajax开源框架Buffalo,Buffalo是burlap协议的JavaScript实现,但是它为Amowa(面向异步消息的Web应用)/Ajax提供了更多的支持。开发者可以使用Buffalo为web应用更加容易的添加Amowa/Ajax特性;另外,随着开发者的要求,Buffalo开始逐渐加入了Web元素,使得Buffalo逐渐向一个全功能的、新型的Web框架逐渐靠近。目前Buffalo已经发布了2.0版本。
Spring是当前最流行的轻量级容器,Buffalo对它进行了支持。Spring中任意一个配置过的bean, 都可以通过简单的配置被暴露为buffalo服务。 以下简单介绍下Buffalo2.0集成Spring的配置。
1. web.xml配置:
<display-name>
Buffalo Web Remoting Demostration Application
display-name>
<context-param>
<param-name>contextConfigLocationparam-name>
<param-value>/WEB-INF/applicationContext.xmlparam-value>
context-param>
<servlet>
<servlet-name>bfappservlet-name>
<servlet-class>
net.buffalo.web.servlet.ApplicationServlet
servlet-class>
servlet>
<servlet>
<servlet-name>contextservlet-name>
<servlet-class>
org.springframework.web.context.ContextLoaderServlet
servlet-class>
<load-on-startup>1load-on-startup>
servlet>
<servlet-mapping>
<servlet-name>bfappservlet-name>
<url-pattern>/bfapp/*url-pattern>
servlet-mapping>
2. Spring的applicationContext.xml配置:
<bean id=" yourService "
class="xxx.service.yourService ">bean>
<bean name="buffaloConfigBean"
class="net.buffalo.service.BuffaloServiceConfigurer">
<property name="services">
<map>
<entry key="yourService">
<ref bean=" yourService " />
entry>
map>
property>
bean>
通过以上配置后,开发者不用再配置buffalo-service.properties文件了,使用applicationContext.xml替代之.其中引用到的bean可以是任意被Spring托管的bean。在web页面的调用却不需要做什么改变。如:
<script language="javascript" src="js/prototype.js">script>
<script language="javascript" src="js/buffalo.js">script>
<script type="text/javascript">
var END_POINT="<%=request.getContextPath()%>/bfapp";
var buffalo = new Buffalo(END_POINT);
function xxx(){
buffalo.remoteCall("yourService. method", [], function(reply) {
alert(reply.getResult());
})
}
script>.
转http://blog.chinahr.com/blog/Heiky/post/44276