dwr的基本使用,异常处理,和spring集成方法(一)

2014-11-24 10:14:23 · 作者: · 浏览: 2

[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

index.html
index.htm
index.jsp
default.html
default.htm
default.jsp





dwr-invoker
org.directwebremoting.servlet.DwrServlet



debug
true




activeReverseAjaxEnabled
true




initApplicationScopeCreatorsAtStartup
true




maxWaitAfterWrite
-1


1



dwr-invoker
/dwr/*



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