20061127

WEB 實務:forward vs redirect

Redirect: 伺服器會回復 HTTP 302 的訊息,告訴 client 要求的網頁在新位置,
訊息如下:

HTTP/1.1 302 Object moved
Location: somewhere/newlocation.jsp

Forward: 直接由伺服器把原本的 request 轉送到另一個網頁,client 不知道這個動作。

在 JSP 中,redirect 是由 Respose 物件支援,而 forward 是 RequestDispatcher 物件支援。

20061125

需要研究:分散式協同教材

scorm: http://www.adlnet.gov/scorm/20043ED.cfm

20061117

JDBC 實務:使用 JDBC 時,一定要放在 try 區塊中,並於 finally 區塊釋放 Connection

在 try/catch/finally 語法中,若有定義 finally 區塊,則執行 try 區塊後,一定會執行 finally 區塊的程式碼。
所以若程式有使用 JDBC 時,一定要包在 try 區塊中,並在 finally 中關閉 connection 釋放資源,才不會耗盡資源。
一般實務作法如下例:


Connection con=null;
try{
con=new Connection();
...
...
...
}finally{
try{
con.close();
}catch(Throwable e) {
String errmsg="close connection failed! errmsg is "+e.getMessage();
log.error(errmsg);
}
}

Java 實務:發生例外事件時,log 所有的錯誤訊息

系統發生無法處理的例外時,若只顯現「發生系統錯誤,請連絡資訊室!」,但完全沒有 log 錯誤訊息,對除錯是沒有幫助的,尤其是網頁程式,若沒有作 log,則程式人員是無法掌握例外當下系統的狀態。
因此系統應導入 log 機制 Ex.log4j,來幫助我們 trace 產生例外的程式。建議所有的程式,全部應放鄉 try/catch(throwable) 區塊,除了顯現「發生系統錯誤,請連絡資訊室!」外,並將所有例外訊息傳給 log 以利除錯。
建議在程式加入以下源碼:

try {
;
}catch(Throwable e){
String errmsg = "系統例外:"+e.getMessage();
log.error(errmsg);
throw new RuntimeException(errmsg, e);
}

20061115

mathml in docbook

要讓 mozilla 的顯示 mathml 生效,請將網頁副檔名為 xhtml ,很重要。

20061110

轉檔中最重要的是資料整理

資料整理
像是 cobol 將 text date 匯到 informix
而又要將 date string coverse to date type,
先用 delete 將不合 formate 的 date string,
再作 conversion