Buffalo AJAX的两种配置方式

buffalo AJAX的两种配置方式


第一种:buffalo AJAX属性配置方式

一、新建一个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>
  9. <servlet>
  10. <servlet-name>bfapp</servlet-name>
  11. <servlet-class>net.buffalo.web.servlet.ApplicationServlet</servlet-class>
  12. </servlet>
  13. <servlet-mapping>
  14. <servlet-name>bfapp</servlet-name>
  15. <url-pattern>/bfapp/*</url-pattern>
  16. </servlet-mapping>

四、新建一个java类,就是我们用来调用的,我这里命名为:HelloService.java。如下:

Java代码

   
   
  1. package com.business;
  2. public class HelloService {
  3. public String sayHello(String name) {
  4. return "Hello," + name +",欢迎使用buffalo!";
  5. }
  6. }
  7. package com.business;
  8. public class HelloService {
  9. public String sayHello(String name) {
  10. return "Hello,欢迎使用buffalo!";
  11. }
  12. }

在源文件夹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. function sayHello(name) {
  7. //第一个参数是调用业务的方法,第二个是参数列表,用[]括起来,第三个是回调接口,
  8. //需要调用的都可以写在这函数
  9. buffalo.remoteCall("helloService.sayHello",[name.value],function(reply){
  10. alert(reply.getResult());
  11. });
  12. }
  13. </script>
  14. <script type="text/javascript" src="js/prototype.js"></script>
  15. <script type="text/javascript" src="js/buffalo.js"></script>
  16. <script type="text/javascript">
  17. var endPoint = "<%=request.getcontextpath()%>/bfapp";
  18. var buffalo = new buffalo(endPoint);
  19. function sayHello(name) {
  20. //第一个参数是调用业务的方法,第二个是参数列表,用[]括起来,第三个是回调接口,
  21. //需要调用的都可以写在这函数
  22. buffalo.remoteCall("helloService.sayHello",function(reply){
  23. alert(reply.getResult());
  24. });
  25. }
  26. </script>

而在body标签中加入:

请输入你的名字:

   
   
  1. <input type="text" value="" id="myname"/>&nbsp;&nbsp;
  2. <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. <listener>
  6. <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
  7. </listener>
  8. <servlet>
  9. <servlet-name>bfapp</servlet-name>
  10. <servlet-class>net.buffalo.web.servlet.ApplicationServlet</servlet-class>
  11. </servlet>
  12. <servlet-mapping>
  13. <servlet-name>bfapp</servlet-name>
  14. <url-pattern>/bfapp/*</url-pattern>
  15. </servlet-mapping>
  16. <context-param>
  17. <param-name>contextConfigLocation</param-name>
  18. <param-value>classpath:applicationContext.xml</param-value>
  19. </context-param>
  20. <listener>
  21. <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
  22. </listener>
  23. <servlet>
  24. <servlet-name>bfapp</servlet-name>
  25. <servlet-class>net.buffalo.web.servlet.ApplicationServlet</servlet-class>
  26. </servlet>
  27. <servlet-mapping>
  28. <servlet-name>bfapp</servlet-name>
  29. <url-pattern>/bfapp/*</url-pattern>
  30. </servlet-mapping>

三、同样书写上面的业务:HelloService.java。这里就不用要那个buffalo-service.properties属性文件了。这里就可以打开applicationContext.xml配置文件,加入下面的代码

Xml代码

   
   
  1. <bean id="helloService" class="com.business.HelloService"></bean>
  2. <!-- 这里是buffalo的业务配置,需要用到的都可以在这里配置 -->
  3. <bean id="buffaloServiceBean" class="net.buffalo.service.buffaloServiceConfigurer">
  4. <property name="services">
  5. <map>
  6. <entry key="helloService" value-ref="helloService"></entry>
  7. </map>
  8. </property>
  9. </bean>
  10. <bean id="helloService" class="com.business.HelloService"></bean>
  11. <!-- 这里是buffalo的业务配置,需要用到的都可以在这里配置 -->
  12. <bean id="buffaloServiceBean" class="net.buffalo.service.buffaloServiceConfigurer">
  13. <property name="services">
  14. <map>
  15. <entry key="helloService" value-ref="helloService"></entry>
  16. </map>
  17. </property>
  18. </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
  5. log4j.rootLogger=INFO,A1
  6. log4j.appender.A1=org.apache.log4j.ConsoleAppender
  7. log4j.appender.A1.layout=org.apache.log4j.PatternLayout
  8. log4j.appender.A1.layout.ConversionPattern=%d %5p [%t] (%F:%L) - %m%n

四、最后一步是在jsp页面中使用,见上面的第五步(略)。

大功告成,这个AJAX框架还是我国大师开发的,用起来估计是最方便、最简单的一个,非常感谢这位大师,buffalo AJAX,翻译成中文名字就是“牛、水牛”的意思,buffalo AJAX牛,呵呵。

相关文章

IE6是一个非常老旧的网页浏览器,虽然现在很少人再使用它,但...
PHP中的count()函数是用来计算数组或容器中元素的个数。这个...
使用 AJAX(Asynchronous JavaScript and XML)技术可以在不...
Ajax(Asynchronous JavaScript and XML)是一种用于改进网页...
本文将介绍如何通过AJAX下载Excel文件流。通过AJAX,我们可以...
Ajax是一种用于客户端和服务器之间的异步通信技术。通过Ajax...