發表文章

目前顯示的是 十一月, 2009的文章

Apache HttpClient 4.x 使用 GET, POST 範例

先前我曾經發了一篇介紹如何抓取網頁的教學:
利用Jakarta.Commons.HttpClient抓取網頁、網站(Parser),不過當時用的是 HttpClient 3.1。
經過時間的演進 Apache 已經在 14 August 2009 發佈HttpComponents HttpClient 4.0 (GA)
由 3.1 到 4.0 因為底層幾乎全部重新改寫,所以也使有些舊的程式無法使用。
這篇就是我自己寫的一個簡單範例。

在看範例之前先把一些重要連結整理給大家:
想知道這次到底更動了哪些東西可以看:Apache HttpClient 首頁
官方的 Tutorial 在:Apache HttpClient Tutorial
而 API DOC、說明文件則在:Apache HttpClient apidocs

相關的程式碼、jar 檔在:HttpComponents HttpClient 4.0 (GA)
注意,在寫程式前必需先將四個 jar 檔正確匯入,最後兩個(*)是選用,
請參考:http://hc.apache.org/httpcomponents-client/quickstart.html
commons-logging-x.x.x.jarcommons-codec-x.x.x.jarhttpcore-x.x.x.jarhttpclient-x.x.x.jarapache-mime4j-x.x.x.jar (*)httpmime-x.x.x.jar (*) 說了這麼多,以下是程式的範例,
第一個是傳回在 google 查詢 httpclient 的結果。
第二則是傳回台大圖書館查詢 Head First Java 的結果。

1 package demo.httpclient; 2 3 import java.io.IOException; 4 import java.util.ArrayList; 5 6 import org.apache.commons.httpclient.HttpStatus; 7 import org.apache.http.HttpResponse; 8 import org.apache.http.NameValuePair; 9 import org.apache.http.client.methods…

Java:Log4j 的簡單教學

Log4j 是目前開發 java 時很常用到的 log 套件,
以下整理一些我目前用到的功能,並附上更多更深入的教學。

首先在使用  Log4j 時我們要先將一些 jar 檔匯入,
如果有出現意外的 Exception 記得先找看看是不是有 jar 檔沒有匯入,
類似的問題將 Exception 丟到 google 就會有解答,所以在這邊就不詳細說明。
只列出官方的使用前須知:http://logging.apache.org/log4j/1.2/faq.html#1.3

(2011.10.04更新)
若您只是要快速產生或下載 Log4j 的設定檔,請參考:
Logback, Log4j 設定檔自動產生器

使用 Log4j 時我們可以建立一個 Log4j.properties 檔來描述我們要記錄的項目,
這個設定檔長得像下面這樣:
--------------------------------------------------------------------------------------------------------------
log4j.rootLogger=Info, A1, A2


# A1 is set to be a ConsoleAppender log4j.appender.A1=org.apache.log4j.ConsoleAppender
log4j.appender.A1.layout=org.apache.log4j.PatternLayout
log4j.appender.A1.layout.ConversionPattern=[%d{yy/MM/dd HH:mm:ss}][%p][%C-%L] %m%n

# A2 is set to be a file log4j.appender.A2=org.apache.log4j.DailyRollingFileAppender
log4j.appender.A2.layout=org.apache.log4j.PatternLayout
log4j.appender.A2.layout.ConversionPattern=[%d{yy/MM/dd HH:mm:ss}][%p][%C-%L] %m%n
log4j.appender.A2.File=./log/Log4j.log

Gliffy:取代 Visio 的線上繪圖網站

圖片
當我們想畫流程圖的時候常想到 Visio,
但因為 Visio 太貴學校公司不一定有購買故取得不易,
而且只是偶爾用卻得安裝肥大的程式,這都讓人相當不開心。

然而自從發現 Gliffy 後感覺生命出現了光采呢!(好像老套的廣告 XD)
Gliffy 這個網站如同他自己的介紹,是個 Online Diagram Software,
雖然陽春,但免費又免安裝就讓人用起來相當舒服,
而且 Visio 中比較常用到的功能也都有支援,真的相當不錯。

