天天看點

【鬥醫】【2】Web應用開發20天

讓我們想一想,一個web應用系統應該有自己的異常處理類、日志列印類、架構邏輯處理類等等,在這方面當然我們也無法例外。那先讓我們封裝一個簡單的異常處理類吧。

在d:\medical下依次建立src\com\medical\frame檔案夾,然後在frame下建立frameexception.java檔案,其目錄結構如下:

【鬥醫】【2】Web應用開發20天

下面我們把src關聯到eclipse中,這裡啰嗦下:網上教程大都以myeclipse為開發工具,本文想弱化開發工具的功能。

1.打開eclipse選擇“file > new > java project”,在“new project”框的project name中輸入medical,點選finish。

2.删除medical工程下的src目錄

3.在medical工程上右鍵,選擇“properties > java build path > source > link source...”,打開“link source”視窗。

4.在“link source”視窗中點選“browse”按鈕,選擇“d:\medical\src”,點選“finish”按鈕,如圖:

【鬥醫】【2】Web應用開發20天

5.在“perperties for medical”視窗中選擇“ok”按鈕

這樣就把d:\medical\src下的代碼與eclipse工程聯系起來了,這樣對d:\medical\src\com\medical\frame\frameexception.java的修改都展現在eclipse中。

6.下面完善frameexception.java異常類,對于異常來講比較直接展現在界面上的應該是類似内容:

錯誤碼:404

錯誤描述:對應的頁面找不到

錯誤詳細原因:這個應該是開發人員看的,對于最終使用者可以選擇看到,也可以選擇看不到

是以該類中暫時定義int errorcode、 string errordesc和string errordetail三個屬性

7.異常類應該繼承自exception,具體見附件。

8.再思考一個問題,頁面若支援中英文兩種語言,錯誤碼404對應的應該有兩種錯誤描述,這兩種錯誤描述應該來源自資源檔案,而非在frameexception構造器或方法中對errordesc進行指派,是以大緻上應該有兩個構造器:

public frameexception(int errorcode)

{

 this.errorcode = errorcode;

// errordesc應該從中英文資源檔案中根據errorcode讀取

}

public frameexception(int errorcode, exception e)

this.errorcode = errorcode;

this.errordetail = e.tostring();

9.怎麼把編譯後的class放置到war包中呢?

(1)在eclipse中建立一個變量runtime,讓其與d:\medical\war關聯。在eclipse中選擇“window > preferences >general > workspace > linked resource > new”,在“new variable”視窗中點選“folder”,選擇location為“d:\medical\war”,name填寫為runtime,如圖所示:

【鬥醫】【2】Web應用開發20天

(2)在medical工程中右鍵,選擇“new > folder > advanced > link to alternate location(linked folder) > variables...”

(3)在“select path variable”視窗中選擇runtime,這樣就把d:\medical\war關系到eclipse的medical工程的runtime

(4)在d:\medical\war\web-inf下建立classes檔案夾

(5)在medical工程上右鍵,選擇“properties > java build path > source”,勾選“allow output folders for source folders”後,再展開medical/src前面的+号,如圖所示:

【鬥醫】【2】Web應用開發20天

(6)輕按兩下“output folder: (default output folder)”,選擇“specific output folder (path relative to 'medical') > browse...”

(7)在“folder selection”視窗中,依次選擇“medical > runtime > web-inf > classes”檔案夾,然後選擇“ok”按鈕。這樣就把frameexception編譯之後的class輸入到d:\medical\war\web-inf\classes下了。

【備注】:

這裡把精力都放到了工程搭建上,由于使用不同的工具或工程都會有點差異,這裡隻是把eclipse當成編譯工具使用。

繼續閱讀