轉(zhuǎn)自http://www.tkk7.com/black_zerg/archive/2005/05/30/5327.html
|
在
src
目錄下為
Java
源碼
dao
負(fù)責(zé)數(shù)據(jù)訪問對(duì)象的定義和實(shí)現(xiàn)
其中
Dao
結(jié)尾為接口,
Impl
結(jié)尾為實(shí)現(xiàn)。目前一般用
hibernate
做實(shí)現(xiàn)。
domain
實(shí)體對(duì)象
logic
針對(duì)實(shí)體對(duì)象封裝的邏輯
這里
service
是外觀接口,
serviceimpl
是實(shí)現(xiàn),考慮目前情況簡(jiǎn)單,并沒有進(jìn)一步分離邏輯,業(yè)務(wù)邏輯都在
impl
中完成。
web
界面相關(guān)的
Java
類
common
是一些常用類,如處理中文問題的
filter.
displaytag
中放了
displaytag
相關(guān)的類,多為
wrapper.
webwork
中都是對(duì)應(yīng)的
action
,
其中
BaseAction
是基本的抽象類,基本后續(xù)開發(fā)應(yīng)繼承此類
CrudAction
是為了一般的
Crud
工作而作的一個(gè)抽象類,可以繼承用來簡(jiǎn)化工作。
而
CaseDispatcher
負(fù)責(zé)菜單點(diǎn)擊后分發(fā)到相關(guān)
Action
,同時(shí)處理權(quán)限和
session
工作。
其他
action
按模塊進(jìn)行了組織
|
|
左邊是
webroot
的結(jié)構(gòu)
重要的配置文件有:
Spring
applicationContext.xml
applicationContext-db.xml
Webwork
xwork.xml
webwork.properties
i18n
labels.properties
log4j
log4j.properties
displaytag
displaytag.properties
dbConnect
jdbc.properties
|
關(guān)于一些技術(shù)難點(diǎn)和細(xì)節(jié):
1.
各框架連接:
spring
到
hibernate
使用
spring
的
hibernate
支持。
Spring
到
webwork
使用
autoware
的攔截機(jī)制自動(dòng)裝配。
2.
列表的問題,采用
displaytag
。功能強(qiáng)大,使用簡(jiǎn)潔,可實(shí)現(xiàn)排序和數(shù)據(jù)導(dǎo)出。
3.
數(shù)據(jù)下載,使用
displaytag
自帶的
excel
下載
4.
文件上傳,使用
webwork
提供的解決方案,用攔截機(jī)制實(shí)現(xiàn)。
5.
jsp
代碼組織方面,我們使用
taglib
和
css
技術(shù)使
jsp
中頁面邏輯減少到最小,一般情況完全可以不使用
<% %>
的
script
段
。同時(shí)我們使用兩個(gè)
include
來包含常用的
taglib
定義,
js
引用和
html
結(jié)構(gòu),使
jsp
代碼非常簡(jiǎn)潔。
6.
中文問題
我們使用
filter
來解決頁面
gbk
到
Java
程序
unicode
的轉(zhuǎn)換,同時(shí)通過正確的設(shè)置數(shù)據(jù)庫連接
url
完成和數(shù)據(jù)庫之間的交互。
7.
I18n
國(guó)際化。我們要求在
jsp
代碼中不出現(xiàn)中文,所有提示信息都通過資源文件
labels.properties
來完成。頁面中可以使用
jstl
或
webwork
標(biāo)簽來調(diào)用。
8.
界面驗(yàn)證問題。使用
webwork
的
validate
機(jī)制用
xml
定義,或在
action
中代碼判斷。