零全零美(www.zzgwt.com)
          生活中的很多事情,并不像If...Else那么簡(jiǎn)單!
          posts - 96,comments - 52,trackbacks - 0
              按照文檔的說(shuō)明,自己寫(xiě)了一個(gè)簡(jiǎn)單的demo(簡(jiǎn)直就是照抄,嘿嘿),但是,就這樣也會(huì)出毛病,我真暈啊!
          第一步:引入:dwr.jar
          第二步:在dwr-2.0.3-src\web\WEB-INF\classes\org\directwebremoting目錄下找到engine.js和util.js,并引入
          第三步:在web.xml中注冊(cè)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,內(nèi)容如下:
          <?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下編寫(xiě)HelloWord.java,代碼如下:
          package on08_04_19;

          public class HelloWord {

              
          public String sayHello(String name){
                  
          return "Hello "+name;
              }
          }
          按照文檔所說(shuō)的方法測(cè)試,通過(guò)
          第六步:編寫(xiě)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>

          第一遍完整測(cè)試,發(fā)現(xiàn)點(diǎn)擊按鈕之后無(wú)反應(yīng),但是后臺(tái)卻打印
          A request has been denied as a potential CSRF attack
          無(wú)奈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>  
                     <!--
          加入了跨域調(diào)用功能  -->
                      
          <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>
          然后繼續(xù)測(cè)試,后臺(tái)打印 Exec: helloWord.sayHello(),說(shuō)明后臺(tái)方法已經(jīng)被調(diào)用,,但是Firefox下依然無(wú)反應(yīng),在IE下卻出現(xiàn)JS錯(cuò)誤:
           例外被拋出且未被接住
          超暈,無(wú)奈繼續(xù)GOOGLE,有文章竟然說(shuō)官方的JAR包有BUG,讓換成他的包,我暈,真是牛人,更牛的是換成他的包之后,還真是正常了,我靠!

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

          只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。


          網(wǎng)站導(dǎo)航:
           
          主站蜘蛛池模板: 洛扎县| 洞口县| 金湖县| 宕昌县| 大洼县| 兴仁县| 沅陵县| 太仆寺旗| 澄城县| 杭州市| 扎兰屯市| 留坝县| 东阳市| 成都市| 虹口区| 汝南县| 石阡县| 彩票| 胶南市| 赫章县| 三穗县| 张家界市| 忻城县| 加查县| 北海市| 政和县| 永安市| 浑源县| 牟定县| 金堂县| 邹城市| 南丹县| 虹口区| 大埔区| 黄平县| 滦南县| 沂水县| 历史| 海门市| 林芝县| 永登县|