[java] view plaincopyprint
以前oracle的ilearning是使用applet实现SCORM,我们系统主要使用了ajax方法,需要使用dwr:
dwr基本示例:
需要使用dwr-2.0.8.jar和commons-logging-1.1.1.jar两个包
新建一个web工程
新建java类:
[java
package com.lai.sutdy.dwr;
import java.io.IOException;
import javax.servlet.ServletException;
import org.directwebremoting.WebContext;
import org.directwebremoting.WebContextFactory;
/**
* Some simple text demos
* @author Joe Walker [joe at getahead dot ltd dot uk]
*/
public class Demo
{
/**
* Return a server side string to display on the client in real time
* @param name The name of person to say hello to
* @return A demo string
* @throws Exception
*/
public String sayHello(String name) throws SessionTimeOutException,Exception
{
/* System.out.println("342455=");
正常处理
Integer value = Integer.valueOf(name);
return "Hello4, " + value.toString(); */
/*
* 代码异常
Integer value = null;
System.out.println("rs2="+value.intValue());
int id = value.intValue()+100;
return "Hello2223, " + id; */
//手动指定抛出异常
throw new SessionTimeOutException("超时错误..");
}
}
web.xml配置:
[html]
< xml version="1.0" encoding="UTF-8" >
dwr.xml配置和web.xml同一个目录下:
[html]
< xml version="1.0" encoding="UTF-8" >
jsp页面:
[html]
<script type='text/java script' src='/dwrStudy/dwr/engine.js'>
<script type='text/java script' src='/dwrStudy/dwr/util.js'>
<script type='text/java script' src='/dwrStudy/dwr/interface/Demo.js'>
<script type="text/java script">
//下面为同一异常提示处理
DWREngine.setErrorHandler(dispatchErr);
function dispatchErr( msg , ex )
{
if(msg!=""){
alert("info="+ msg );
}else{
alert("空指针错误");
}
}
function update() {
var name = dwr.util.getValue("demoName");
Demo.sayHello(name,{
callback:getData
/* 这里为另外一种异常处理方法
,errorHandler:errorHandler,
exceptionHandler:exceptionHandler
function(errorString,exception) {
alert('error:'+errorString);
},
exceptionHandler:function(errorString,exception) {
alert('exception:'+errorString + ":" + exception.message);
}*/
});
}
function getData(data){
dwr.util.setValue("demoReply", data);
}
function errorHandler(errorString, exception){
//alert("lai e