<script type="text/javascript"> google_ad_client = "pub-5033576919944123"; google_ad_width = 728; google_ad_height = 90; google_ad_format = "728x90_as"; google_ad_type = "text_image"; //2007-10-24: csdn.blog google_ad_channel = "8548491739"; </script><script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"> </script>
第一步:加包.
第二步:web.xml中加入:
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.4"
xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"><!-- dwr配置 -->
<servlet>
<servlet-name>dwr-invoker</servlet-name>
<servlet-class>
uk.ltd.getahead.dwr.DWRServlet
</servlet-class>
<init-param>
<param-name>debug</param-name>
<param-value>true</param-value>
</init-param>
<init-param>
<param-name>logLevel</param-name>
<param-value>INFO</param-value>
</init-param>
</servlet><servlet-mapping>
<servlet-name>dwr-invoker</servlet-name>
<url-pattern>/dwr/*</url-pattern>
</servlet-mapping>
</web-app>和spring结合请用 <!-- org.directwebremoting.spring.DwrSpringServlet -->
第三步:弄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="TryDwr">
<param name="class" value="wtc.service.TryDwr" />
<include method="helloWorld"/>
<include method="helloWorldHasException"/>
</create>
<convert match="java.lang.Exception" converter="exception"></convert>
</allow>
</dwr>还有其他配置的,这里是最基本的.
wtc.service.TryDwr类中的东西:
package wtc.service;
import java.util.Date;
import javax.servlet.http.HttpServletRequest;
//import org.directwebremoting.WebContext;
//import org.directwebremoting.WebContextFactory;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
public class TryDwr {
private final Logger logger = LoggerFactory.getLogger(TryDwr.class);
public String helloWorld(HttpServletRequest request){
// WebContext ctx = WebContextFactory.get();
// HttpServletRequest request = ctx.getHttpServletRequest();
// org.springframework.web.context.support.WebApplicationContextUtils.getRequiredWebApplicationContext(ctx.getServletConfig().getServletContext()).getBean("beanName");
logger.info("helloWorld at {}", new Date());
logger.info("helloWorld({})", request);
return "helloWorld";
}
public String helloWorldHasException(HttpServletRequest request) throws Exception{
logger.info("helloWorldHasException at {}", new Date());
logger.info("helloWorldHasException({})", request);
throw new Exception("helloWorldHasException");
// return "helloWorldHasException";
}
}
前台的东西:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>tryDwrl.htm</title>
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="this is my page">
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<!--<link rel="stylesheet" type="text/css" href="./styles.css">-->
<script type="text/javascript" src="../dwr/engine.js"></script>
<script type="text/javascript" src="../dwr/util.js"></script>
<script type="text/javascript" src="../dwr/interface/TryDwr.js"></script>
<script type="text/javascript">
function tryDwr(){
TryDwr.helloWorld(tryDwrCallback);
}
function tryDwrCallback(data){
alert("tryDwrCallback");
alert(data);
}
function tryDwrofException(){
TryDwr.helloWorldHasException(tryDwrCallback);
}
</script>
</head>
<body>
This is my HTML page. <br>
<button οnclick="tryDwr();">tryDwr.helloWorld</button>
<button οnclick="tryDwrofException();">tryDwr.helloWorldHasException</button>
</body>
</html>
自己可以将engine.js和util.js放到自己的js目录下.这里util.js其实没用到.
ok,完了,忘了,来这里review.
<script type="text/javascript"> google_ad_client = "pub-5033576919944123"; google_ad_width = 728; google_ad_height = 90; google_ad_format = "728x90_as"; google_ad_type = "text_image"; //2007-10-24: csdn.blog google_ad_channel = "8548491739"; </script><script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"> </script>