论坛首页 入门技术论坛

Dwr初探——HelloDwr

浏览 1139 次
该帖已经被评为新手帖
作者 正文
   发表时间:2008-08-11  

Dwr用了也有一段时间啦,不过觉得用的东西都很肤浅,这段时间不太忙,觉得有必要对Dwr进行深入的了解。
  下面就是Dwr最简单的一个例子。Hello Dwr
  使用Dwr时,要确保您的Lib下已经存在Dwr的Jar文件。然后配置Web.xml文件,具体配置如下:
<web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee"
 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
 http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
 <servlet>
  <servlet-name>dwr-invoker</servlet-name>
  <servlet-class>
   org.directwebremoting.servlet.DwrServlet
  </servlet-class>
 </servlet>
 <servlet-mapping>
  <servlet-name>dwr-invoker</servlet-name>
  <url-pattern>/dwr/*</url-pattern>
 </servlet-mapping>
</web-app>
其中Dwr对应的Servlet类只用记得类所在的包名,就可以在dwr.jar文件中打到具体的类名。
  然后建立Dwr的配置文件(dwr.xml),路径与您的web.xml在同一目录下。具体的dwr.xml文件的配置如下:
<!DOCTYPE dwr PUBLIC
    "-//GetAhead Limited//DTD Direct Web Remoting 2.0//EN"
    "http://getahead.org/dwr/dwr20.dtd">
<dwr>
 <allow>
  <create javascript="hello" creator="new">
   <param name="class" value="com.jack.dwr.simple.HelloDwr"></param>
  </create>
 </allow>
</dwr>
  其中javascript="hello"是在页面中要使用的具体的名字,<param>是要对应到的类名。
  要页面中使用Dwr即可以是HTML页面也可以JSP页面,下面是在JSP页面中如何使用Dwr框架:
<%@ page language="java" pageEncoding="GBK"%>
<%
 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>Hello dwr</title>
    <script type="text/javascript" src="<%=path%>/dwr/engine.js"></script>
    <script type="text/javascript" src="<%=path%>/dwr/util.js"></script>
    <script type="text/javascript" src="<%=path%>/dwr/interface/hello.js"></script>
    <script type="text/javascript">
 function sayHello(){
  person = document.getElementById("userName").value;
  hello.sayHello(person,callBackHello);
 }
 function callBackHello(result){
      dwr.util.setValue("userName",result);
 }
     </script>
 </head>
  <body>
   <input type="text" id="userName">
   <input type="button" value="sayHello" onclick="sayHello();">
  </body>
</html>

论坛首页 入门技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics