Pages

2009/01/07

[SCWCD] POST與GET的不同

GET及POST都是HTML中表單傳送的方式,而兩者有什麼差異呢?
"GET"的特性:
  1. 會顯示於網址列上,如:http://test.web.com/hellowolrd.jsp?name=ping,紅色部分為GET傳遞方式
  2. 有傳遞參數有內容長度限制約255位元
  3. 是冪等(idempotent)的方法,意指多次傳遞參數請求所得到的結果仍時一樣,並不會影響伺服器上的資料內容,(冪等為何物?後面會再加以說明)
"POST"的特性:
  1. 傳遞參數內容放置在傳送資料中,並不會顯示於網址列上
  2. 傳遞參數內容並無限制大小
若資料內容過多或是須要隱藏顯示,建議是"POST"方式傳遞參數。

2008/12/06

[Java] 用Recursion撰寫檔案列表

遞迴Recursion是撰寫程式的小技巧,
讓程式中的方法(function)可自行呼叫方法本身,
這樣的做法可以讓程式內容易讀, 程式內容也會比較簡潔.

2008/11/15

[SQL] Trigger 觸發程序(一)

Trigger 其目的為監控 Table, 當 Table有新增或更新內容時, 可以將已預設儲存的動作予以執行,
故當一個 Table有 insert, update, delete等行為時,
將會自動執行預設的 Trigger行為.

2008/10/17

[Java] "equals()"與"=="

"=="是比較兩參考變數所儲存之值,
若該參考變數為基本資料型態, 會比較其存放之值是否相同, 相同則傳回true, 反之則傳回false.
若該參考變數為物件型態, 會比較該變數是否指向同一物件, 相同則傳回true, 反之則傳回false.

"equals()"為Java類別Object原有之函式, 繼承Object時可依據比較之內容及規則覆寫該方法,
若沒有覆寫equals(), 其比較條件如同"==".
JavaAPI有註明當覆寫equals()時, 必須覆寫hashCode(),
因當兩個物件相等時, 其hash code也必定會相等.
(若沒修改, JVM會隨機產生一組hash code)

[Java] Override 覆寫

當子類別繼承父類別時, 可以透過Override方式改寫父類別的方法,
當使用override修改父類別的方法, 有下列幾點限制:
  1. 方法名稱不能修改.(改了就是新增方法而不是覆寫了!)
  2. 若父類別的方法有丟出例外時, 子類別也必須丟出此例外或該例外之子類別.
  3. 子類別方法所傳回值之型態須與父類別方法一樣. (若更改傳回值之型態, 這樣就是overload了吧!)
  4. 子類別方法之修飾詞權限不得小於父類別. (繼承的用意就是希望孩子變強, 那有變弱的道理!)
  5. 若父類別之方法設定為final, 子類別不能修改該方法. (廢言, 都已經是final怎麼改寫)
  6. 若父類別之方法宣告為static, 子類別不可將其宣告為non-static, 反之亦然.


以下情況皆為重新定義非覆寫:
  1. 修改父類別之靜態方法
  2. 修改父類別之private方法

2008/10/14

[SQL] Primary Key 與 Foreign Key

關聯式資料庫(RDB)中, 建立資料表的關聯性是由key組成的.
key可分為Primary Key 與 Foreign Key兩種.

Primary Key:
標記為Primary Key的欄位其值是唯一不可重覆.
Foreign Key:
將兩資料表建立關聯性之欄位其設定Key值為Foreign Key.

2008/10/08

[Java] Encapsulation 封裝

封裝的好處:
  1. 可避免類別中的屬性直接被存取
  2. 當class中的method有更動時, 可以確保每支使用到該class的程式都可以統一做變更