采用struts spring hibernate開發(fā)的一個(gè)web系統(tǒng)(7)--系列截至
Posted on 2006-10-19 16:44 城市劣人 閱讀(1823) 評(píng)論(0) 編輯 收藏已經(jīng)轉(zhuǎn)移到 好·色之徒--我的博客、我的生活
通過前面幾篇文章的講述,系統(tǒng)核心的部分基本上已經(jīng)結(jié)束了。
為了更加清晰的描述整個(gè)系統(tǒng)的開發(fā)過程,下面想通過一個(gè)小的功能來(lái)講述如何在這基礎(chǔ)之上來(lái)開發(fā)的,當(dāng)然主要是過程,具體類的內(nèi)容可以參考源代碼。
就拿訂單(order)模塊的訂單處理功能來(lái)講述:
需要建立的類有action:OrderAction.java
pojo:OrderInfo.java(hbm:OrderInfo.hbm.xml)
service:IOrderService.java,OrderServiceImpl.java
需要的jsp為orderInfo.jsp,以及相關(guān)配置文件(待會(huì)再講)
下面一樣一樣的表述:
action:OrderAction.java
需要繼承com.iplan.portal.framework.base.struts.BaseAction,所需要的Service都采用get、 set方法來(lái)設(shè)置。Action類中方法采用統(tǒng)一的一定的規(guī)則,比如:select、list、edit、save、delete、search,后續(xù)的 Action類都采用了這樣的命名,有助于統(tǒng)一規(guī)劃。
pojo部分,是對(duì)數(shù)據(jù)庫(kù)表字段的映射,比較簡(jiǎn)單,可以手工自己編寫,也可以采用HibernateSynchronizer等來(lái)完成
service:IOrderService.java,OrderServiceImpl.java
接口和實(shí)現(xiàn)。接口中的方法命名值得注意一下,一般采用get、save、update、delete+功能名,其中g(shù)et方法涉及的比較多,所以根據(jù)實(shí)際需求來(lái)設(shè)置,通過by...,只是適合,規(guī)定下來(lái)就可以。
實(shí)現(xiàn)中需繼承com.iplan.portal.framework.base.BaseService,這是所有服務(wù)類的基類,這里就是具體的業(yè)務(wù)實(shí)現(xiàn)過程,一般都會(huì)用到CommonDAO。
jsp沒有什么特別之處,下面講一下配置文件的信息
struts-config中的struts-config-order.xml,以pojo"OrderInfo"作為form-bean的屬性,再配置一個(gè)action,其它的不用設(shè)置了。
action-servlets-config中的action-servlets-order.xml,以你剛剛配置的struts-config-order.xml中的action中的path屬性值,配置一個(gè)bean,bean的name屬性值就是模塊名+path屬性值。這個(gè)就是你真正需要的OrderAction,其間設(shè)置了所需要的Service
tiles-config中的tiles-defs-order.xml,來(lái)設(shè)置你在struts-config-order.xml配置的資源流轉(zhuǎn)的jsp資源信息
validation-config中的validation-order.xml,設(shè)置你需要驗(yàn)證的表單信息,其中form中的name屬性值就是你定義的form-bean的name屬性值
最后把OrderInfo.hbm.xml文件追加到hibernate.cfg.xml中去,在ApplicationResources.properties對(duì)應(yīng)的屬性文件中追加相應(yīng)的資源。運(yùn)行你的服務(wù)器,可以展現(xiàn)你的畫面了。
以上簡(jiǎn)單的介紹了一下,開發(fā)一個(gè)具體功能模塊的過程,以作參考之用。
最后,說(shuō)明幾個(gè)遺漏的功能,作為最后的補(bǔ)充,采用struts+hibernate+spring開發(fā)的一個(gè)web系統(tǒng)系列暫時(shí)告一段落,希望有所幫助,謝謝!
附:
1、app-config下的applicationContext.xml,baseTransactionProxy下的transactionAttributes,沒有詳細(xì)的設(shè)定(它是為service服務(wù)的),這里只是做了個(gè)例子。
2、密碼采用MD5加密,密碼修改時(shí)顯示的原始秘密為MD5值,沒有改掉,留意一下。
采用struts+hibernate+spring開發(fā)的一個(gè)web系統(tǒng)(7)--系列截至?? 有個(gè)論壇
通過前面幾篇文章的講述,系統(tǒng)核心的部分基本上已經(jīng)結(jié)束了。
為了更加清晰的描述整個(gè)系統(tǒng)的開發(fā)過程,下面想通過一個(gè)小的功能來(lái)講述如何在這基礎(chǔ)之上來(lái)開發(fā)的,當(dāng)然主要是過程,具體類的內(nèi)容可以參考源代碼。
就拿訂單(order)模塊的訂單處理功能來(lái)講述:
需要建立的類有action:OrderAction.java
pojo:OrderInfo.java(hbm:OrderInfo.hbm.xml)
service:IOrderService.java,OrderServiceImpl.java
需要的jsp為orderInfo.jsp,以及相關(guān)配置文件(待會(huì)再講)
下面一樣一樣的表述:
action:OrderAction.java
需要繼承com.iplan.portal.framework.base.struts.BaseAction,所需要的Service都采用get、 set方法來(lái)設(shè)置。Action類中方法采用統(tǒng)一的一定的規(guī)則,比如:select、list、edit、save、delete、search,后續(xù)的 Action類都采用了這樣的命名,有助于統(tǒng)一規(guī)劃。
pojo部分,是對(duì)數(shù)據(jù)庫(kù)表字段的映射,比較簡(jiǎn)單,可以手工自己編寫,也可以采用HibernateSynchronizer等來(lái)完成
service:IOrderService.java,OrderServiceImpl.java
接口和實(shí)現(xiàn)。接口中的方法命名值得注意一下,一般采用get、save、update、delete+功能名,其中g(shù)et方法涉及的比較多,所以根據(jù)實(shí)際需求來(lái)設(shè)置,通過by...,只是適合,規(guī)定下來(lái)就可以。
實(shí)現(xiàn)中需繼承com.iplan.portal.framework.base.BaseService,這是所有服務(wù)類的基類,這里就是具體的業(yè)務(wù)實(shí)現(xiàn)過程,一般都會(huì)用到CommonDAO。
jsp沒有什么特別之處,下面講一下配置文件的信息
struts-config中的struts-config-order.xml,以pojo"OrderInfo"作為form-bean的屬性,再配置一個(gè)action,其它的不用設(shè)置了。
action-servlets-config中的action-servlets-order.xml,以你剛剛配置的struts-config-order.xml中的action中的path屬性值,配置一個(gè)bean,bean的name屬性值就是模塊名+path屬性值。這個(gè)就是你真正需要的OrderAction,其間設(shè)置了所需要的Service
tiles-config中的tiles-defs-order.xml,來(lái)設(shè)置你在struts-config-order.xml配置的資源流轉(zhuǎn)的jsp資源信息
validation-config中的validation-order.xml,設(shè)置你需要驗(yàn)證的表單信息,其中form中的name屬性值就是你定義的form-bean的name屬性值
最后把OrderInfo.hbm.xml文件追加到hibernate.cfg.xml中去,在ApplicationResources.properties對(duì)應(yīng)的屬性文件中追加相應(yīng)的資源。運(yùn)行你的服務(wù)器,可以展現(xiàn)你的畫面了。
以上簡(jiǎn)單的介紹了一下,開發(fā)一個(gè)具體功能模塊的過程,以作參考之用。
最后,說(shuō)明幾個(gè)遺漏的功能,作為最后的補(bǔ)充,采用struts+hibernate+spring開發(fā)的一個(gè)web系統(tǒng)系列暫時(shí)告一段落,希望有所幫助,謝謝!
附:
1、app-config下的applicationContext.xml,baseTransactionProxy下的transactionAttributes,沒有詳細(xì)的設(shè)定(它是為service服務(wù)的),這里只是做了個(gè)例子。
2、密碼采用MD5加密,密碼修改時(shí)顯示的原始秘密為MD5值,沒有改掉,留意一下。
采用struts+hibernate+spring開發(fā)的一個(gè)web系統(tǒng)(7)--系列截至?? 有個(gè)論壇