<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    Dev Zone
    偏執(zhí)狂才能生存,人生/事業(yè)的路上需要再堅(jiān)持一下
    但是又怎么說得清堅(jiān)持的結(jié)果,道得盡堅(jiān)持的含義

    2006年2月20日

         發(fā)現(xiàn)一個(gè)問題,使用struts進(jìn)行文件上傳,如果有些參數(shù)沒有完全定義在ActionForm中,需要從request.getParameter獲取,在表單提交并且validate失敗返回input頁面時(shí),這部分需要從request.getPrameter獲取的參數(shù)數(shù)據(jù)都丟失了,即使再對request進(jìn)行multipart解析也不能得到。

         經(jīng)過分析,發(fā)現(xiàn)struts的ActionServlet在接收到multipart請求之后,在RequestProcessor中會(huì)對request進(jìn)行封裝:MultiRequestWrapper,然后在Action執(zhí)行完之后,又將已經(jīng)封裝的request重新還原。以下是部分代碼,截直RequestProcessor:

    封裝:
        protected HttpServletRequest processMultipart(HttpServletRequest request) {

            
    if (!"POST".equalsIgnoreCase(request.getMethod())) {
                
    return (request);
            }

            
            String contentType 
    = request.getContentType();
            
    if ((contentType != null&&
                contentType.startsWith(
    "multipart/form-data")) {
                
    return (new MultipartRequestWrapper(request));
            }
     else {
                
    return (request);
            }


        }

    還原:
       在doForward和doInclude中在forward和include之前都執(zhí)行了下面的代碼:
            if (request instanceof MultipartRequestWrapper) {
                request 
    = ((MultipartRequestWrapper) request).getRequest();
            }


         問題就出現(xiàn)在這兒。在經(jīng)過測試之后,發(fā)現(xiàn)request只能進(jìn)行一次multipart解析,這或許和解析request的時(shí)候調(diào)用了request.inputStream有關(guān),第一次調(diào)用之后再調(diào)用就不能獲取其中的有效內(nèi)容了。因此發(fā)現(xiàn)request在調(diào)用CommonsMultipartRequestHandler.handleRequest進(jìn)行解析后并還原后,調(diào)用common-upload對request進(jìn)行解析已經(jīng)得不到任何得提交內(nèi)容了,因此當(dāng)Form驗(yàn)證失敗,返回input頁面時(shí),即使再進(jìn)行multpart解析,也不能通過request.getPrameter取到你想要的數(shù)據(jù)。而此時(shí),表單中的數(shù)據(jù)卻不會(huì)丟失(定義在ActionForm中的表單域),這是因?yàn)閟truts的html系列tag在redisplay時(shí)值都是從ActionForm獲取的。

           在將RequestProcessor.doForward和doInclude中還原request的語句注釋后,問題得到了解決。到目前還不清楚為什么struts要還原request,難道是因?yàn)閏hain的原因?

           webwork中應(yīng)該不會(huì)出現(xiàn)這個(gè)問題,因?yàn)閣ebwork中無論ServletDispatcher還是FilterDispatcher在對request wrap之后都沒有再還原。
    posted @ 2006-03-15 06:10 dev 閱讀(3933) | 評論 (1)編輯 收藏
     
    tomcat、jdk1.4下出現(xiàn)The output format must have a '{http://xml.apache.org/xalan}content-handler' property!的原因:
        這是因?yàn)橄到y(tǒng)、tomcat或者jdk使用了老版本的xalan.jar。系統(tǒng)如果本身沒有使用,而tomcat/common/lib、tomcat/common/endorsed/lib、tomcat/shared/lib下又沒有xalan.jar的話,那就是jdk使用了老版本的xalan.jar——在jre\lib\rt.jar里面。下載最新的xalan.jar然后放到tomcat/common/endorsed下即可解決這一問題。
    posted @ 2006-03-03 19:46 dev 閱讀(1049) | 評論 (1)編輯 收藏
     
    暫時(shí)記下,沒想透徹,思考所得、個(gè)人見解以后再加入。

    企業(yè)發(fā)展的4個(gè)階段:
  • 產(chǎn)品階段
  • 資產(chǎn)階段
  • 資本階段
  • 品牌階段

    企業(yè)管理的4個(gè)階段:
  • 人治,嘴上說
  • 法治,建立制度
  • 企業(yè)文化
  • 目標(biāo)管理,充分發(fā)揮員工的積極主動(dòng)型,自我管理
  •  

    posted @ 2006-02-21 02:13 dev 閱讀(747) | 評論 (0)編輯 收藏
     

          blog很好,blogjava暫時(shí)感覺也很好,可是為什么不能寫只允許自己看的日志呢?雖說blog就是為了大家能夠分享彼此的觀點(diǎn)感想,但是總有一些東西是不便公開或者暫時(shí)不能公開的。如果允許寫只允許自己看的日志,blog的應(yīng)用范圍就會(huì)更大,價(jià)值也會(huì)被充分挖掘了。
         也可能是我愚昧,對blog了解還不深吧,上述所說的blog也許已經(jīng)出現(xiàn)了(自己搞一個(gè)得了,笑談)。

    posted @ 2006-02-21 02:02 dev 閱讀(247) | 評論 (0)編輯 收藏
     
  • XP
  • SCRUM
    需要并且應(yīng)該持續(xù)關(guān)注、思考。

    一些共同點(diǎn):
  • 快速迭代
  • 持續(xù)改進(jìn)
  • 注重測試
  • 團(tuán)隊(duì)協(xié)作
  • posted @ 2006-02-20 02:10 dev 閱讀(199) | 評論 (0)編輯 收藏
     
           很久沒有來這兒了。其實(shí)我很喜歡BLOG,可以記下每天工作中的所思所想。我是一個(gè)喜歡思考的人,經(jīng)常有一些想法,有這么一塊地方,能夠把自己的經(jīng)驗(yàn)、想法、創(chuàng)造記錄下來,沉積起來,對自己無疑是一種財(cái)富。

          不知道是不是有人會(huì)寫項(xiàng)目經(jīng)理日志,我覺得這是一個(gè)很好的事情。以前做項(xiàng)目管理的時(shí)候只是弄了一個(gè)“項(xiàng)目事件”,記錄項(xiàng)目開發(fā)過程中發(fā)生的、自己覺得是重要的事情,比如某某人進(jìn)入項(xiàng)目組、離開項(xiàng)目組了,某某模塊版本發(fā)布了,發(fā)生了什么大的費(fèi)用等等。寫項(xiàng)目經(jīng)理日志,或者開發(fā)日志、工作日志也行,把自己在工作中、項(xiàng)目開發(fā)過程中、項(xiàng)目管理過程中的零零碎碎的想法記錄下來,會(huì)是一件很棒的事情。人不應(yīng)該懶,再累心情再遭也應(yīng)該堅(jiān)持寫這種日志。

          或許小筆記本、那種可以隨身攜帶的那種是一件更好的日志記錄工具,可惜容量不夠,而且不能檢索。掌上電腦?寫起來似乎麻煩了,table-pc,好像又太大了,攜帶不方便,可惜,要是手寫識別技術(shù)更智能一點(diǎn)、掌上電腦更薄一點(diǎn),而且可以展開屏幕就棒了。可惜。

     
    posted @ 2006-02-20 01:19 dev 閱讀(188) | 評論 (0)編輯 收藏
     
    主站蜘蛛池模板: 成人人免费夜夜视频观看| 91香蕉在线观看免费高清| 青青青国产免费一夜七次郎| 亚洲美女自拍视频| 777成影片免费观看| 久久夜色精品国产噜噜亚洲AV| 久久免费美女视频| 午夜亚洲www湿好大| 日韩精品在线免费观看| 亚洲福利在线视频| 免费A级毛片无码A∨免费| 亚洲国产日韩在线人成下载| av免费不卡国产观看| 中文字幕在线观看亚洲日韩| 国产小视频在线观看免费| 一级做a毛片免费视频| 亚洲国产美女精品久久久久∴| 久久青草免费91线频观看不卡| 亚洲黄色在线观看视频| 在线观看av永久免费| 久久久亚洲精华液精华液精华液| 免费永久看黄在线观看app| 国产免费牲交视频免费播放| 亚洲免费在线视频| 在线播放高清国语自产拍免费 | 亚洲国产精品成人网址天堂| eeuss免费影院| 91情国产l精品国产亚洲区| 成**人免费一级毛片| 永久免费无码网站在线观看个| 亚洲尤码不卡AV麻豆| 91精品免费国产高清在线| 国产精品亚洲精品久久精品 | 国产hs免费高清在线观看| 你懂的免费在线观看| 亚洲AV成人无码天堂| 亚洲美女在线国产| 亚色九九九全国免费视频| 五月婷婷免费视频| 亚洲av极品无码专区在线观看| jjzz亚洲亚洲女人|