偏執(zhí)狂才能生存,人生/事業(yè)的路上需要再堅(jiān)持一下
但是又怎么說得清堅(jiān)持的結(jié)果,道得盡堅(jiān)持的含義
導(dǎo)航BlogJava首頁新隨筆聯(lián)系聚合管理日一二三四五六<2006年11月>293031123456789101112131415161718192021222324252627282930123456789統(tǒng)計(jì)隨筆-21文章-1評(píng)論-8引用-0公告堅(jiān)持,堅(jiān)持,再堅(jiān)持一下很多人、很多項(xiàng)目、很多公司都在再" />

欧美三区_成人在线免费观看视频_欧美极品少妇xxxxⅹ免费视频_a级毛片免费播放_鲁一鲁中文字幕久久_亚洲一级特黄

一個(gè)朋友的精彩BLOG

系統(tǒng) 1893 0
<nobr><em>偏執(zhí)狂才能生存,人生/事業(yè)的路上需要再堅(jiān)持一下<br>但是又怎么說得清堅(jiān)持的結(jié)果,道得盡堅(jiān)持的含義 </em></nobr>

導(dǎo)航

日 一 二 三 四 五 六
< 2006年11月 >
29 30 31 1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 1 2
3 4 5 6 7 8 9
統(tǒng)計(jì)
  • 隨筆 - 21
  • 文章 - 1
  • 評(píng)論 - 8
  • 引用 - 0
公告
  • 堅(jiān)持,堅(jiān)持,再堅(jiān)持一下
    很多人、很多項(xiàng)目、很多公司都在再堅(jiān)持一下之前倒下了

    當(dāng)然,堅(jiān)持是有風(fēng)險(xiǎn)的
    堅(jiān)持也不是隨便的

    --- 在此記下人生的感悟,事業(yè)的思考,情感的得失

留言簿

隨筆分類

隨筆檔案

文章檔案

blog鏈接

Java Desktop

Java組織

其它

算法/數(shù)學(xué)

<script language="JavaScript" type="text/javascript"> function SearchGoogle(key,evt,site) { if(evt.keyCode==13 || evt.keyCode==0 || evt.type =='click') { key.focus(); var keystr = encodeURIComponent(key.value); url = "http://www.google.com/search?q="; url = url+keystr; url += "&ie=UTF-8&oe=GB2312&hl=zh-CN&domains="+site+"&sitesearch="+site; window.location=url; return false; } } </script>

搜索

最新評(píng)論

閱讀排行榜

評(píng)論排行榜

2006年3月15日

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

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

