2011年11月11日 星期五

jsp & servlet傳送中文檔名解決方法

jsp在超連結時需要用「URLEncoder.encode(chinese, "UTF-8")」將變數進行編碼

而在servlet的地方,因為收到了上面的編碼後,會在自動把它轉成中文,但有時候需要再做其他事請時就會發生錯誤,所以還需要用「URLEncoder.encode(filename, "iso-8859-1")」再做所需要的事情,這樣就不會錯誤了!

Openstack Object Storage 功能簡介(3)-Create Container

如需要建立container時需在curl打入以下指令

curl -k -v -X PUT -H "X-Storage-Token: AUTH_tkb1ee5e1e772844338056e029e9701070" https://192.168.0.1/v1/AUTH_system/photos

-X PUT:使用PUT指令


另外也可以輸入metadata 


curl -k -v -X PUT -H "X-Storage-Token: AUTH_tkb1ee5e1e772844338056e029e9701070" -H "X-Container-Meta-Creater: Jack" https://192.168.0.1/v1/AUTH_system/photos

注意:Metadata一定要以X-Container-Meta-為開頭,用於新創的container或現有的都可以

2011年11月9日 星期三

Openstack Object Storage 功能簡介(2)-List container

如需取得account下的container清單時,取在curl打入以下指令

curl -k -v -G -H "X-Storage-Token: AUTH_tkb1ee5e1e772844338056e029e9701070" https://192.168.0.1/v1/AUTH_system/
  1. -H代表給予Header的值
  2. -k代表把所有過程完整顯示出來
  3. -v代表同意不透過SSL認證
  4. -G代表get方法
  5. AUTH_system是我的account名稱
就會像下面出現container名稱
20110804 20110804-2 20111020 U22 U32 web

也可以加入需要的參數像format=xml

curl -k -v -G -H "X-Storage-Token: AUTH_tkb1ee5e1e772844338056e029e9701070" https://192.168.0.1/v1/AUTH_system/?format=xml
就會回應

<?xml version="1.0" encoding="UTF-8"?>
<account name="AUTH_system">
<container><name>20110804</name><count>5</count><bytes>257370550</bytes></container>
<container><name>20110804-2</name><count>0</count><bytes>0</bytes></container>
<container><name>20111020</name><count>0</count><bytes>0</bytes></container>
<container><name>U22</name><count>0</count><bytes>0</bytes></container>
<container><name>U32</name><count>0</count><bytes>0</bytes></container>
<container><name>web</name><count>0</count><bytes>0</bytes></container>
</account>
也可以輸出成format=json格式
[
{"name":"20110804","count":5,"bytes":257370550},
{"name":"20110804-2","count":0,"bytes":0},
{"name":"20111020","count":0,"bytes":0},
{"name":"U22","count":0,"bytes":0},
{"name":"U32","count":0,"bytes":0},
{"name":"web","count":0,"bytes":0}
]
另外如果限制要輸出幾個container的話最多可以輸出10000個,如果只想要10個的話可以最後面加入?limit=10就可以了
而不想從頭輸出也可以打?marker=U22,這樣就系統就會從U22的「下一筆」開始輸出資料了

2011年11月8日 星期二

Openstack Object Storage 功能簡介(1)-login

Openstack支援使用表徵狀態轉移ReST(Representational State Transer)來對系統下指令
使用 get、post、put、delete這四個指令對系統進行溝通,然後客戶端的應用通過URI來獲取資源的表徵。

URL的架構基本上是:ip/api version/account/container/object

輸入帳號密碼,通過認證後,取得Token,以後的任何動作都需用此Token完成
用curl這個軟體可以看出整個溝通的過程,例如打入以下指令:

curl -k -v -H "X-Storage-User: dev:user" -H "X-Storage-Pass:password" https://192.168.0.1/auth/v1.0

-H代表給予Header的值
-k代表把所有過程完整顯示出來
-v代表同意不透過SSL認證
實際帳號、密碼、URL請自己修改

結果為:

> GET /auth/v1.0 HTTP/1.1
> User-Agent: curl/7.21.7 (amd64-pc-win32) libcurl/7.21.7 OpenSSL/0.9.8r zlib/1.
2.5
> Host: 192.168.0.1
> Accept: */*
> X-Storage-User: dev:user
> X-Storage-Pass:password
>
< HTTP/1.1 200 OK
< X-Storage-Url: https://192.168.0.1/v1/AUTH_system
< X-Storage-Token: AUTH_tkb1ee5e1e772844338056e029e9701070
< X-Auth-Token: AUTH_tkb1ee5e1e772844338056e029e9701070
< Content-Length:0

接下就可以利用token對系統下其他指令了!

2011年4月26日 星期二

gnucash 自訂圖表方法

發現gnucash的功能非常多,但也因為太多了,變得很複雜。
今天要教大家的是如而自定圖表,gnucash可以輸出很多表,但有些並沒這麼喜歡,其實是可以自定的。



需要更改名稱才可以儲存,其實還有很多可以設定,可以自己玩玩看。






2011年4月7日 星期四

php與mysql資料庫的連結方法

$DB_ACCOUNT = "root"; //資料庫帳號
$DB_PASSWD = "123"; //資料庫密碼
$DB_HOST = "localhost"; //資料庫位置
$DB_SELECT = "database"; //資料庫名稱

$LINK = mysql_connect($DB_HOST, $DB_ACCOUNT, $DB_PASSWD);
If ($LINK){
mysql_select_db($DB_SELECT, $LINK);
} else {
echo "暫時停止服務";
exit;
}
//將資料寫入資料庫時存成utf8格式
mysql_query("SET NAMES utf8");
mysql_query("SET CHARACTER_SET utf8");
?>

通常為了讓網頁程式碼精簡化,我們會將上面的連結程式碼獨立出來,並命名,例:connect.php,然後在需要的網頁中加入「include('connect.php');」即可連結資料庫,不需要每次在重新打一次。

2011年4月5日 星期二

為何要使用php與mysql資料庫?

網路上看到的網頁95%跟資料庫結合,如此一來可以很方便的管理,可以做到:
1. 程式與資料分開2. 簡化程式碼,初學者在學網頁程式時需要新增、修改內容,總是寫完後把html檔案傳到ftp空間,對於資料內容的維護、管理非常的不方便。

有了php&mysql時可以很快又準確的做出網頁(例如for迴圈),容易管理內容(資料與程式分開)