lbom

          小江西

            BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理 ::
            18 隨筆 :: 21 文章 :: 69 評論 :: 0 Trackbacks
                  在一周前,項目組碰到一個大問題:NTKO Office Activex控件在上傳文件及提交頁面信息時,其提交的頁面元素輸入中文值變成了無法識別的、也不屬于已知編碼中的任何一種編碼格式的亂碼;但在NTKO Office Activex控件包裝項目組提供的的測試項目中,此問題并未出現,因此判斷是項目兼容性所導致。
                 在項目組功能開發員和控件包裝組成員進行近一周的努力后,也未解決此問題。最后,此問題交由我來做最后分析和處理。
                 經過三天時間對問題項目的分拆、組裝、分析、測試后,終于找到問題所出,現將此過程進行記錄,以備參考:
                  1)以控件包裝組測試項目為基準,建立項目級測試項目,并保證在此測試項目中不存在兼容性問題;
                  2)檢測web.xml:將問題項目的web.xml代替測試項目中的web.xml,未出現兼容性問題,從而排除因web.xml的差異而導致的兼容性;
                  3)測試問題項目中的項目依賴:將問題項目的項目依賴關系復制至測試項目中,發現兼容性問題未出現,從而排除項目依賴導致的兼容性;
                  4)檢測支持包:將問題項目中的支持包(各jar)代替測試項目中的支持包,未出現兼容性問題,從而排除因支持包的差異導致的兼容性,也就排除了各servers,servlet,listener等導致的兼容性問題;
                  5)檢測js支撐:將問題項目中的所有相關js文件取出,代替測試項目中的相關js文件,未出現兼容性問題,從而排除因js支持文件的差異導致的兼容性;
                  6)檢測css支撐:將問題項目中的所有相關css文件取出,代替測試項目中的相關js文件,未出現兼容性問題,從而排除因css支持文件的差異導致的兼容性;
                  7)檢測tld,xml文件:將問題項目中的tld,xml文件取出,代替測試項目中的tld,xml文件,未出現兼容性問題,從而排除因tld,xml的差異導致的兼容性;
                  8)至此,正常解決的兼容性措施都已用完,還是未找到問題所出!如何辦?
                  9)開始使用非正常手段進行排查:
                      <1>對比檢查.project和.classes未發現異常,從而排除基本項目配置導致的兼容性;
                      <2>將問題項目的web項目設置文件(.settings)代替測試項目的web項目設置文件(.settings),問題出現了!繼續排隊分析,發現問題出現在文件org.eclipse.wst.common.component中,
          問題項目的設置為:
                                              <?xml version="1.0" encoding="UTF-8"?>
                                              <project-modules id="moduleCoreId" project-version="1.5.0">
                                                 <wb-module deploy-name="XXX_IC">
                                                 <wb-resource deploy-path="/" source-path="/web"/>
                                                 <wb-resource deploy-path="/WEB-INF/classes" source-path="/src"/>
                                                 <wb-resource deploy-path="/WEB-INF/classes" source-path="/test"/>
                                                 <property name="java-output-path" value="build/classes"/>
                                                 <property name="context-root" value="XXX_IC"/>
                                             </wb-module>
                                             </project-modules>
          測試項目設置為:
                                              <?xml version="1.0" encoding="UTF-8"?>
                                              <project-modules id="moduleCoreId" project-version="1.5.0">
                                                 <wb-module deploy-name="test">
                                                 <wb-resource deploy-path="/" source-path="/web"/>
                                                 <wb-resource deploy-path="/WEB-INF/classes" source-path="/src"/>
                                                 <wb-resource deploy-path="/WEB-INF/classes" source-path="/test"/>
                                                 <property name="java-output-path" value="build/classes"/>
                                                 <property name="context-root" value="test"/>
                                             </wb-module>
                                             </project-modules>
          且無論如何修改"XXX_IC",都會導致兼容性出現,最后沒辦法,將下劃線"_"去掉,奇跡出現了。
                  原來NTKO Office Activex控件在提交數據時,是通過scoket模擬Http進行文件和頁面元素的提供,如提交的頁URL完整路徑中包含了"_"等字符時,將導致無法識別,從而導致兼容性的產生。
          posted on 2009-05-15 22:13 lbom 閱讀(1511) 評論(2)  編輯  收藏

          評論

          # re: Web項目兼容性問題調試與分析之道 2009-05-16 23:18 jinfeng_wang
          原來NTKO Office Activex控件在提交數據時,是通過scoket模擬Http進行文件和頁面元素的提供,如提交的頁URL完整路徑中包含了"_"等字符時,將導致無法識別,從而導致兼容性的產生。

          ====
          why? 你是說這個Activex的bug?  回復  更多評論
            

          # re: Web項目兼容性問題調試與分析之道 2009-05-18 09:44 lbom
          @jinfeng_wang
          難道說這是應用系統的Bug嗎?是不是還有其它的原因呢?如果有,請指教!謝謝  回復  更多評論
            


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


          網站導航:
           
          主站蜘蛛池模板: 衡水市| 定边县| 忻州市| 南华县| 楚雄市| 平阳县| 五华县| 姜堰市| 崇左市| 商水县| 日喀则市| 兴安盟| 阿鲁科尔沁旗| 乌兰县| 博客| 库尔勒市| 雅江县| 阿图什市| 四川省| 九江县| 吴江市| 报价| 常宁市| 新乡市| 鸡东县| 商洛市| 凤阳县| 景宁| 扬中市| 田东县| 常州市| 商城县| 城步| 忻州市| 景德镇市| 津市市| 绥江县| 吉木乃县| 酉阳| 嵊州市| 西城区|