Jboss遷移到Tomcat之手記(四)-DWR

JBoss上用的是DWR 2.0, lib裏有dwr20.tld, dwr-2.0.1.jar,轉到Tomcat 7後,老是在DWR調用處出現session error,沒法成功。我初步猜想是否是DWR跟這麼新的Tomcat不兼容,因此就升到DWR 3.0(dwr3.0.jar),結果DWR調用處出現CSRF Security Error,網上一查,才知道是跨域安全驗證錯誤,在DWR文檔網站(http://directwebremoting.org/dwr/documentation/server/configuration/servlet/index.html )上看到是兩個參數配置做祟。在web.xml裏的DWR servlet配置里加上初始化參數以下
<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>allowScriptTagRemoting</param-name>
            <param-value>true</param-value>
      </init-param>
</servlet>
問題解決。回到 dwr2.0 也沒問題。不過在升到 DWR3.0 時發現一個有趣的東西。就是 DWR 2.0 javascript 對象 DWREngine 再也不被 3.0 支持,變成 dwr.engine 。而 dwr.engine 也被 DWR 2.0 支持。因此爲了兼容考慮,之後仍是用dwr.engine還調用吧。
相關文章
相關標籤/搜索