2012-07-10 65 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> 

变化的参数值的方式实现。