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," + name +",欢迎使用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", [name.value], 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牛,呵呵。

    • 0
      点赞
    • 0
      收藏
      觉得还不错? 一键收藏
    • 0
      评论

    “相关推荐”对你有帮助么?

    • 非常没帮助
    • 没帮助
    • 一般
    • 有帮助
    • 非常有帮助
    提交
    评论
    添加红包

    请填写红包祝福语或标题

    红包个数最小为10个

    红包金额最低5元

    当前余额3.43前往充值 >
    需支付:10.00
    成就一亿技术人!
    领取后你会自动成为博主和红包主的粉丝 规则
    hope_wisdom
    发出的红包
    实付
    使用余额支付
    点击重新获取
    扫码支付
    钱包余额 0

    抵扣说明:

    1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
    2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

    余额充值