2012-07-10 4 views
1

dwr을 사용하여 정보를 보내고 받고 있지만 다음과 같은 오류가 발생합니다. 나는 다음과 같은 예외가 얻을dwr 서비스 클래스가 정의되지 않았습니다.

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

: 내가 파일 확인하기 위해 다음 줄을 사용하려고

service(DwrSampleTest) is not defined 

<?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> 
: 여기 Access to debug pages is denied.

내의 dwr.xml입니다

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

변경의 dwr.xml 파일의 항목은 자바 스크립트 클래스 이름을 호출하는 것보다 자바 Class 이름을 불렀다

<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 . 

을 다음과 같이.

는 얻을 디버그는

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

변화를 참 PARAM 값을 수 있었다.

관련 문제