【正文】
bean id=singleMaterialProcess class=property name=transactionManagerref bean=transactionManager//propertyproperty name=targetref local=singleMaterialProcessTarget//propertyproperty name=transactionAttributes蘇州大學(xué)本科生畢業(yè)設(shè)計(jì)(。 CostDetailAction 類中有三個(gè)屬性變量purchaseBo、 singleMaterialProcess、orderProcess,通過(guò) bean 標(biāo)簽的子標(biāo)簽 property 來(lái)對(duì)這三個(gè)屬性變量進(jìn)行注入。在 中加入配置文件。action path=/costDetailAction name=costDetailForm scope=request type=ActionProxy parameter=method/由 type=””可見此處 Struts 使用了Spring 的代理模式。如圖 43 所示。圖 42 成本明細(xì)維護(hù)界面用戶可以輸入編號(hào)、合同號(hào)、外銷地區(qū)、款號(hào)、審擬人以及交貨日期這六個(gè)查詢條件進(jìn)行查詢。該文件中可以進(jìn)行如下配置:會(huì)話配置、Servlet 聲明、 Servlet 映射、過(guò)濾器定義與映射、錯(cuò)誤頁(yè)、標(biāo)記庫(kù)映射等。3) 文件:該文件稱為 Web 應(yīng)用程序部署描述符,是 Web 應(yīng)用程序的配置文件,用于在應(yīng)用程序開發(fā)人員、部署人員和集成人員之間傳遞配置信息。該目錄也是 Web 應(yīng)用程序的上下文類路徑。 Java 程序在尋找自身引用的其他類文件時(shí),會(huì)搜索該目錄下的 Java 文件。在該目錄下一般存放下面這些內(nèi)容:1) classes 目錄:用來(lái)存放 Java 類文件,包括被編譯后的 Servlet 文件等。(7)util: 存放常用的 bean 文件,便于引用(8)WEBINF:該目錄用來(lái)存儲(chǔ)與 Web 應(yīng)用程序相關(guān)的元信息。(5)service:存放解決業(yè)務(wù)邏輯的類及接口文件。(3)exception:存放各種異常文件。 圖 41 文件夾的架構(gòu)幾個(gè)重要的文件夾:(1)bean:用于存放各數(shù)據(jù)表所對(duì)應(yīng)的類文件。蘇州大學(xué)本科生畢業(yè)設(shè)計(jì)(論文)24第四章 系統(tǒng)詳細(xì)設(shè)計(jì)與功能實(shí)現(xiàn) 系統(tǒng)項(xiàng)目的文件夾結(jié)構(gòu)在編寫代碼之前,通常先將框架所需要的文件夾先創(chuàng)建出來(lái)(例如:創(chuàng)建各個(gè)框架層次用到的代碼文件分開存放,如 bean、dao 等) ,這樣不但可以方便以后的開發(fā)工作,也可以實(shí)現(xiàn)框架的規(guī)范化。5. 調(diào)用 HibernateTemplate 類的 find()方法。3. CostDetailAction 類的 toView()方法調(diào)用 SingleMaterialProcessImpl 類的getSingleMaterialBillById ()方法。蘇州大學(xué)本科生畢業(yè)設(shè)計(jì)(論文)23C o s t _ V i e w . j s pU S E R S i n g l e M a t e r i a l P r o c e s s I m p l2 . t o V i e w ( )3 . g e t S i n g l e M a t e r i a l B i l l B y I d ( )S i n g l e M a t e r i a l B i l l D A O I m p l H i b e rn a t e4 . g e t S i n g l e M a t e r i a l B i l l B y I d ( )H i b e r n a t e T e m p l a t e5 . f i n d ( )6 . r e t u r n S i n g l e M a t e r i a l B i l l1 . v i e w ( )圖 38 查看成本明細(xì)信息時(shí)序圖具體步驟如下:1. 用戶單擊成本信息列表上的編號(hào)超鏈接時(shí),Struts 的 ActionForward 通過(guò) struts 的配置轉(zhuǎn)發(fā)至 頁(yè)面。6. 返回“刪除成功 ”信息。4. 調(diào)用 SingleMaterialBillDAOImplHibernate 類的 delSingleMaterialBill()方法。2. Struts 會(huì)通過(guò) 的配置調(diào)用 CostDetailAction 類的 dell ()方法。 刪除成本信息時(shí)序圖如圖 37 所示,該圖為刪除成本信息時(shí)序圖。9. 調(diào)用 HibernateTemplate 類的 save()方法。7. CostDetailAction 類的 submitSingleMaterialBill()然后調(diào)用 SingleMaterialProcessImpl類的 createSingleMaterialBill ()方法添加修改后的成本數(shù)據(jù)。5. 調(diào)用 HibernateTemplate 類的 delete()方法。3. CostDetailAction 類的 submitSingleMaterialBill()首先調(diào)用 SingleMaterialProcessImpl類的 dellSingleMaterialBill ()方法刪除原先的成本數(shù)據(jù)。C o s t _ A d d . j s pU S E R S i n g l e M a t e r i a l P r o c e s s I m p l2 . s u b m i t S i n g l e M a t e r i a l B i l l ( )3 . d e l l S i n g l e M a t e r i a l B i l l ( )S i n g l e M a t e r i a l B i l l D A O I m p l H i b e rn a t e4 . d e l S i n g l e M a t e r i a l B i l l ( )H i b e r n a t e T e m p l a t e5 . d e l e t e ( )6 . r e t u r n7 . c r e a t e S i n g l e M a t e r i a l B i l l ( )1 . e d i t ( )8 . s a v e S i n g l e M a t e r i a l B i l l ( )9 . s a v e ( )1 0 . r e t u r n e d i t s u c c e s s m e s s a g e圖 36 修改成本明細(xì)信息時(shí)序圖具體步驟如下:1. 用戶單擊成本信息列表右側(cè)的編輯按鈕時(shí),Struts 的 ActionForward 通過(guò) struts 的配置轉(zhuǎn)發(fā)至 頁(yè)面。6. 返回“添加成功 ”信息。4. 調(diào)用 SingleMaterialBillDAOImplHibernate 類的 saveSingleMaterialBill()方法。2. 用戶填完新的成本信息后單擊提交按鈕時(shí),Struts 會(huì)通過(guò) 的配置調(diào)用 CostDetailAction 類的 submitSingleMaterialBill ()方法。 添加成本信息時(shí)序圖如圖 35 所示,該圖為添加成本信息時(shí)序圖。5. 調(diào)用 HibernateTemplate 類的 find()方法。3. CostDetailAction 類的 queryMa ()調(diào)用 SingleMaterialProcessImpl 類的getSingleMaterialBillsByTerm ()方法。C o s t _ M a . j s pU S E R S i n g l e M a t e r i a l P r o c e s s I m p l2 . q u e r y M a ( )3 . g e t S i n g l e M a t e r i a l B i l l s B y T e r m ( )S i n g l e M a t e r i a l B i l l D A O I m p l H i b e rn a t e4 . f i n d S i n g l e M a t e r i a l B i l l B y T e r m ( )H i b e r n a t e T e m p l a t e5 . f i n d ( )6 . r e t u r n C o s t L i s t1 . q u e r y ( )圖 34 查詢成本信息列表時(shí)序圖具體步驟如下:1. 用戶單擊成本維護(hù)界面右側(cè)的查詢按鈕時(shí),Struts 的 ActionForward 通過(guò) struts蘇州大學(xué)本科生畢業(yè)設(shè)計(jì)(論文)20 的配置轉(zhuǎn)發(fā)至 頁(yè)面。表 33 SINGLE_MATERIAL_BILL_ITEM 表序號(hào)列名 數(shù)據(jù)類型 長(zhǎng)度 小數(shù)位主鍵允許空說(shuō)明1 single_material_bill_item_id bigint 20 是 否 自增長(zhǎng)2 cloth_ponent_id bigint 20 是3 material_id bigint 20 是 材料ID4 quantity_per_cloth double 是 用料5 materialprice double 是 單價(jià)6 materialamount double 是 金額7 materialunit varchar 255 是 單位8 isamount varchar 255 是9 single_material_bill_id bigint 20 是10 item_index bigint 20 是11 FK_ONE bigint 20 是12 embroider double 15 3 是 利潤(rùn)率13 stardate date 是 時(shí)間14 sequence varchar 5 是 序號(hào)15 colongjiao double 15 3 是16 fullindex varchar 40 是17 isGongJiao varchar 45 是 是否為工繳18 supplymaterial varchar 45 是 供貨19 spoil varchar 45 是 損耗20 width varchar 45 是 門幅蘇州大學(xué)本科生畢業(yè)設(shè)計(jì)(論文)1921 remark varchar 100 是 備注如表 34 所示,該表為 STYLE_COMPONENT 表結(jié)構(gòu),用于保存各成本子項(xiàng)配置信息。表 31 USER 表序號(hào) 列名 數(shù)據(jù)類型 長(zhǎng)度 標(biāo)識(shí) 主鍵 允許空 說(shuō)明1 user_id bigint 20 是 是 否 自增長(zhǎng)2 COMP_ID bigint 20 是3 varchar 255 是 電子郵箱4 fax varchar 255 是 傳真5 moblie_phone varchar 255 是 手機(jī)6 ame varchar 255 是 中文名7 name_eng varchar 255 是8 phone varchar 255 是 電話蘇州大學(xué)本科生畢業(yè)設(shè)計(jì)(論文)179 remark varchar 255 是 備注10 status varchar 255 是 狀態(tài)11 user_personal_id varchar 255 是12 user_pwd varchar 255 是 密碼13 employee varchar 255 是 是否為雇員14 user_name varchar 255 是 登錄名15 createby bigint 20 是 創(chuàng)建人 ID16 createDate datetime 是 創(chuàng)建日期17 expireDate datetime 是 到期日期18 effectiveDate datetime 是 有效日期19 address varchar 255 是 地址20 dept_id bigint 20 是 部門 ID21 canEditPlan varchar 1 否如表 32 所示,該表為 SINGLE_MATERIAL_BILL 表結(jié)構(gòu),用于保存成本明細(xì)信息,不包括各成本子項(xiàng)明細(xì)信息。? 確定每個(gè)表的字段屬性等數(shù)據(jù)庫(kù)信息。如果設(shè)計(jì)不當(dāng),查詢起來(lái)就非常吃力,程序的性能也會(huì)受到影響 [2]。在動(dòng)態(tài)網(wǎng)站設(shè)計(jì)中數(shù)據(jù)庫(kù)的重要性不言而喻。 數(shù)據(jù)庫(kù)設(shè)計(jì)數(shù)據(jù)庫(kù)就是存放數(shù)據(jù)的倉(cāng)庫(kù),即數(shù)據(jù)按照一定的規(guī)律存放在計(jì)算機(jī)中,是信息系統(tǒng)的核心和基礎(chǔ),是信息系統(tǒng)開發(fā)和建設(shè)的重要組成部分,把信息系統(tǒng)中大量的數(shù)據(jù)按一定的模型組織起來(lái),提供存儲(chǔ)、維護(hù)、檢索數(shù)據(jù)的功能,使信息系統(tǒng)可以方便、及時(shí)、準(zhǔn)確地從數(shù)據(jù)庫(kù)中獲得所需的信息。Hibernate 也采用了面向?qū)ο蟮乃枷雭?lái)操作數(shù)據(jù)庫(kù)。業(yè)務(wù)邏輯層,主要采用 Javabean,來(lái)實(shí)現(xiàn)具體系統(tǒng)的業(yè)務(wù)邏輯處理。① ① ① JS P① ① ① A ctio n S e rvle t① ① ① Hib e rn a te① ① ① M yS Q L① ① ① B O圖 33 網(wǎng)站模塊分層表現(xiàn)層中,系統(tǒng)主要采用了 JSP 技術(shù),將 Action 傳遞過(guò)來(lái)的數(shù)據(jù)封裝在 ActionForm中,進(jìn)行一定的處理之后,再反饋給前臺(tái)頁(yè)面。(5) 對(duì)于添加錯(cuò)誤的成本信息,可以進(jìn)行對(duì)