DWR入门常见问题方案

  


  上篇博客介绍dwr的demo,从demo可以基本学习到如何使用dwr,其实普通使用dwr,很方便,很简单。

  在测试上篇博客时,仅仅几行代码出现的问题如下:
    Access to debug pages is denied. 
  解决方案:
  在web.xml中配置dwr时,需要配置debug参数,debug参数为true,如下:
  
< servlet>

    <servlet-name >dwr</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>

    <servlet-name >dwr</servlet-name>

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

  </ servlet-mapping>

  
   在运行jsp测试时:

  dwr: A request has been denied as a potential CSRF attack.
   解决方案如下:在web.xml中配置dwr时,添加初始化参数:
 
<init-param >      

           <param-name >crossDomainSessionSecurity </param-name >      

           <param-value >false </param-value >      

 </init-param >

 
  另外需要注意点:jsp引入的js文件,为了确保引入js的路径正确,可以通过运行:
http://localhost:8088/项目名称/web.xml中配置的名称,比如,在上面xml中,我配置dwr,/dwr/*,这种形式访问时,就会使用dwr方式,则通过:
http://localhost:8088/testDwr/dwr/  可以查看js文件路径。

  另外一个问题时,dwr中声明暴露的方法中,不要使用重载方式,js不能区分重载。
  比如:类中的方法如下:
  public String sayHello(String name);
  public String sayHello();
  即使jsp页面中调用sayHello传入参数,后台却调用第二个方法无参的。
  大家有兴趣可以测试,并且可以通过js跟踪调试一下。


     

 

你可能感兴趣的:(常见问题)