2012-07-10 62 views
1

我正在使用dwr發送並獲取一些信息,但出現以下錯誤。未定義dwr服務類

service(DwrSampleTest) is not defined 

當我試圖使用下面的行看到文件:

http://localhost:8080/Servlets-DWR/dwr/index.html 

我得到以下異常:Access to debug pages is denied.

這裏是我的dwr.xml:

<?xml version="1.0" encoding="UTF-8"?> 
<!DOCTYPE dwr PUBLIC 
"-//GetAhead Limited//DTD Direct Web Remoting 2.0//EN" 
"http://getahead.org/dwr/dwr20.dtd"> 
<dwr> 
    <allow> 
      <create creator="new" javascript="Dwrsample"> 
      <param name="class" value="com.dwrsample.servlet.DwrSampleTest"/> 
     </create> 
    </allow> 
</dwr> 

web.xml:

<servlet> 
     <servlet-name>dwr-invoker</servlet-name> 
     <servlet-class>org.directwebremoting.servlet.DwrServlet</servlet-class> 
     <init-param> 
      <param-name>crossDomainSessionSecurity</param-name> 
      <param-value>false</param-value> 
     </init-param> 
     <init-param> 
      <param-name>debug</param-name> 
      <param-value>false</param-value> 
     </init-param> 
    </servlet> 
    <servlet> 
     <servlet-name>DwrsampleServlet</servlet-name> 
     <servlet-class>com.dwrsample.servlet.DwrsampleServlet</servlet-class> 
    </servlet> 
    <servlet-mapping> 
     <servlet-name>dwr-invoker</servlet-name> 
     <url-pattern>/dwr/*</url-pattern> 
    </servlet-mapping> 

,並在那裏我調用方法的文件:

<%@page contentType="text/html" pageEncoding="UTF-8"%> 
<!DOCTYPE html> 
<html> 
    <head> 
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> 
     <title>DWR Sample</title> 
     <script src='dwr/dwr/engine.js'></script> 
     <script src='dwr/dwr/util.js'></script> 
     <script src='dwr/dwr/interface/DwrSampleTest.js'></script> 

     <script> 
      function getName() { 
       DwrSampleTest.getName({callback:setName,async:false}); 
      } 
      function setName(strName) { 
       document.getElementById("enterdwr").value = ""; 
       document.getElementById("enterdwr").value = strName; 
      } 
     </script> 
    </head> 
    <body> 
     <h1>DWR Sample Test!</h1> 

     <form method="post" name="dwrsample" id="dwrsample"> 
      <table> 
       <tr class="lightrow"> 
        <td width="1%">*</td> 
        <td width="39%">Eenter DWR</td> 
        <td width="60%"><input name="enterdwr" id="password" type="text" onblur="getName()"/></td> 
       </tr> 
       <tr class="lightrow"> 
        <td width="1%">*</td> 
        <td width="39%">DWR Result</td> 
        <td width="60%"><input name="resultdwr" id="password" type="text" /></td> 
       </tr> 
      </table> 
     </form> 
    </body> 
</html> 

請幫我解決這個問題。

回答

2

變化如下

<create creator="new" javascript="DwrSampleTest"> 
     <param name="class" value="com.dwrsample.servlet.DwrSampleTest"/> 
    </create> 

Javascript ="DwrSampleTest" must match with the service name that you call in jsp page . 

你叫javaclass名稱不是調用JavaScript類名稱的dwr.xml文件中的條目。

,並獲得調試啓用

<init-param> 
      <param-name>debug</param-name> 
      <param-value>true</param-value> 
     </init-param> 

變化的參數值的方式實現。