封裝:
protected HttpServletRequestprocessMultipart(HttpServletRequestrequest) {

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


StringcontentType
= 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對(duì)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在對(duì)request wrap之后都沒有再還原。

2006年3月3日

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下即可解決這一問題。

2006年2月21日

暫時(shí)記下,沒想透徹,思考所得、個(gè)人見解以后再加入。

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

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

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

  • 2006年2月20日

  • XP
  • SCRUM
    需要并且應(yīng)該持續(xù)關(guān)注、思考。

    一些共同點(diǎn):
  • 快速迭代
  • 持續(xù)改進(jìn)
  • 注重測試
  • 團(tuán)隊(duì)協(xié)作
    很久沒有來這兒了。其實(shí)我很喜歡BLOG,可以記下每天工作中的所思所想。我是一個(gè)喜歡思考的人,經(jīng)常有一些想法,有這么一塊地方,能夠把自己的經(jīng)驗(yàn)、想法、創(chuàng)造記錄下來,沉積起來,對(duì)自己無疑是一種財(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í)別技術(shù)更智能一點(diǎn)、掌上電腦更薄一點(diǎn),而且可以展開屏幕就棒了。可惜。

  • 2005年5月17日

      JDK1.5出來很久了,一直沒有研究。這倒不是沒有時(shí)間,而是覺得J2EE服務(wù)器要支持JDK1.5還需要一段時(shí)間,而多數(shù)客戶還在使用JDK1.4,因此要基于JDK1.5開發(fā)Web應(yīng)用程序還不現(xiàn)實(shí),因此一直沒有去弄這玩意。

      今天由于研究Desktop的開發(fā),裝了1.5,發(fā)現(xiàn)1.5中Java程序已經(jīng)可以獲得本地系統(tǒng)的外觀,我試著不斷的變換了xp的theme,Java程序始終能夠保持和系統(tǒng)的外觀一致;而且以前使用SkinLF后,在web start程序中JOptionPane的窗體經(jīng)常出不來的問題也解決了。這可是一個(gè)非常好的消息。

      另一個(gè)好消息是JDK的下一個(gè)版本將對(duì)Swing/AWT組件進(jìn)行增強(qiáng)。

      為Java感到高興!

      下午,試用了SkinLF( http://www.l2fprod.com ),感覺非常好,程序的外觀得到了很大的改善,還可以根據(jù)自己的需要隨意調(diào)整得到自己想要的外觀,但是要將SkinLF應(yīng)用到Web Start中還有點(diǎn)問題。這是因?yàn)椋瑆eb start使用到的資源必須包裝成jar文件,以<jar href="jarfilename.jar"></jar><jar href="jarfile.jar"></jar>的形式定義到j(luò)nlp資源文件中,而SkinLF的外觀配置文件是zip形式的。也許有人會(huì)說,把zip轉(zhuǎn)化成jar文件就可以了。是的,想象中這應(yīng)當(dāng)是可以的,可是實(shí)際情況不是如此,你會(huì)發(fā)現(xiàn)使用ClassLoader.getResourceStream("themepack.jar")的時(shí)候返回了Null,SkinLookAndFeel.loadLookAndFeel()會(huì)異常Stream closed.

      調(diào)試之后發(fā)現(xiàn),即使是在客戶端,在Eclipse中運(yùn)行的時(shí)候,如果不把themepack.jar定義到ClassPath中,也是無法加載的。

      我想這是一個(gè)普遍的問題,根據(jù)我的理解,如果其他資源,比如圖片、xml文件、屬性文件等等能夠被加載,themepack.jar也應(yīng)該被加載。事實(shí)上應(yīng)該是這樣,但是關(guān)鍵在于SkinLF需要采用ZipInputStream解析zip(jar)文件,這時(shí)情況就不一樣了。具體的原因目前沒有搞清楚。

      在網(wǎng)上找了半天,終于發(fā)現(xiàn)一個(gè)Open Source的組件:Rachel,使用它很輕易就可以解決上面提到的問題。

    Rachel http://rachel.sourceforge.net )是一個(gè)為解決Web start裝載資源困難而開發(fā)的組件。它提供了兩種方法解決資源裝載問題。

    方法一,使用class://URL Handler。
    這個(gè)方法采用新的URL協(xié)議:class://從jar文件中獲取資源。

    Step 1 ,注冊(cè)新的URL Handler,以支持class://協(xié)議(protocal)。
    例子:java.net.URL.setURLStreamHandlerFactory( new RachelUrlFactory() );

    Step 2 ,采用class://協(xié)議構(gòu)造URL,從jar文件中讀取資源。
      語法:class://<class></class><class></class>/
      例子:
    Step 3 ,采用java.net.URL獲取資源。
    例子:   方法二,在程序中嵌入多線程的,小型的http server。

    class : // test.LookAndFeelTest/themepack.zip
    class : // com.l2fprod.gui.plaf.skin.SkinLookAndFeel/themepack.zip


    注意: 這里,<class></class><class></class>是Rachel用來定義資源文件所在的jar的,后面的 相對(duì)于jar中的根目錄而言。上述例子中的jar的結(jié)構(gòu)如下:

    test.jar:

    test
    / LookAndFeelTest. class
    com
    / l2fprod / gui / plaf / skin / SkinLookAndFeel. class
    themepack.zip
    images
    / example.png
    html
    / index.htm

    URLurl = new URL( " class://test.LookAndFeelTest/themepack.zip " );
    URLurl
    = new URL( " class://test.LookAndFeelTest/html/index.html " );
    URLurl
    = new URL( " class://test.LookAndFeelTest/images/example.png " );

    URLurl
    = new URL( " class://com.l2fprod.gui.plaf.skin.SkinLookAndFeel/themepack.zip " );
    SkinLookAndFeel.setSkin(SkinLookAndFeel.loadThemePack(url));

    Step 1 ,把你的資源放到j(luò)ar中。

    Step 2 ,在每一個(gè)jar中增加一個(gè)anchor class,幫組server定位資源所在的jar文件,這點(diǎn)類似于方法一class://<class></class><class></class>/ 的的<class></class><class></class>。
      例子:

    public class CrossRefAnchor
       {
    public CrossRefAnchor(){}
       }

      CrossRefAnchor沒有任何的實(shí)際意義,只是為了幫組定義資源所在的jar。

    Step 3 ,為每一個(gè)包含資源的jar用ClassResourceLoader注冊(cè)到WebResourceManager。
      例子:

      SkinLF( http://www.l2fprod.com/ )是一個(gè)非常漂亮的Java LookAndFee組件,它的外觀可以配置,由一組小圖片和一個(gè)skinlf-themepack.xml構(gòu)成。SkinLF的網(wǎng)站上提供了很多Skin下載,這里 http://www.l2fprod.com/software/skinlf/jnlp/demo.jnlp 可以看到SkinLF和這些外觀的演示。可惜的是除了默認(rèn)的themepack.zip之外,其他外觀(好像有很少幾個(gè)除外)都有中文亂碼的問題。其實(shí)這是這些外觀使用的字體導(dǎo)致的。

      打開外觀zip文件中的skinlf-themepack.xml,你會(huì)發(fā)現(xiàn)其他外觀的配置文件比themepack.zip中的配置文件多了一些地方:

    <!--</font></span></span>&nbsp;<font face="新宋體">&nbsp;&nbsp;&nbsp; Fonts&nbsp;&nbsp;</font><span class="b"><strong><font face="Courier New" color="#ff0000">&nbsp;</font></strong></span> <font color="#0000ff"><span class="m">--> <script type="text/javascript"></script>
    < font name =" Global " value =" SansSerif,0,11 " />
    < font name =" InternalFrame.titleFont " value =" Trebuchet MS,1,11 " />
    < font name =" TabbedPane.font " value =" Tahoma,0,11 " />
    < font name =" MenuBar.font " value =" Tahoma,0,11 " />
    < font name =" MenuItem.font " value =" Tahoma,0,11 " />
    < font name =" PopupMenu.font " value =" Tahoma,0,11 " />
    < font name =" Menu.font " value =" Tahoma,0,11 " />
     把這些注釋掉,然后把配置文件放回到zip文件中就可以了。當(dāng)然你還可以嘗試采用其他的字體。
     采用JGoodies的LookAndFeel出現(xiàn)亂碼,我曾經(jīng)以為是UTF-8的問題,現(xiàn)在看來可能也是字體導(dǎo)致的。可惜的是,JGoodies的LookAndFeel不能配置。

    這里列出一部分Java Desktop的開發(fā)資源。

    1。 A java.net community for JavaDeskTop

      這是sun主持的資源很全的社區(qū),有很多關(guān)于JavaDeskTop開發(fā)的資源。

    2。 JDIC (Java Desktop Integration Components)

      Sun主持的致力于java和本地應(yīng)用程序集成、交互的組件集,非常棒。目前有5大組件。

      Desktop

      FileTypes

      Brower

      System Tray Icon

      Packager

    3。 JDNC (Java Desktop Network Component)

    4。 JExePack

      一個(gè)將Java程序轉(zhuǎn)化為Exe程序的組件。

    5。 JSmooth

      作用同JExePack。

    6。 JavaService

      一個(gè)將Java程序轉(zhuǎn)化為NT Service的組件。

    7。 SKinLF

      非常棒的Java LookAndFeel實(shí)現(xiàn),采用配置包的形式定義Java的LookAndFeel,可以很方便的定義自己的LookAndFeel。它的網(wǎng)站上提供了大量Skin下載,其中不乏精品。

    8。 JGoodies

      JGoodies最出名的是它的FormLayout,它使swing和AWT應(yīng)用程序的布局變得非常簡單。由于它的影響,已經(jīng)有專門針對(duì)它的DESIGNER出現(xiàn),Eclipse也有相應(yīng)的插件支持。FormLayout使Java的幾個(gè)默認(rèn)Layout相形見絀。

      JGoodies還有一組Swing/Awt組件,可以很方便的創(chuàng)建Wizard、對(duì)話框、Splash窗體、About窗體等GUI部件。

    9。 Rachel (Open Source Resource Loading Toolkit for Java Web Start )

      和WebStart打過交道的人可能知道,要在webstart中讀取解析zip或者jar資源是一件非常困難的事,然而有些資源又必須以zip或者jar的形式存在,比如SKinLF就是這樣。Rachel使你不再為這種事情煩惱。它提供兩種解決方案:采用class://的協(xié)議裝載URL資源,內(nèi)嵌一個(gè)小型的多線程http server。

    10。 JavaHelper (JavaHelp System)

      Sun提供的制作Java Help制作系統(tǒng)。允許你在GUI應(yīng)用程序、Applet中提供Online Help功能。

    11。 Exe4j

      Java 安裝程序制作工具。

    12。 JGraph

      非常出名的Java 圖形編輯框架。

    13。 GEF (Graphic Edit Framework)

      非常好的圖形編輯框架,雖然沒有JGraph出名,但是我始終覺得它的結(jié)構(gòu)和API都比JGraph好,擴(kuò)展性非常好。

    14。 yworks

      它的 YGuard 是一個(gè)非常棒的混淆器,免費(fèi)的,功能很強(qiáng)。除了YGuard它還有幾個(gè)非常好的組件。

    15。 Create GUI with JFC/Swing

      Sun的JFC/Swing編程初學(xué)者指南。

    16。 Drag and Drop

      Sun的關(guān)于在GUI中實(shí)現(xiàn)拖放操作的教學(xué)文章。

    17。 Joshua Marinacci 的Blog

      有很多介紹GUI編程的好文章。

    18。 CloseAndMaxTabbedPane An enhanced JTabbedPane

      JavaWorld上一篇關(guān)于如何在JTabbedPane的Tab上添加Close按鈕、Maximize 按鈕和PopupMenu的文章,有源代碼下載。還可以。

    19。 Creating Wizard Dialogs with Java Swing

      Sun上的介紹用Swing創(chuàng)建類似Elipse Wizard對(duì)話框的文章。

       WebResourceManagerroots = WebResourceManager.getInstance();
       roots.addResourceLoader(
    new ClassResourceLoader(CrossRefAnchor. class ));
       roots.addResourceLoader(
    new ClassResourceLoader(JavaDocAnchor. class ));

    Step 4 ,啟動(dòng)Server。
      例子:

    try
       {
         WebServerhttp
    = new WebServer( 7272 ,roots);
         http.start();
       }
    catch (IOExceptione)
       {
         e.printStackTrace();
       }

    Step 5 ,采用URL從server獲取資源。
      例子:

       URLcrossRefUrl = new URL( " http://localhost:7272/crossref/index.html " );
       URLurl
    = new URL( " http://localhost:7272/test.LookAndFeelTest/themepack.zip " );
       URLurl
    = new URL( " http://localhost:7272/test.LookAndFeelTest/html/index.html " );
       URLurl
    = new URL( " http://localhost:7272/test.LookAndFeelTest/images/example.png " );

    一個(gè)朋友的精彩BLOG


    更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

    微信掃碼或搜索:z360901061

    微信掃一掃加我為好友

    QQ號(hào)聯(lián)系: 360901061

    您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長非常感激您!手機(jī)微信長按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

    【本文對(duì)您有幫助就好】

    您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺我的文章對(duì)您有幫助,請(qǐng)用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會(huì)非常 感謝您的哦!!!

    發(fā)表我的評(píng)論
    最新評(píng)論 總共0條評(píng)論
    主站蜘蛛池模板: 久久国产成人 | 性aaa| 国产二区在线播放 | 日本在线视频www鲁啊鲁 | 四虎免费久久影院 | 一区二区三区回区在观看免费视频 | 日韩久久久久久 | 欧美乱xxxxx强 | 成人a视频在线观看 | www.av视频 | 天天操网 | 国产男女爽爽爽免费视频 | 免费99视频 | 久久久久久久国产精品 | 天天操妹子 | 三级精品在线观看 | 成人人观看的免费毛片 | 欧美一区二区三区久久 | 精品国产不卡一区二区三区 | 日本一区二区三区四区在线观看 | 天天操天天射天天舔 | 99在线视频观看 | 国产精品久久久久久久久免费 | 69pao强力打造免费高清 | 中文字幕日韩理论在线 | 欧美激情精品久久久久久久 | 亚洲精品自拍 | 国产人妻互换一区二区水牛影视 | 瑟瑟视频在线 | 国产一区二区三区免费 | 日韩精品高清在线 | 国产精品美乳一区二区免费 | 久久高清免费视频 | 国产亚洲综合视频 | 精品日韩在线 | 欧美性高清视频免费看www | 91视频社区 | 日韩视频观看 | 日本毛片高清免费视频 | 米奇777四色精品人人爽 | 国产91久久精品 |