现在的位置: 首页 > 综合 > 正文

DWR入门常见问题方案

2012年06月06日 ⁄ 综合 ⁄ 共 1106字 ⁄ 字号 评论关闭

  

  上篇博客介绍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跟踪调试一下。


     

 

抱歉!评论已关闭.