零全零美(www.zzgwt.com)
          生活中的很多事情,并不像If...Else那么簡單!
          posts - 96,comments - 52,trackbacks - 0
              按照文檔的說明,自己寫了一個簡單的demo(簡直就是照抄,嘿嘿),但是,就這樣也會出毛病,我真暈啊!
          第一步:引入:dwr.jar
          第二步:在dwr-2.0.3-src\web\WEB-INF\classes\org\directwebremoting目錄下找到engine.js和util.js,并引入
          第三步:在web.xml中注冊servlet如下:
           1     <servlet>
           2         <servlet-name>dwr-invoker</servlet-name>
           3         <servlet-class>org.directwebremoting.servlet.DwrServlet</servlet-class>
           4         <init-param>
           5             <param-name>debug</param-name>
           6             <param-value>true</param-value>
           7         </init-param>
          12      </servlet>
          13         
          14         <servlet-mapping>
          15             <servlet-name>dwr-invoker</servlet-name>
          16             <url-pattern>/dwr/*</url-pattern>
          17         </servlet-mapping>
          第四步:在WEB-INFO下建立dwr.xml,內容如下:
          <?xml version="1.0" encoding="UTF-8"?>
          <!DOCTYPE dwr PUBLIC "-//GetAhead Limited//DTD Direct Web Remoting 2.0//EN" "http://www.getahead.ltd.uk/dwr/dwr20.dtd">
          <dwr>
              
          <allow>
                  
          <create creator="new" javascript="helloWord">
                      
          <param name="class" value="on08_04_19.HelloWord" />
                  
          </create>
              
          </allow>
          </dwr>
          第五步:在package:on08_04_19下編寫HelloWord.java,代碼如下:
          package on08_04_19;

          public class HelloWord {

              
          public String sayHello(String name){
                  
          return "Hello "+name;
              }
          }
          按照文檔所說的方法測試,通過
          第六步:編寫JSP代碼如下:
             <script type="text/javascript" src="<%=request.getContextPath() %>/js/engine.js"></script>
              
          <script type="text/javascript" src="<%=request.getContextPath() %>/js/util.js"></script>
              
          <script type="text/javascript" src="<%=request.getContextPath() %>/dwr/interface/helloWord.js"></script>
              
          <script type="text/javascript">
                
          function firstDwr(){
                  helloWord.sayHello(
          "楊凱",callBackMethod);
                }
                
                
          function callBackMethod(data){
                  alert(data);
                }
              
          </script>
            
          </head>
            
            
          <body>
              
          <form action="">
                
          <input type="button" value="歡迎" onclick="firstDwr()">
              
          </form>
            
          </body>

          第一遍完整測試,發現點擊按鈕之后無反應,但是后臺卻打印
          A request has been denied as a potential CSRF attack
          無奈GOOGLE了半天,得到法子修改web.xml如下:
              
              
          <servlet>
                  
          <servlet-name>dwr-invoker</servlet-name>
                  
          <servlet-class>org.directwebremoting.servlet.DwrServlet</servlet-class>
                  
          <init-param>
                      
          <param-name>debug</param-name>
                      
          <param-value>true</param-value>
                  
          </init-param>
                  
          <init-param>  
                     <!--
          加入了跨域調用功能  -->
                      
          <param-name>crossDomainSessionSecurity</param-name>   
                      
          <param-value>false</param-value>   
              
          </init-param>  
              
          </servlet>
                  
                  
          <servlet-mapping>
                      
          <servlet-name>dwr-invoker</servlet-name>
                      
          <url-pattern>/dwr/*</url-pattern>
                  
          </servlet-mapping>
          然后繼續測試,后臺打印 Exec: helloWord.sayHello(),說明后臺方法已經被調用,,但是Firefox下依然無反應,在IE下卻出現JS錯誤:
           例外被拋出且未被接住
          超暈,無奈繼續GOOGLE,有文章竟然說官方的JAR包有BUG,讓換成他的包,我暈,真是牛人,更牛的是換成他的包之后,還真是正常了,我靠!

          牛人全文:http://yahaitt.javaeye.com/blog/147795
          posted on 2008-04-19 20:06 零全零美 閱讀(431) 評論(0)  編輯  收藏

          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          主站蜘蛛池模板: 瑞安市| 太仓市| 宁阳县| 丰宁| 当阳市| 平果县| 兰州市| 邮箱| 堆龙德庆县| 茌平县| 新建县| 绥棱县| 靖宇县| 留坝县| 将乐县| 吉木乃县| 云浮市| 图们市| 台东县| 上高县| 同仁县| 茌平县| 延庆县| 贵阳市| 新闻| 万盛区| 邯郸市| 南京市| 县级市| 积石山| 襄垣县| 鄂伦春自治旗| 历史| 孝义市| 曲阳县| 喀什市| 上思县| 东平县| 陈巴尔虎旗| 清徐县| 南木林县|