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下復(fù)制。
三、修改web.xml,把下面代碼加入:
Xml代碼
- <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>
- <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類,就是我們用來調(diào)用的,我這里命名為:HelloService.java。如下:
Java代碼
- package com.business;
- public class HelloService {
- public String sayHello(String name) {
- return "Hello," + name +",歡迎使用Buffalo!";
- }
- }
- package com.business;
- public class HelloService {
- public String sayHello(String name) {
- return "Hello," + name +",歡迎使用Buffalo!";
- }
- }
在源文件夾src下新建一個屬性文件,命名為:buffalo-service.properties,打開輸入下面:
helloService = com.business.HelloService
這個屬性文件就是我們配置業(yè)務(wù)類的。
五、上面的配置就差不多,下面我們來打開index.jsp頁面,在里面加上:
Js代碼
- <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) {
- //第一個參數(shù)是調(diào)用業(yè)務(wù)的方法,第二個是參數(shù)列表,用[]括起來,第三個是回調(diào)接口,
- //需要調(diào)用的都可以寫在這個函數(shù)中
- buffalo.remoteCall("helloService.sayHello", [name.value], function(reply){
- alert(reply.getResult());
- });
- }
- </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) {
- //第一個參數(shù)是調(diào)用業(yè)務(wù)的方法,第二個是參數(shù)列表,用[]括起來,第三個是回調(diào)接口,
- //需要調(diào)用的都可以寫在這個函數(shù)中
- buffalo.remoteCall("helloService.sayHello", [name.value], function(reply){
- alert(reply.getResult());
- });
- }
- </script>
而在body標(biāo)簽中加入:
請輸入你的名字:
- <input type="text" value="" id="myname"/>
- <input type="button" value="Buffalo遠程調(diào)用" onclick="sayHello($('myname'));"/>
如果在項目中整合了spring,我們可以使用第二種spring配置方式,享受spring的注入:
一、引入spring jar包,并且把上面的說的兩個jar包和兩個js同樣加入。
二、在web.xml中加入spring配置和buffalo的配置,如:
Xml代碼
- <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>
- <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>
三、同樣書寫上面的業(yè)務(wù):HelloService.java。這里就不用要那個buffalo-service.properties屬性文件了。這里就可以打開applicationContext.xml配置文件,加入下面的代碼:
Xml代碼
- <bean id="helloService" class="com.business.HelloService"></bean>
- <!-- 這里是Buffalo的業(yè)務(wù)配置,需要用到的都可以在這里配置 -->
- <bean id="buffaloServiceBean" class="net.buffalo.service.BuffaloServiceConfigurer">
- <property name="services">
- <map>
- <entry key="helloService" value-ref="helloService"></entry>
- </map>
- </property>
- </bean>
- <bean id="helloService" class="com.business.HelloService"></bean>
- <!-- 這里是Buffalo的業(yè)務(wù)配置,需要用到的都可以在這里配置 -->
- <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代碼
- 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
- 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框架還是我國大師開發(fā)的,用起來估計是最方便、最簡單的一個,非常感謝這位大師,Buffalo AJAX,翻譯成中文名字就是“牛、水?!钡囊馑迹珺uffalo AJAX牛,呵呵。
【編輯推薦】