1、首先下载dwr.jar,import到工程中
2、在web.xml加上
<web-app id="dwr">
<servlet>
<servlet-name>dwr-invoker</servlet-name>
<servlet-class>uk.ltd.getahead.dwr.DWRServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>dwr-invoker</servlet-name>
<url-pattern>/dwr/*</url-pattern>
</servlet-mapping>
</web-app>
3、创建dwr.xml,与web.xml目录同级
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE dwr PUBLIC "-//GetAhead Limited//DTD Direct Web Remoting 1.0//EN" "http://www.getahead.ltd.uk/dwr/dwr10.dtd">
<dwr>
<allow>
<create creator="new" javascript="MyTest" scope="application">
<param name="class" value="com.back.java.DWRTest"/>
</create>
</allow>
</dwr>
4、创建com.back.java.DWRTest这个java类
public class DWRTest {
public DWRTest(){
}
@SuppressWarnings("unchecked")
public List<String> getStrings(){
List<String> strings = new ArrayList();
strings.add("zengzhi");
strings.add("fanglin");
strings.add("degui");
return strings;
}
}
5、页面调用
var mycall=function callBack(data){
alert(data);
}
function showMyName(){
MyTest.getStrings(mycall);
}
完成。
其实主要是dwr.jar的uk.ltd.getahead.dwr.DWRServlet这个servlet.
把js的请求转化为servlet请求,使得js可以直接调用后台java方法。
类似的framwork很多,最近关注
BlazeDS,一个把flex和java结合的框架,很酷。