天天看点

DWR学习之------>DWR详细配置

闲来无事,感觉好久没用DWR了,很多配置都忘记了,所以特地做了一个实例程序,温习一下。下面介绍一些具体的做法。

      首先DWR的jar包 dwr.jar文件放到你的工程中。DWR的使用非常简单,只要加入jar包,简单配置就可以使用了。

     然后在web.xml中添加如下一段

<!-- DWRServlet -->

  <servlet>

      < servlet-name>dwrService</servlet-name>

      <!--这里配置的是要发布的类的完整路径-->

      <servlet-class>org.directwebremoting.servlet.DwrServlet</servlet-class> 

      <init-param>

          < param-name>debug</param-name>

          < param-value>true</param-value>

      </init-param>

  < /servlet>

  <servlet-mapping>

      < url-pattern>/dwr/*</url-pattern>

  < /servlet-mapping>

</web-app>

   dwr.xml配置如下:

<?xml version="1.0" encoding="UTF-8"?>

  < dwr>

       <allow>

       <create creator="new"  javascript="service">

        <param name="class"  value="dwr.DWRService" />

        <!--  <include  method="sayHello"/>

        <include  method="compare"/>-->    <!--注:include用来注明该类中要发布的方法-->

        </create>

    </allow>

   </dwr>

  DwrServlet类的定义代码如下:

package dwr;

public class DWRService {

    public String sayHello(String  name){

        return "Hello World,"+name;

    }

    public int  compare(int a , int b){

        if(a>b) return a;

        else return  b;

}

   接下来就是如何使用发布的DWR方法了。

   我们在测试页面, index.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">

    -->

     <!--这个js文件是DWR自带的,使用DWR框架必须引入这个js文件-->

    <script  type='text/javascript'  src='/dwr1/dwr/interface/service.js'></script>

      <script type='text/javascript'  src='/dwr1/dwr/engine.js'></script>

      <script  type="text/javascript">

          function checkInvoke(){

               service.sayHello("jony",callback);

          }

          function  callback(data){

              alert(data);

      < /script>

  </head>

  <body>

    This is my JSP page. < br>

    <input type="button" value="调用服务器方法打招呼" onclick="checkInvoke()"/>

  </body>

</html>

    点击页面上的按钮,就可以调用在不刷新页面的前提下调用服务器定义的方法了。   大家可以自己试一下,看看效果,这这是一个小例子,相信聪明的同行肯定能举一反三的。