环境: jdk1.7 Eclipse tomcat7
架包:dwr.jar log4j.jar commons-logging.jar
1.导入架包
2.配置web.xml
<servlet>
<servlet-name>dwr-invoker</servlet-name>
<servlet-class>
org.directwebremoting.servlet.DwrServlet
</servlet-class>
<!--2.0.3以前版本加这个配置 -->
<init-param>
<param-name>classes</param-name>
<param-value>java.lang.Object</param-value>
</init-param>
<init-param>
<param-name>logLevel</param-name>
<param-value>DEBUG</param-value>
</init-param>
<init-param>
<param-name>config</param-name>
<param-value>/WEB-INF/dwr.xml</param-value>
</init-param>
<!-- 多配置文件起名开头以config-什么什么 -->
<init-param>
<param-name>config-2</param-name>
<param-value>/WEB-INF/dwr2.xml</param-value>
</init-param>
<init-param>
<param-name>debug</param-name>
<param-value>true</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>dwr-invoker</servlet-name>
<url-pattern>/dwr/*</url-pattern>
</servlet-mapping>
3.新建dwr.xml和dwr2.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE dwr PUBLIC "-//GetAhead Limited//DTD Direct Web Remoting 2.0//EN" "http://www.getahead.ltd.uk/dwr//dwr20.dtd">
<dwr>
<allow>
<create javascript="JDate" creator="new" scope="application">
<param name="class" value="java.util.Date"></param>
<include method="toString"/>
</create>
</allow>
</dwr>
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE dwr PUBLIC "-//GetAhead Limited//DTD Direct Web Remoting 2.0//EN" "http://www.getahead.ltd.uk/dwr//dwr20.dtd">
<dwr>
<allow>
<create javascript="getTime" creator="new" scope="application">
<param name="class" value="com.niwh.bean.time"></param>
<include method="getTime"/>
<include method="timebean"/>
</create>
<convert match="com.niwh.bean.timeBean" converter="bean">
<param name="include" value="hourText,secondText,minuteText"/>
</convert>
</allow>
</dwr>
4.java类
package com.niwh.bean;
import java.util.Date;
public class time {
public String getTime(){
return (new Date().toLocaleString());
}
public timeBean timebean(){
timeBean tb = new timeBean();
tb.setHourText("12");
tb.setMinuteText("34");
tb.setSecondText("50");
return tb;
}
}
5.javabean
package com.niwh.bean;
public class timeBean {
private String hourText;
private String minuteText;
private String secondText;
/**
* @return the hourText
*/
public String getHourText() {
return hourText;
}
/**
* @param hourText the hourText to set
*/
public void setHourText(String hourText) {
this.hourText = hourText;
}
/**
* @return the minuteText
*/
public String getMinuteText() {
return minuteText;
}
/**
* @param minuteText the minuteText to set
*/
public void setMinuteText(String minuteText) {
this.minuteText = minuteText;
}
/**
* @return the secondText
*/
public String getSecondText() {
return secondText;
}
/**
* @param secondText the secondText to set
*/
public void setSecondText(String secondText) {
this.secondText = secondText;
}
}
6.jsp页面
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme() + "://"
+ request.getServerName() + ":" + request.getServerPort()
+ path + "/";
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>">
<title>My JSP 'index.jsp' starting page</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
-->
</head>
<script type='text/javascript' src='<%=path%>/dwr/interface/JDate.js'></script>
<script type='text/javascript' src='/DWRWebTest/dwr/interface/getTime.js'></script>
<script type='text/javascript' src='<%=path%>/dwr/engine.js'></script>
<script type='text/javascript' src='<%=path%>/dwr/util.js'></script>
<script type="text/javascript">
function showTime(){
JDate.toString(callbackfun1);
}
callbackfun1=function(toStringReturnTimeString){
//alert("当前的服务器端的时间为:"+toStringReturnTimeString);
document.getElementById("showTimeResult").innerHTML =toStringReturnTimeString;
//$("showTimeResult").innerHTML =toStringReturnTimeString;
}
function showTime2(){
getTime.getTime(callbackfun2);
}
callbackfun2 = function(returnSystemTimeString){
document.getElementById("showTimeResult2").innerHTML = returnSystemTimeString;
}
function showbean(){
getTime.timebean(callbackfun3);
}
callbackfun3 = function(returnBean){
var returnTime = returnBean.hourText+":"+returnBean.minuteText+":"+returnBean.secondText;
document.getElementById("showTimeResult3").innerHTML = returnTime;
}
</script>
<body>
<a href="#" οnclick="javascript:showTime()"> 点击我可以获得当前服务器端的时间 </a>
<div id="showTimeResult">
</div>
<a href="#" οnclick="javascript:showTime2()"> 点击我可以获得time类方法获得的服务器端的时间 </a>
<div id="showTimeResult2">
</div>
<a href="#" οnclick="javascript:showbean()"> 点击我可以获得timebean类方法获得的服务器端的时间 </a>
<div id="showTimeResult3">
</div>
</body>
</html>