目前 Gliffy 有提供一些常用的圖片,也支援自己上傳,
另外也有一些基本的功能如:區塊連線、圖形旋轉、調整大小等功能,
但他的群組功能還有點小問題,建議使用時要常存檔,不然格式跑掉很慘。
在繪圖完成後 Gliffy 支援的儲存格式包括 JPG, PNG 和 SVG,
其中 SVG 格式可以透過 Visio 開啟和編輯。

關鍵字:Gliffy、Visio、線上繪圖、繪圖軟體、流程圖、破解、序號
參考資料:
Gliffy[webapp] Visio 苦手的救星,線上畫圖靠 Gliffy下面是介紹圖:

使用 Dom4j 時的 XPath 問題

我們使用 dom4j 時可使用 XPath 來取得特定的 node,如:
List list = document.selectNodes(specificColumnXPath);

此時可能會出現這樣的 Exception:
Exception in thread "main" java.lang.NoClassDefFoundError: org/jaxen/JaxenException
其原因是因為少了 jaxen,下載 jar 檔匯入後應該就可以解決了。

另外如果確定 XPath 正確,selectNodes() 卻一直回傳空值(null)的話,
有可能是因為 xmlns 不是 default 值的關係,相關討論網址如下:
JavaWorld@TW Java論壇- 請教dom4j 的 xpath 問題主题:解决dom4j无法解析xml命名空间的问题
關於Dom4j、XPath的教學則可以參考:
http://www.dom4j.org/dom4j-1.6.1/guide.htmlhttp://www.zvon.org/xxl/XPathTutorial/General/examples.html 關鍵字:dom4j、XPath、jaxen、問題、錯誤、無法使用、xmlns、命名空間
參考資料:
jaxen在Dom4j中使用xpathJavaWorld@TW Java論壇- 請教dom4j 的 xpath 問題主题:解决dom4j无法解析xml命名空间的问题http://www.dom4j.org/dom4j-1.6.1/guide.htmlhttp://www.zvon.org/xxl/XPathTutorial/General/examples.html

XP常用的「開始-執行」指令

在XP中的「開始 - 執行」其實能做很多事,
只要輸入簡單的指令就可以省去在重重資料夾中尋找捷徑的麻煩,
對常用某些服務的人記住幾個字母的指令也許方便得多。

以下是我常用的指令,往後會慢慢更新:
計算機:calc 
工作管理員:taskmgr遠端桌面:mstsc
登錄編輯程式:regedit系統設定公用程式:msconfigping其他更多的指令可參考別人所整理的文件:開始-執行指令大全

關鍵字:Windows XP、XP、開始、執行、指令、輸入、快速
參考資料:
開始-執行指令大全

加快XP開機速度和停頓問題(ADSL使用者)

這篇算是給自己的小筆記。

XP的ADSL使用者常常遇到和我一樣的狀況,
就是開機時網路要等很久或停頓一下才能連線,
連帶地也影響到開機的速度。

面對這種問題可以依以下的步驟解決:
開始-連線-顯示所有連線 區域網路-右鍵-選內容一般-Internet Protocol(TCP/IP)-內容使用下列的ip位址:IP位址:192.168.0.1,子網路遮罩:255.255.255.0
套用後就可以解決上面的問題了。

關於這個解法很久之前有看過說明,
大意是說XP原本設定會由DHCP自動找IP,但ADSL用戶在連線前並沒有IP,
而XP一直到檢查找不到IP後才會用ADSL連線,也因此會停頓一下。
剛剛google了一下有個大陸的網頁有說明:
如何消除XP开机ADSL拨号等待的问题

其他的XP加速法可參考:
XP使用及加速法!!

關鍵字:Windows XP、ADSL、網路連線、網路、加速
參考資料:
XP使用及加速法!!如何消除XP开机ADSL拨号等待的问题

相關文章