天天看點

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>

    點選頁面上的按鈕,就可以調用在不重新整理頁面的前提下調用伺服器定義的方法了。   大家可以自己試一下,看看效果,這這是一個小例子,相信聰明的同行肯定能舉一反三的。