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

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

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

    筆頭。。
    實踐啟示
    posts - 14,comments - 3,trackbacks - 0
    安裝apache服務器指南http://www.knowsky.com/2989.html

    安裝apache服務器出現的問題

    winxp 下 apache2 安裝 問題及解決
    安裝apache 2 出現的問題:

    “(OS 10048)通常每個套接字地址 (協議/網絡地址/端口) 只允許使用一次:
    make_sock: could not bind to address 0.0.0.0:80...”

    一般是IIS或其他程序占用了80端口引起的
    分析:
    netstat -a
    查看相應端口,是否有程序占用
    netstat -ab
    查看具體占用程序

    兩種解決方法:
    1、打開 控制面板->服務 找到 IIS admin 等相應服務 關閉并禁用
    2、如果不想關閉IIS服務 可將apache使用的端口改成其它端口
    將apache2/conf/httpd.conf 中的
    Listen 80 改為 Listen (你要使用的端口) 如 Listen 8080
    不過這時在你訪問你的apache 下的Web服務時 在域名后要加上端口號
    如: http://localhost:8080

    然后用CMD進入命令行模式 進入你安裝apache的目錄 /apache2/bin
    輸入
    apache -k install
    apache -k start
    cgwin的安裝http://anying.spaces.live.com/Blog/cns!1pBetjxyWRhAf0VYS0IjiD_g!711.entry

    連接http://twiki.org/cgi-bin/view/TWiki/WindowsInstallCookbookForTWiki04x01,for window 的安裝

    設置LocalSite.cfg

    # Local site settings for TWiki. This file is managed by the 'configure'
    # CGI script, though you can also make (careful!) manual changes with a
    # text editor.
    $TWiki::cfg{DefaultUrlHost} = 'http://localhost:8060';
    $TWiki::cfg{ScriptUrlPath} = '/twiki/bin';
    $TWiki::cfg{PubUrlPath} = '/twiki/pub';
    $TWiki::cfg{PubDir} = 'c:/PROGRA~1/TWiki/twiki/pub';
    $TWiki::cfg{TemplateDir} = 'c:/PROGRA~1/TWiki/twiki/templates';
    $TWiki::cfg{DataDir} = 'c:/PROGRA~1/TWiki/twiki/data';
    $TWiki::cfg{LocalesDir} = 'c:/PROGRA~1/TWiki/twiki/locale';
    $TWiki::cfg{WorkingDir} = 'c:/PROGRA~1/TWiki/twiki/working';
    $TWiki::cfg{ScriptSuffix} = '';
    $TWiki::cfg{Password} = 'OmNauFZ7U.p3Y';
    $TWiki::cfg{UseClientSessions} = 1;
    $TWiki::cfg{Sessions}{ExpireAfter} = 21600;
    $TWiki::cfg{Sessions}{ExpireCookiesAfter} = 0;
    $TWiki::cfg{Sessions}{IDsInURLs} = 0;
    $TWiki::cfg{Sessions}{UseIPMatching} = 1;
    $TWiki::cfg{Sessions}{MapIP2SID} = 0;
    $TWiki::cfg{LoginManager} = 'TWiki::LoginManager::TemplateLogin';
    $TWiki::cfg{LoginNameFilterIn} = '^[^\\s\\*?~^\\$@%`"\'&;|<>\\x00-\\x1f]+$';
    $TWiki::cfg{DefaultUserLogin} = 'guest';
    $TWiki::cfg{DefaultUserWikiName} = 'TWikiGuest';
    $TWiki::cfg{AdminUserWikiName} = 'TWikiAdminGroup';
    $TWiki::cfg{AdminUserLogin} = 'admin';
    $TWiki::cfg{SuperAdminGroup} = 'TWikiAdminGroup';
    $TWiki::cfg{UsersTopicName} = 'TWikiUsers';
    $TWiki::cfg{AuthScripts} = 'attach,edit,manage,rename,save,upload,viewauth,rdiffauth';
    $TWiki::cfg{AuthRealm} = 'Enter your TWiki.LoginName. (Typically First name and last name, no space, no dots, capitalized, e.g. !JohnSmith, unless you chose otherwise). Visit TWiki.TWikiRegistration if you do not have one.';
    $TWiki::cfg{UserMappingManager} = 'TWiki::Users::TWikiUserMapping';
    $TWiki::cfg{Register}{EnableNewUserRegistration} = 1;
    $TWiki::cfg{Register}{HidePasswd} = 1;
    $TWiki::cfg{Register}{NeedVerification} = 1;
    $TWiki::cfg{PasswordManager} = 'TWiki::Users::HtPasswdUser';
    $TWiki::cfg{MinPasswordLength} = 1;
    $TWiki::cfg{Htpasswd}{FileName} = 'c:\\PROGRA~1\\TWiki\\twiki\\data\\.htpasswd.txt';
    $TWiki::cfg{Htpasswd}{Encoding} = 'plain';
    $TWiki::cfg{SafeEnvPath} = '';
    $TWiki::cfg{OS} = 'WINDOWS';
    $TWiki::cfg{DetailedOS} = 'MSWin32';
    $TWiki::cfg{DenyDotDotInclude} = 1;
    $TWiki::cfg{AllowInlineScript} = 1;
    $TWiki::cfg{UploadFilter} = '^(\\.htaccess|.*\\.(?i)(?:php[0-9s]?(\\..*)?|[sp]htm[l]?(\\..*)?|pl|py|cgi))$';
    $TWiki::cfg{NameFilter} = '[\\s\\*?^\\$@%`"\'&;|<>\\x00-\\x1f]';
    $TWiki::cfg{AccessibleENV} = '^(HTTP_\\w+|REMOTE_\\w+|SERVER_\\w+|REQUEST_\\w+|MOD_PERL)$';
    $TWiki::cfg{AntiSpam}{EmailPadding} = '';
    $TWiki::cfg{AntiSpam}{HideUserDetails} = 1;
    $TWiki::cfg{AntiSpam}{RobotsAreWelcome} = 1;
    $TWiki::cfg{Log}{view} = 1;
    $TWiki::cfg{Log}{search} = 1;
    $TWiki::cfg{Log}{changes} = 1;
    $TWiki::cfg{Log}{rdiff} = 1;
    $TWiki::cfg{Log}{edit} = 1;
    $TWiki::cfg{Log}{save} = 1;
    $TWiki::cfg{Log}{upload} = 1;
    $TWiki::cfg{Log}{attach} = 1;
    $TWiki::cfg{Log}{rename} = 1;
    $TWiki::cfg{Log}{register} = 1;
    $TWiki::cfg{ConfigurationLogName} = 'c:/PROGRA~1/TWiki/twiki/data/configurationlog.txt';
    $TWiki::cfg{DebugFileName} = 'c:/PROGRA~1/TWiki/twiki/data/debug.txt';
    $TWiki::cfg{WarningFileName} = 'c:/PROGRA~1/TWiki/twiki/data/warn%DATE%.txt';
    $TWiki::cfg{LogFileName} = 'c:/PROGRA~1/TWiki/twiki/data/log%DATE%.txt';
    $TWiki::cfg{Languages}{cs}{Enabled} = 1;
    $TWiki::cfg{Languages}{da}{Enabled} = 1;
    $TWiki::cfg{Languages}{de}{Enabled} = 1;
    $TWiki::cfg{Languages}{es}{Enabled} = 1;
    $TWiki::cfg{Languages}{fr}{Enabled} = 1;
    $TWiki::cfg{Languages}{it}{Enabled} = 1;
    $TWiki::cfg{Languages}{nl}{Enabled} = 1;
    $TWiki::cfg{Languages}{pl}{Enabled} = 1;
    $TWiki::cfg{Languages}{pt}{Enabled} = 1;
    $TWiki::cfg{Languages}{ru}{Enabled} = 1;
    $TWiki::cfg{Languages}{sv}{Enabled} = 1;
    $TWiki::cfg{Languages}{'zh-cn'}{Enabled} = 1;
    $TWiki::cfg{Languages}{'zh-tw'}{Enabled} = 1;
    $TWiki::cfg{DisplayTimeValues} = 'servertime';
    $TWiki::cfg{DefaultDateFormat} = '$day $month $year';
    $TWiki::cfg{Site}{Locale} = 'zh_CN.UTF-8';
    $TWiki::cfg{Site}{LocaleRegexes} = 1;
    $TWiki::cfg{UpperNational} = '';
    $TWiki::cfg{LowerNational} = '';
    $TWiki::cfg{PluralToSingular} = 1;
    $TWiki::cfg{StoreImpl} = 'RcsLite';
    $TWiki::cfg{RCS}{ExtOption} = '-x,v';
    $TWiki::cfg{RCS}{dirPermission} = 493;
    $TWiki::cfg{RCS}{filePermission} = 420;
    $TWiki::cfg{Store}{RememberChangesFor} = 2678400;
    $TWiki::cfg{RCS}{asciiFileSuffixes} = '\\.(txt|html|xml|pl)$';
    $TWiki::cfg{RCS}{initBinaryCmd} = '/usr/bin/rcs  -i -t-none -kb %FILENAME|F%';
    $TWiki::cfg{RCS}{initTextCmd} = '/usr/bin/rcs  -i -t-none -ko %FILENAME|F%';
    $TWiki::cfg{RCS}{tmpBinaryCmd} = '/usr/bin/rcs  -kb %FILENAME|F%';
    $TWiki::cfg{RCS}{ciCmd} = '/usr/bin/ci  -m%COMMENT|U% -t-none -w%USERNAME|S% -u %FILENAME|F%';
    $TWiki::cfg{RCS}{ciDateCmd} = '/usr/bin/ci  -m%COMMENT|U% -t-none -d%DATE|D% -u -w%USERNAME|S% %FILENAME|F%';
    $TWiki::cfg{RCS}{coCmd} = '/usr/bin/co  -p%REVISION|N% -ko %FILENAME|F%';
    $TWiki::cfg{RCS}{histCmd} = '/usr/bin/rlog  -h %FILENAME|F%';
    $TWiki::cfg{RCS}{infoCmd} = '/usr/bin/rlog  -r%REVISION|N% %FILENAME|F%';
    $TWiki::cfg{RCS}{rlogDateCmd} = '/usr/bin/rlog  -d%DATE|D% %FILENAME|F%';
    $TWiki::cfg{RCS}{diffCmd} = '/usr/bin/rcsdiff  -q -w -B -r%REVISION1|N% -r%REVISION2|N% -ko --unified=%CONTEXT|N% %FILENAME|F%';
    $TWiki::cfg{RCS}{lockCmd} = '/usr/bin/rcs  -l %FILENAME|F%';
    $TWiki::cfg{RCS}{unlockCmd} = '/usr/bin/rcs  -u %FILENAME|F%';
    $TWiki::cfg{RCS}{breaklockCmd} = '/usr/bin/rcs  -u -M %FILENAME|F%';
    $TWiki::cfg{RCS}{delRevCmd} = '/usr/bin/rcs  -o%REVISION|N% %FILENAME|F%';
    $TWiki::cfg{RCS}{SearchAlgorithm} = 'TWiki::Store::SearchAlgorithms::Forking';
    $TWiki::cfg{RCS}{EgrepCmd} = 'c:/PROGRA~1/GnuWin32/bin/grep -E %CS{|-i}% %DET{|-l}% -H -- %TOKEN|U% %FILES|F%';
    $TWiki::cfg{RCS}{FgrepCmd} = 'c:/PROGRA~1/GnuWin32/bin/grep -F %CS{|-i}% %DET{|-l}% -H -- %TOKEN|U% %FILES|F%';
    $TWiki::cfg{EnableHierarchicalWebs} = 0;
    $TWiki::cfg{SystemWebName} = 'TWiki';
    $TWiki::cfg{TrashWebName} = 'Trash';
    $TWiki::cfg{UsersWebName} = 'Main';
    $TWiki::cfg{WebMasterEmail} = 'zhanghui026@gmail.com';
    $TWiki::cfg{WebMasterName} = 'TWiki Administrator';
    $TWiki::cfg{MailProgram} = '';
    $TWiki::cfg{SMTP}{MAILHOST} = 'smtp.sina.com.cn';
    $TWiki::cfg{SMTP}{SENDERHOST} = '';
    $TWiki::cfg{SMTP}{Username} = '';
    $TWiki::cfg{SMTP}{Password} = '';
    $TWiki::cfg{RemoveImgInMailnotify} = 1;
    $TWiki::cfg{NotifyTopicName} = 'WebNotify';
    $TWiki::cfg{SMTP}{Debug} = 0;
    $TWiki::cfg{PROXY}{HOST} = '';
    $TWiki::cfg{PROXY}{PORT} = '';
    $TWiki::cfg{Stats}{TopViews} = 10;
    $TWiki::cfg{Stats}{TopContrib} = 10;
    $TWiki::cfg{Stats}{TopicName} = 'WebStatistics';
    $TWiki::cfg{TemplatePath} = 'c:/PROGRA~1/TWiki/twiki/templates/$web/$name.$skin.tmpl, c:/PROGRA~1/TWiki/twiki/templates/$name.$skin.tmpl, c:/PROGRA~1/TWiki/twiki/templates/$web/$name.tmpl, c:/PROGRA~1/TWiki/twiki/templates/$name.tmpl, $web.$skinSkin$nameTemplate, TWiki.$skinSkin$nameTemplate, $web.$nameTemplate, TWiki.$nameTemplate';
    $TWiki::cfg{LinkProtocolPattern} = '(file|ftp|gopher|https|http|irc|mailto|news|nntp|telnet)';
    $TWiki::cfg{SiteWebTopicName} = '';
    $TWiki::cfg{SitePrefsTopicName} = 'TWikiPreferences';
    $TWiki::cfg{LocalSitePreferences} = 'Main.TWikiPreferences';
    $TWiki::cfg{HomeTopicName} = 'WebHome';
    $TWiki::cfg{WebPrefsTopicName} = 'WebPreferences';
    $TWiki::cfg{NumberOfRevisions} = 4;
    $TWiki::cfg{ReplaceIfEditedAgainWithin} = 3600;
    $TWiki::cfg{LeaseLength} = 3600;
    $TWiki::cfg{LeaseLengthLessForceful} = 3600;
    $TWiki::cfg{MimeTypesFileName} = 'c:/PROGRA~1/TWiki/twiki/data/mime.types';
    $TWiki::cfg{Plugins}{CommentPlugin}{Enabled} = 1;
    $TWiki::cfg{Plugins}{EditTablePlugin}{Enabled} = 1;
    $TWiki::cfg{Plugins}{InterwikiPlugin}{Enabled} = 1;
    $TWiki::cfg{Plugins}{PreferencesPlugin}{Enabled} = 1;
    $TWiki::cfg{Plugins}{SlideShowPlugin}{Enabled} = 1;
    $TWiki::cfg{Plugins}{SmiliesPlugin}{Enabled} = 1;
    $TWiki::cfg{Plugins}{SpreadSheetPlugin}{Enabled} = 1;
    $TWiki::cfg{Plugins}{TablePlugin}{Enabled} = 1;
    $TWiki::cfg{Plugins}{TwistyPlugin}{Enabled} = 1;
    $TWiki::cfg{Plugins}{TinyMCEPlugin}{Enabled} = 1;
    $TWiki::cfg{Plugins}{WysiwygPlugin}{Enabled} = 0;
    $TWiki::cfg{PluginsOrder} = 'SpreadSheetPlugin';
    $TWiki::cfg{MailerContrib}{EmailFilterIn} = '';
    $TWiki::cfg{Languages}{bg}{Enabled} = 0;
    $TWiki::cfg{Languages}{jp}{Enabled} = 0;
    $TWiki::cfg{Site}{CharSet} = 'UTF-8';
    $TWiki::cfg{Site}{Lang} = 'zh';
    $TWiki::cfg{Site}{FullLang} = 'zh-cn';
    $TWiki::cfg{PermittedRedirectHostUrls} = 'http://localhost';
    $TWiki::cfg{EnableEmail} = 1;
    $TWiki::cfg{UserInterfaceInternationalisation} = 1;
    $TWiki::cfg{UseLocale} = 1;
    $TWiki::cfg{RCS}{QueryAlgorithm} = 'TWiki::Store::QueryAlgorithms::BruteForce';
    $TWiki::cfg{ExtensionsRepositories} = 'TWiki.org=(http://twiki.org/cgi-bin/view/Plugins/,http://twiki.org/p/pub/Plugins/)';
    $TWiki::cfg{Register}{AllowLoginName} = 1;
    1;
    posted @ 2008-04-16 22:45 如果有一天de 閱讀(3288) | 評論 (0)編輯 收藏
         摘要: My Oracle Cook Book-來自oralce菜鳥的學習筆記
    準備
    用到的是oracle自帶的用戶和表
    用戶為scott/tiger
    步驟是:連接數據庫  閱讀全文
    posted @ 2008-03-28 09:26 如果有一天de 閱讀(564) | 評論 (0)編輯 收藏
         摘要: Try not to take this personally, but Tracy McGrady hates you.
    Sunday, March 09, 2008

    All right, maybe not you specifically, but what you think. He knows you never thought much of him as a leader, even though it's pretty clear it was never really in his serene(adj.寧靜的、安靜的) personality. He knows you think he is soft(軟蛋), a critique(n.批評) left over from those nights you begged him to drive the ball and take the hit with a bulging disk(灌籃). And he knows you think he is -- for lack o  閱讀全文
    posted @ 2008-03-10 22:31 如果有一天de 閱讀(428) | 評論 (0)編輯 收藏
        最近在修改組里的TMonitor程序頭疼壞了,程序的好多類在設計之初沒有考慮線程安全性,現在在源程序上加功能,怎一個痛苦了的。。。
        楊哥(我剛到公司時接手他的程序)是個大牛,他在地圖的方面開始設計的很好,但是都是靜態數據,沒有數據的動態變化的麻煩,然而后來在
    JMapEdit上實現模擬動態飛行以及動態監控上實現起來是個頭疼的問題,可能會多個線程訪問共享變量,而且有線程對共享變量的write操作,在程序中盡量調整原接口以及實現方式。楊哥走了,目前在組里只有我一個人了解地圖類編程,昨天跟方sir商量新來的同事是否也能接觸我的程序,方sir的回答:TMonitor還是比較難的,估計新來的同事(是個女的)不成,下次招個男的讓他接。。。不爽中,俺還是希望帶個女滴。。。
       
        PS:經驗總結。
        在沒有正確同步的情況下,如果多線程訪問同一個變量,你的程序就存在隱患。有3種方法修復它:
    • 不要多線程共享變量
    • 使狀態變量為不可變的;或者
    • 在任何訪問狀態變量的時候使用同步
        設計線程安全的類時,使用封裝、不可變性以及明確的不便約束等面向對象技術可以使你在解決同步方面的問題時思路清晰
    posted @ 2008-03-05 15:50 如果有一天de 閱讀(240) | 評論 (0)編輯 收藏
    動畫的實現上來說,是設置定時器進行刷新.
    對于Swing程序來說java.swing.Timer類保證了線程在swing調用上的安全性。通過時間參數的設置時間動態定時刷新,
    對于動態往復描繪來說,比如類似于動態的顏色變化,動態的進行透明變化之類的周期性刷新來說,一般需要幾個條件
    1.動畫的周期性
    2.動畫的當前狀態在起始狀態和目標狀態之間
    實現上需要這么幾個參數
    • 起始時間 animation startTime
    • 當前時間 currentime
    • 動畫周期 animation duration
    • 往返因數 fraction

        往返因數fraction

        比如動態調整透明度、動態修改顏色在動畫的過程中可以設定起始與目標值,通過fraction在0-1范圍內進行運算進行調整。
    以算法來描述則為
      起始值設為 init
      目標值為 dest
      實際值為 actual
        actual=init*(1-fraction)+dest*fraction;
      比較明顯的例子為,將顏色從初始顏色動態變化到目標顏色
     
      Color startColor = Color.red;    // where we start
        Color endColor = Color.BLACK;         // where we end
        Color currentColor = startColor;
       ....
       描繪currentColor的一個圓
       在Timer的actionPerform里調整currentColor
       
    // interpolate between start and end colors with current fraction
            int red = (int)(fraction * endColor.getRed() + 
                    (
    1 - fraction) * startColor.getRed());
            
    int green = (int)(fraction * endColor.getGreen() + 
                    (
    1 - fraction) * startColor.getGreen());
            
    int blue = (int)(fraction * endColor.getBlue() + 
                    (
    1 - fraction) * startColor.getBlue());
            
    // set our new color appropriately
            currentColor = new Color(red, green, blue);

    通過定時器的時間參數動態調整往返因數

        通過時間參數進行計算
        如下代碼所示,在Timer的actionPerform里實現
                long currentTime = System.nanoTime() / 1000000;
                
    long totalTime = currentTime - animationStartTime;
                //調整周期的起始時間
                if (totalTime > animationDuration) {
                    animationStartTime 
    = currentTime;
                }
                
    float fraction = (float)totalTime / animationDuration;
                fraction 
    = Math.min(1.0f, fraction);
         注意當前只是計算出了fraction,如何使因子在1-0和0-1之間往復變化呢
        以下代碼實現了該算法
       
        // This calculation will cause alpha to go from 1 to 0 and back to 1
                
    // as the fraction goes from 0 to 1
                alpha = Math.abs(1 - (2 * fraction));
          
        //repaint();//重新繪制


    posted @ 2008-02-14 12:00 如果有一天de 閱讀(1311) | 評論 (1)編輯 收藏
        OO面向對象的編程的一大優勢是封裝,對于現代軟件來說,軟件系統使用組件搭建起來的,這些組件不僅可以出現在一個軟件系統中,而且有可能出現在其他軟件系統中。大多數組件在單線程系統中運行良好,但是在多線程環境下,如何保證組件的線程安全性呢?
        一般來說,封裝能夠保證類的線程安全性。
       
        首先,確定對象的狀態是由那些變量構成的。對象的狀態就是field域的完整狀態。比如基本類型(primitive)的,int value是Counte類的一個field,那么這個域就組成了對象的完整狀態。如果對象有n個基本域,那么對象的狀態就是閾值組成的n元組;如果一個對象引用了其他對象,那么他的狀態也同時包含了被引用的對象的域。比如collection的狀態包含了所有存儲在鏈表的節點對象的狀態。

    posted @ 2008-01-28 16:33 如果有一天de 閱讀(328) | 評論 (0)編輯 收藏
    Charles Ditzel的blog http://cld.blog-city.com/,真正的開發者的blog.
    Swing-labs http://swinglabs.org/,swing實驗室的東西總會省去你很多力氣,而且是開源的。
    The Wizard API https://wizard.dev.java.net/ Wizard導向API
    posted @ 2008-01-22 15:54 如果有一天de 閱讀(255) | 評論 (0)編輯 收藏
         摘要: 通過java2D的scale方法實現翻轉圖片,包括沿著圖片的四個邊進行翻轉  閱讀全文
    posted @ 2008-01-21 17:35 如果有一天de 閱讀(2882) | 評論 (2)編輯 收藏
         摘要: 關于porter-duff的等式和12種規則演示例子  閱讀全文
    posted @ 2008-01-16 14:20 如果有一天de 閱讀(4510) | 評論 (0)編輯 收藏
    關于alphaComposite的porter-duff12種規則應用
    如果理解起來真的麻煩,經常用到的是Clear,SrcIn,Src,SrcOver
    如經常用到的例子
    Clear,如Phtoshope的橡皮擦
    SrcIn,以背景為框框,在背景內繪制
    SrcOver,覆蓋色與背景色混合顯示
    DstIn,在 fade out,reflection可以使用

    posted @ 2008-01-15 17:29 如果有一天de 閱讀(430) | 評論 (0)編輯 收藏
         摘要: 記錄一下Porter-duff12種顏色組合規則,附圖說明  閱讀全文
    posted @ 2008-01-14 16:33 如果有一天de 閱讀(1144) | 評論 (0)編輯 收藏
         摘要: 關于胖客戶端Swing開發的程序的build.xml配置文件,不是最終版本還會進一步完善  閱讀全文
    posted @ 2008-01-14 14:33 如果有一天de 閱讀(233) | 評論 (0)編輯 收藏
         摘要: 我的log4j的設置
    我一般偏愛于使用log4j記錄程序日志,比較起來比java1.4以后自帶的log日志用起來方便
    由于配置文件大同小異,再加上不愿意記這種配置的東東,所以付上我在軟件TMonitor上的配置文件,這樣在家里也不用自己再重新寫了。
    說句題外話,軟件的一大目的就是讓人偷懶。  閱讀全文
    posted @ 2008-01-14 14:25 如果有一天de 閱讀(275) | 評論 (0)編輯 收藏
        最近在自己做的軟件中,想要存儲一些信息到本地,想到了信息得易于修改,所以想到了xml,dom4j跟javaAPI中xml相比較,優勢還是較明顯的,最主要的是因為簡單。
        dom4j、xpath的參考網址為
    • http://www.dom4j.org/ dom4j的官方網址,在這里幾乎能學到dom4j的所有用法,因為它簡單嘛,所以學習曲線不會很難,而且有例子

        注意:dom4j使用xpath得需要xml編譯包,我使用的是jaxen.jar 下載地址為 http://jaxen.org/

        個人觀點:dom4j足夠強大到你使用的項目中,可以采用,對比于java的xml處理的優劣,參考其他文章吧,我看了后,只記得簡單易用而且好像速度也會很好。

    posted @ 2008-01-14 10:54 如果有一天de 閱讀(919) | 評論 (0)編輯 收藏
    主站蜘蛛池模板: 1a级毛片免费观看| 黄色成人免费网站| 亚洲成AV人网址| 亚洲变态另类一区二区三区| 丁香花免费高清视频完整版| 亚洲欧洲另类春色校园小说| 91精品国产免费久久久久久青草| 亚洲国产精品线观看不卡| 51视频精品全部免费最新| 亚洲成a人片毛片在线| 老司机在线免费视频| 亚洲乱码中文论理电影| 国产精品成人观看视频免费| 亚洲国产亚洲片在线观看播放| 99在线视频免费观看视频 | 国产在线不卡免费播放| 最新国产成人亚洲精品影院| 67194成是人免费无码| 亚洲av无码专区亚洲av不卡| 国产成人免费a在线视频色戒| 一区二区三区免费在线视频| 国产亚洲福利精品一区| 无码精品国产一区二区三区免费| 亚洲网站免费观看| 日韩免费观看视频| 国产福利在线观看永久免费| 亚洲大片在线观看| 毛片A级毛片免费播放| 免费国产草莓视频在线观看黄| 中文国产成人精品久久亚洲精品AⅤ无码精品 | 亚洲国产另类久久久精品| 一级做a爰全过程免费视频| 中文文字幕文字幕亚洲色| 午夜亚洲av永久无码精品| 老司机精品免费视频| 亚洲人成影院77777| 国产在线观看免费不卡| 久久精品私人影院免费看| 中文有码亚洲制服av片| 国产成人综合亚洲AV第一页| 1000部拍拍拍18勿入免费视频下载|