第一种:属性配置方式
一、新建一个web project,加入两个jar包:buffalo-2.0.jar和commons-logging.jar。注:若commons-logging.jar不加入,会抛出异常。
二、在项目的webRoot下加入两个js文件:buffalo.js和prototype.js,prototype.js可以到buffalo-demo下复制。
三、修改web.xml,把下面代码加入:
Xml代码
1.<servlet>
2. <servlet-name>bfapp</servlet-name>
3. <servlet-class>net.buffalo.web.servlet.ApplicationServlet</servlet-class>
4. </servlet>
5. <servlet-mapping>
6. <servlet-name>bfapp</servlet-name>
7. <url-pattern>/bfapp/*</url-pattern>
8. </servlet-mapping>
<servlet>
<servlet-name>bfapp</servlet-name>
<servlet-class>net.buffalo.web.servlet.ApplicationServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>bfapp</servlet-name>
<url-pattern>/bfapp/*</url-pattern>
</servlet-mapping>四、新建一个java类,就是我们用来调用的,我这里命名为:HelloService.java。如下:
Java代码
1.package com.business;
2.
3.public class HelloService {
4.
5. public String sayHello(String name) {
6. return "Hello," + name +",欢迎使用Buffalo!";
7. }
8.}
package com.business;
public class HelloService {
public String sayHello(String name) {
return "Hello," + name +",欢迎使用Buffalo!";
}
}在源文件夹src下新建一个属性文件,命名为:buffalo-service.properties,打开输入下面:
helloService = com.business.HelloService
这个属性文件就是我们配置业务类的。
五、上面的配置就差不多,下面我们来打开index.jsp页面,在里面加上:
Js代码
1.<script type="text/javascript" src="js/prototype.js"></script>
2. <script type="text/javascript" src="js/buffalo.js"></script>
3. <script type="text/javascript">
4. var endPoint = "<%=request.getContextPath()%>/bfapp";
5. var buffalo = new Buffalo(endPoint);
6.
7. function sayHello(name) {
8. //第一个参数是调用业务的方法,第二个是参数列表,用[]括起来,第三个是回调接口,
9. //需要调用的都可以写在这个函数中
10. buffalo.remoteCall("helloService.sayHello", [name.value], function(reply){
11. alert(reply.getResult());
12. });
13. }
14. </script>
<script type="text/javascript" src="js/prototype.js"></script>
<script type="text/javascript" src="js/buffalo.js"></script>
<script type="text/javascript">
var endPoint = "<%=request.getContextPath()%>/bfapp";
var buffalo = new Buffalo(endPoint);
function sayHello(name) {
//第一个参数是调用业务的方法,第二个是参数列表,用[]括起来,第三个是回调接口,
//需要调用的都可以写在这个函数中
buffalo.remoteCall("helloService.sayHello", [name.value], function(reply){
alert(reply.getResult());
});
}
</script>
而在body标签中加入:
请输入你的名字:<input type="text" value="" id="myname"/>
<input type="button" value="Buffalo远程调用" onclick="sayHello($('myname'));"/>
如果在项目中整合了spring,我们可以使用第二种spring配置方式,享受spring的注入:
一、引入spring jar包,并且把上面的说的两个jar包和两个js同样加入。
二、在web.xml中加入spring配置和buffalo的配置,如:
Xml代码
1.<context-param>
2. <param-name>contextConfigLocation</param-name>
3. <param-value>classpath:applicationContext.xml</param-value>
4. </context-param>
5.
6. <listener>
7. <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
8. </listener>
9.
10. <servlet>
11. <servlet-name>bfapp</servlet-name>
12. <servlet-class>net.buffalo.web.servlet.ApplicationServlet</servlet-class>
13. </servlet>
14. <servlet-mapping>
15. <servlet-name>bfapp</servlet-name>
16. <url-pattern>/bfapp/*</url-pattern>
17. </servlet-mapping>
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:applicationContext.xml</param-value>
</context-param>
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
<servlet>
<servlet-name>bfapp</servlet-name>
<servlet-class>net.buffalo.web.servlet.ApplicationServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>bfapp</servlet-name>
<url-pattern>/bfapp/*</url-pattern>
</servlet-mapping>
三、同样书写上面的业务:HelloService.java。这里就不用要那个buffalo-service.properties属性文件了。
这里就可以打开applicationContext.xml配置文件,加入下面的代码:
Xml代码
1.<bean id="helloService" class="com.business.HelloService"></bean>
2.
3. <!-- 这里是Buffalo的业务配置,需要用到的都可以在这里配置 -->
4. <bean id="buffaloServiceBean" class="net.buffalo.service.BuffaloServiceConfigurer">
5. <property name="services">
6. <map>
7. <entry key="helloService" value-ref="helloService"></entry>
8. </map>
9. </property>
10. </bean>
<bean id="helloService" class="com.business.HelloService"></bean>
<!-- 这里是Buffalo的业务配置,需要用到的都可以在这里配置 -->
<bean id="buffaloServiceBean" class="net.buffalo.service.BuffaloServiceConfigurer">
<property name="services">
<map>
<entry key="helloService" value-ref="helloService"></entry>
</map>
</property>
</bean>
顺便把这个日志文件log4j.properties加到src下,如下:
Properties代码
1.log4j.rootLogger=INFO,A1
2.log4j.appender.A1=org.apache.log4j.ConsoleAppender
3.log4j.appender.A1.layout=org.apache.log4j.PatternLayout
4.log4j.appender.A1.layout.ConversionPattern=%d %5p [%t] (%F:%L) - %m%n
log4j.rootLogger=INFO,A1
log4j.appender.A1=org.apache.log4j.ConsoleAppender
log4j.appender.A1.layout=org.apache.log4j.PatternLayout
log4j.appender.A1.layout.ConversionPattern=%d %5p [%t] (%F:%L) - %m%n
四、最后一步是在jsp页面中使用,见上面的第五步(略)。
大功告成,这个Ajax框架还是我国大师开发的,用起来估计是最方便、最简单的一个,非常感谢这位大师,Buffalo,翻译成
中文名字就是“牛、水牛”的意思,Buffalo牛,呵呵。
分享到:
相关推荐
利用Google:maps JSP标签库就能够在你的Web站点上实现GoogleMaps的所有功能而且不需要javascript或AJAX编程。它还能够与JSTL相结合生成数据库驱动的动态Maps。 OAuth 实现框架 Agorava Agorava 是一个实现了 OAuth ...
利用Google:maps JSP标签库就能够在你的Web站点上实现GoogleMaps的所有功能而且不需要javascript或AJAX编程。它还能够与JSTL相结合生成数据库驱动的动态Maps。 OAuth 实现框架 Agorava Agorava 是一个实现了 OAuth ...
利用Google:maps JSP标签库就能够在你的Web站点上实现GoogleMaps的所有功能而且不需要javascript或AJAX编程。它还能够与JSTL相结合生成数据库驱动的动态Maps。 OAuth 实现框架 Agorava Agorava 是一个实现了 OAuth ...
利用Google:maps JSP标签库就能够在你的Web站点上实现GoogleMaps的所有功能而且不需要javascript或AJAX编程。它还能够与JSTL相结合生成数据库驱动的动态Maps。 OAuth 实现框架 Agorava Agorava 是一个实现了 OAuth ...
利用Google:maps JSP标签库就能够在你的Web站点上实现GoogleMaps的所有功能而且不需要javascript或AJAX编程。它还能够与JSTL相结合生成数据库驱动的动态Maps。 OAuth 实现框架 Agorava Agorava 是一个实现了 OAuth ...
利用Google:maps JSP标签库就能够在你的Web站点上实现GoogleMaps的所有功能而且不需要javascript或AJAX编程。它还能够与JSTL相结合生成数据库驱动的动态Maps。 OAuth 实现框架 Agorava Agorava 是一个实现了 OAuth ...
利用Google:maps JSP标签库就能够在你的Web站点上实现GoogleMaps的所有功能而且不需要javascript或AJAX编程。它还能够与JSTL相结合生成数据库驱动的动态Maps。 OAuth 实现框架 Agorava Agorava 是一个实现了 OAuth ...
利用Google:maps JSP标签库就能够在你的Web站点上实现GoogleMaps的所有功能而且不需要javascript或AJAX编程。它还能够与JSTL相结合生成数据库驱动的动态Maps。 OAuth 实现框架 Agorava Agorava 是一个实现了 OAuth ...
利用Google:maps JSP标签库就能够在你的Web站点上实现GoogleMaps的所有功能而且不需要javascript或AJAX编程。它还能够与JSTL相结合生成数据库驱动的动态Maps。 OAuth 实现框架 Agorava Agorava 是一个实现了 OAuth ...
利用Google:maps JSP标签库就能够在你的Web站点上实现GoogleMaps的所有功能而且不需要javascript或AJAX编程。它还能够与JSTL相结合生成数据库驱动的动态Maps。 OAuth 实现框架 Agorava Agorava 是一个实现了 OAuth ...
利用Google:maps JSP标签库就能够在你的Web站点上实现GoogleMaps的所有功能而且不需要javascript或AJAX编程。它还能够与JSTL相结合生成数据库驱动的动态Maps。 OAuth 实现框架 Agorava Agorava 是一个实现了 OAuth ...
利用Google:maps JSP标签库就能够在你的Web站点上实现GoogleMaps的所有功能而且不需要javascript或AJAX编程。它还能够与JSTL相结合生成数据库驱动的动态Maps。 OAuth 实现框架 Agorava Agorava 是一个实现了 OAuth ...
利用Google:maps JSP标签库就能够在你的Web站点上实现GoogleMaps的所有功能而且不需要javascript或AJAX编程。它还能够与JSTL相结合生成数据库驱动的动态Maps。 OAuth 实现框架 Agorava Agorava 是一个实现了 OAuth ...
数字证书:从文件中读取数字证书,生成文件输入流,输入文件为c:/mycert.cer,获取一个处理X.509证书的证书工厂…… Java+ajax写的登录实例 1个目标文件 内容索引:Java源码,初学实例,ajax,登录 一个Java+ajax写的...