于海雯 婁芳
摘要:由于多數(shù)網(wǎng)站后臺的管理功能主要是完成底層基礎(chǔ)數(shù)據(jù)的增刪改查(CRUD),所以該文結(jié)合一個小的案例,利用目前企業(yè)網(wǎng)站開發(fā)技術(shù)中廣為應(yīng)用的SSH框架技術(shù),展現(xiàn)一個完整的后臺管理功能的實現(xiàn)過程。
關(guān)鍵詞:Struts2;Spring;Hibernate;CRUD
中圖分類號:TP311 文獻標識碼:A 文章編號:1009-3044(2014)30-7045-03
SSH框架是很多企業(yè)開發(fā)網(wǎng)站類項目最常用的軟件開發(fā)技術(shù)、主流框架技術(shù)組合。
1 SSH框架
SSH框架由三種框架技術(shù)組成:Struts2、Spring、Hibernate。
1.1 Struts2框架技術(shù)
Struts2是目前主流的MVC框架?;赟truts2進行項目的開發(fā),可以大大減少開發(fā)時間,提高開發(fā)效率,降低后期維護時間和精力。簡單來講,Struts2是以WebWork為核心,采用攔截機制來處理用戶的請求,使得頁面顯示與業(yè)務(wù)邏輯處理可以分離開來。注意配置文件Struts.xml應(yīng)合理配置。
1.2 Spring框架技術(shù)
Spring是一個輕量級框架,用Spring開發(fā)的系統(tǒng)類不需依賴于Spring中的類,不需容器支持,Spring負責控制對象的生命周期和對象間的關(guān)系,能實現(xiàn)將業(yè)務(wù)邏輯層與數(shù)據(jù)訪問層分離。
Spring二大功能:控制反轉(zhuǎn)IoC和切面編程AOP??刂品崔D(zhuǎn)IoC是Spring的核心技術(shù)之一,IoC意味著將設(shè)計好的類交給系統(tǒng)去控制,而不是在類內(nèi)部控制,所以稱為控制反轉(zhuǎn)。IoC的目的是試圖在面向?qū)ο缶幊讨腥サ羲邢嗷ヒ蕾嚨默F(xiàn)象,即降低耦合度,這使得對象具有更好的多態(tài)性和封裝性,同時也意味著錯誤的相互干擾也大大降低。AOP切面編程通常在方法的前后進行橫向關(guān)系編程,比如人進入自動門時,進入前后的開門、關(guān)門其實和人進門后所要做的事情本身是沒有關(guān)系的,那么降低它們之間的耦合度就可以用AOP實現(xiàn)。
1.3 Hibernate框架技術(shù)
Hibernate是目前最流行的持久層框架,專注于數(shù)據(jù)庫操作;它能對JDBC進行輕量級封裝,將對象模型表示的數(shù)據(jù)映射到SQL表示的關(guān)系模型上,以面向?qū)ο缶幊趟枷雭聿僮鲾?shù)據(jù)庫,使得開發(fā)人員只需要更加關(guān)注業(yè)務(wù)邏輯處理的編碼實現(xiàn)。
2 結(jié)合案例的后臺管理功能的實現(xiàn)過程
2.1 簡單案例需求分析及定義
作為簡介SSH框架技術(shù)實現(xiàn)網(wǎng)站后臺管理功能的案例,為了更好地使得本文的敘述著重于用SSH框架技術(shù)實現(xiàn)的流程,該文的案例“用戶管理系統(tǒng)”需求很簡單,具體就是假設(shè)某公司,有若干部門,每個部門有若干工作組,公司所有員工要求必須屬于某個工作組。要求“用戶管理系統(tǒng)”后臺能實現(xiàn)對部門、工作組、員工等實體對象底層基礎(chǔ)數(shù)據(jù)的增刪改查。
2.2 數(shù)據(jù)庫設(shè)計
可以支撐標準的大型數(shù)據(jù)庫,如SQL Server,Oracal等,數(shù)據(jù)庫設(shè)計主要涉及2個階段:概念模型(CDM)設(shè)計和物理模型(PDM)設(shè)計。
2.2.1概念模型(CDM)設(shè)計
概念模型設(shè)計階段側(cè)重于對用戶需求的分析,根據(jù)用戶需求,抽絲剝繭抽象出實體,每個實體對應(yīng)的就是以后數(shù)據(jù)庫中的一個表格,于是實體的屬性就映射成為了數(shù)據(jù)表的字段;各個實體的關(guān)系也將會在下一階段的PDM圖中以外鍵關(guān)系反應(yīng)出來。本案例實體有4個:部門(depart)、組(group)、用戶(user)、用戶組群(userGroup);其中,用戶組群是為了展示實體之間如何處理多對多的關(guān)系而增加的實體。
2.2.2 物理模型(PDM)設(shè)計
物理模型設(shè)計階段是在概念模型設(shè)計的基礎(chǔ)上,由軟件自動轉(zhuǎn)化生成。這個階段得到的PDM圖,每個實體的屬性,包括由關(guān)系轉(zhuǎn)化而來的外鍵,就真正表示數(shù)據(jù)庫中對應(yīng)表的字段;
2.3 架構(gòu)設(shè)計
架構(gòu)設(shè)計,是根據(jù)所開發(fā)網(wǎng)站規(guī)模、用戶需求等各方面因素,搭建出架構(gòu)設(shè)計主體框架。該文中使用的架構(gòu)包JavaDemo,界面簡潔,結(jié)構(gòu)清晰,“江西微軟技術(shù)中心”常在IT項目培訓(xùn)教學(xué)中使用。
本次架構(gòu)設(shè)計是在用戶需求定義明確,并完成了詳細的數(shù)據(jù)庫設(shè)計基礎(chǔ)上,用JavaDemo實現(xiàn)。
最終架構(gòu)生成的代碼,每個實體對應(yīng)產(chǎn)生的頁面有三個,以“用戶(user)”實體來看分別是:user-list.jsp,user-input.jsp,user-view.jsp。
具體步驟略。
2.4 修改后臺管理功能相關(guān)模塊的代碼
根據(jù)前面對“用戶管理系統(tǒng)”的數(shù)據(jù)庫設(shè)計的結(jié)果,部門、組、用戶、用戶組群之間是有一定的業(yè)務(wù)邏輯關(guān)系的!根據(jù)設(shè)計結(jié)果,用戶屬于某工作組,工作組屬于某部門,這樣,部門、工作組、用戶之間就形成了依賴關(guān)系;比如,一開始增加用戶記錄時,由于數(shù)據(jù)庫中還沒有任何部門、工作組的數(shù)據(jù),用戶記錄插入數(shù)據(jù)庫表時肯定不完整。
因此代碼修改時,在實現(xiàn)“用戶管理系統(tǒng)”后臺管理功能時,應(yīng)體現(xiàn)這個業(yè)務(wù)邏輯關(guān)系。
2.5 幾點說明
受到特定框架技術(shù)約定的約束,在進行數(shù)據(jù)庫設(shè)計時,表格命名、字段命名、comment等內(nèi)容需遵從約定;
受到框架技術(shù)約定的約束,在jsp頁面命名時,要遵循相關(guān)規(guī)定;
具體約束內(nèi)容,因篇幅原因,該文不做詳述。請參看相關(guān)用戶手冊。
3 結(jié)束語
SSH框架技術(shù)可以短時間內(nèi)迅速搭建起結(jié)構(gòu)清晰、可復(fù)用性好、維護方便的Web應(yīng)用程序。但由于不同項目的具體業(yè)務(wù)流程、業(yè)務(wù)處理內(nèi)容等不同,加上后臺管理功能最終都可以歸結(jié)為底層數(shù)據(jù)的增刪改查,不像前臺頁面要求有豐富的頁面效果和很好的用戶互動體驗,這使得后臺管理功能的開發(fā)、實現(xiàn)和維護很適合用SSH框架技術(shù)。
參考文獻:
[1] 古樂聲.JavaWeb程序設(shè)計與項目實踐[M].北京:電子工業(yè)出版社,2011.
[2] 陳軼.Web開發(fā)技術(shù)實用教程[M]. 北京:清華大學(xué)出版社,2011.
[3] 廖若學(xué).JSP高級編程[M]. 北京:機械工業(yè)出版社,2001.endprint
摘要:由于多數(shù)網(wǎng)站后臺的管理功能主要是完成底層基礎(chǔ)數(shù)據(jù)的增刪改查(CRUD),所以該文結(jié)合一個小的案例,利用目前企業(yè)網(wǎng)站開發(fā)技術(shù)中廣為應(yīng)用的SSH框架技術(shù),展現(xiàn)一個完整的后臺管理功能的實現(xiàn)過程。
關(guān)鍵詞:Struts2;Spring;Hibernate;CRUD
中圖分類號:TP311 文獻標識碼:A 文章編號:1009-3044(2014)30-7045-03
SSH框架是很多企業(yè)開發(fā)網(wǎng)站類項目最常用的軟件開發(fā)技術(shù)、主流框架技術(shù)組合。
1 SSH框架
SSH框架由三種框架技術(shù)組成:Struts2、Spring、Hibernate。
1.1 Struts2框架技術(shù)
Struts2是目前主流的MVC框架?;赟truts2進行項目的開發(fā),可以大大減少開發(fā)時間,提高開發(fā)效率,降低后期維護時間和精力。簡單來講,Struts2是以WebWork為核心,采用攔截機制來處理用戶的請求,使得頁面顯示與業(yè)務(wù)邏輯處理可以分離開來。注意配置文件Struts.xml應(yīng)合理配置。
1.2 Spring框架技術(shù)
Spring是一個輕量級框架,用Spring開發(fā)的系統(tǒng)類不需依賴于Spring中的類,不需容器支持,Spring負責控制對象的生命周期和對象間的關(guān)系,能實現(xiàn)將業(yè)務(wù)邏輯層與數(shù)據(jù)訪問層分離。
Spring二大功能:控制反轉(zhuǎn)IoC和切面編程AOP??刂品崔D(zhuǎn)IoC是Spring的核心技術(shù)之一,IoC意味著將設(shè)計好的類交給系統(tǒng)去控制,而不是在類內(nèi)部控制,所以稱為控制反轉(zhuǎn)。IoC的目的是試圖在面向?qū)ο缶幊讨腥サ羲邢嗷ヒ蕾嚨默F(xiàn)象,即降低耦合度,這使得對象具有更好的多態(tài)性和封裝性,同時也意味著錯誤的相互干擾也大大降低。AOP切面編程通常在方法的前后進行橫向關(guān)系編程,比如人進入自動門時,進入前后的開門、關(guān)門其實和人進門后所要做的事情本身是沒有關(guān)系的,那么降低它們之間的耦合度就可以用AOP實現(xiàn)。
1.3 Hibernate框架技術(shù)
Hibernate是目前最流行的持久層框架,專注于數(shù)據(jù)庫操作;它能對JDBC進行輕量級封裝,將對象模型表示的數(shù)據(jù)映射到SQL表示的關(guān)系模型上,以面向?qū)ο缶幊趟枷雭聿僮鲾?shù)據(jù)庫,使得開發(fā)人員只需要更加關(guān)注業(yè)務(wù)邏輯處理的編碼實現(xiàn)。
2 結(jié)合案例的后臺管理功能的實現(xiàn)過程
2.1 簡單案例需求分析及定義
作為簡介SSH框架技術(shù)實現(xiàn)網(wǎng)站后臺管理功能的案例,為了更好地使得本文的敘述著重于用SSH框架技術(shù)實現(xiàn)的流程,該文的案例“用戶管理系統(tǒng)”需求很簡單,具體就是假設(shè)某公司,有若干部門,每個部門有若干工作組,公司所有員工要求必須屬于某個工作組。要求“用戶管理系統(tǒng)”后臺能實現(xiàn)對部門、工作組、員工等實體對象底層基礎(chǔ)數(shù)據(jù)的增刪改查。
2.2 數(shù)據(jù)庫設(shè)計
可以支撐標準的大型數(shù)據(jù)庫,如SQL Server,Oracal等,數(shù)據(jù)庫設(shè)計主要涉及2個階段:概念模型(CDM)設(shè)計和物理模型(PDM)設(shè)計。
2.2.1概念模型(CDM)設(shè)計
概念模型設(shè)計階段側(cè)重于對用戶需求的分析,根據(jù)用戶需求,抽絲剝繭抽象出實體,每個實體對應(yīng)的就是以后數(shù)據(jù)庫中的一個表格,于是實體的屬性就映射成為了數(shù)據(jù)表的字段;各個實體的關(guān)系也將會在下一階段的PDM圖中以外鍵關(guān)系反應(yīng)出來。本案例實體有4個:部門(depart)、組(group)、用戶(user)、用戶組群(userGroup);其中,用戶組群是為了展示實體之間如何處理多對多的關(guān)系而增加的實體。
2.2.2 物理模型(PDM)設(shè)計
物理模型設(shè)計階段是在概念模型設(shè)計的基礎(chǔ)上,由軟件自動轉(zhuǎn)化生成。這個階段得到的PDM圖,每個實體的屬性,包括由關(guān)系轉(zhuǎn)化而來的外鍵,就真正表示數(shù)據(jù)庫中對應(yīng)表的字段;
2.3 架構(gòu)設(shè)計
架構(gòu)設(shè)計,是根據(jù)所開發(fā)網(wǎng)站規(guī)模、用戶需求等各方面因素,搭建出架構(gòu)設(shè)計主體框架。該文中使用的架構(gòu)包JavaDemo,界面簡潔,結(jié)構(gòu)清晰,“江西微軟技術(shù)中心”常在IT項目培訓(xùn)教學(xué)中使用。
本次架構(gòu)設(shè)計是在用戶需求定義明確,并完成了詳細的數(shù)據(jù)庫設(shè)計基礎(chǔ)上,用JavaDemo實現(xiàn)。
最終架構(gòu)生成的代碼,每個實體對應(yīng)產(chǎn)生的頁面有三個,以“用戶(user)”實體來看分別是:user-list.jsp,user-input.jsp,user-view.jsp。
具體步驟略。
2.4 修改后臺管理功能相關(guān)模塊的代碼
根據(jù)前面對“用戶管理系統(tǒng)”的數(shù)據(jù)庫設(shè)計的結(jié)果,部門、組、用戶、用戶組群之間是有一定的業(yè)務(wù)邏輯關(guān)系的!根據(jù)設(shè)計結(jié)果,用戶屬于某工作組,工作組屬于某部門,這樣,部門、工作組、用戶之間就形成了依賴關(guān)系;比如,一開始增加用戶記錄時,由于數(shù)據(jù)庫中還沒有任何部門、工作組的數(shù)據(jù),用戶記錄插入數(shù)據(jù)庫表時肯定不完整。
因此代碼修改時,在實現(xiàn)“用戶管理系統(tǒng)”后臺管理功能時,應(yīng)體現(xiàn)這個業(yè)務(wù)邏輯關(guān)系。
2.5 幾點說明
受到特定框架技術(shù)約定的約束,在進行數(shù)據(jù)庫設(shè)計時,表格命名、字段命名、comment等內(nèi)容需遵從約定;
受到框架技術(shù)約定的約束,在jsp頁面命名時,要遵循相關(guān)規(guī)定;
具體約束內(nèi)容,因篇幅原因,該文不做詳述。請參看相關(guān)用戶手冊。
3 結(jié)束語
SSH框架技術(shù)可以短時間內(nèi)迅速搭建起結(jié)構(gòu)清晰、可復(fù)用性好、維護方便的Web應(yīng)用程序。但由于不同項目的具體業(yè)務(wù)流程、業(yè)務(wù)處理內(nèi)容等不同,加上后臺管理功能最終都可以歸結(jié)為底層數(shù)據(jù)的增刪改查,不像前臺頁面要求有豐富的頁面效果和很好的用戶互動體驗,這使得后臺管理功能的開發(fā)、實現(xiàn)和維護很適合用SSH框架技術(shù)。
參考文獻:
[1] 古樂聲.JavaWeb程序設(shè)計與項目實踐[M].北京:電子工業(yè)出版社,2011.
[2] 陳軼.Web開發(fā)技術(shù)實用教程[M]. 北京:清華大學(xué)出版社,2011.
[3] 廖若學(xué).JSP高級編程[M]. 北京:機械工業(yè)出版社,2001.endprint
摘要:由于多數(shù)網(wǎng)站后臺的管理功能主要是完成底層基礎(chǔ)數(shù)據(jù)的增刪改查(CRUD),所以該文結(jié)合一個小的案例,利用目前企業(yè)網(wǎng)站開發(fā)技術(shù)中廣為應(yīng)用的SSH框架技術(shù),展現(xiàn)一個完整的后臺管理功能的實現(xiàn)過程。
關(guān)鍵詞:Struts2;Spring;Hibernate;CRUD
中圖分類號:TP311 文獻標識碼:A 文章編號:1009-3044(2014)30-7045-03
SSH框架是很多企業(yè)開發(fā)網(wǎng)站類項目最常用的軟件開發(fā)技術(shù)、主流框架技術(shù)組合。
1 SSH框架
SSH框架由三種框架技術(shù)組成:Struts2、Spring、Hibernate。
1.1 Struts2框架技術(shù)
Struts2是目前主流的MVC框架?;赟truts2進行項目的開發(fā),可以大大減少開發(fā)時間,提高開發(fā)效率,降低后期維護時間和精力。簡單來講,Struts2是以WebWork為核心,采用攔截機制來處理用戶的請求,使得頁面顯示與業(yè)務(wù)邏輯處理可以分離開來。注意配置文件Struts.xml應(yīng)合理配置。
1.2 Spring框架技術(shù)
Spring是一個輕量級框架,用Spring開發(fā)的系統(tǒng)類不需依賴于Spring中的類,不需容器支持,Spring負責控制對象的生命周期和對象間的關(guān)系,能實現(xiàn)將業(yè)務(wù)邏輯層與數(shù)據(jù)訪問層分離。
Spring二大功能:控制反轉(zhuǎn)IoC和切面編程AOP??刂品崔D(zhuǎn)IoC是Spring的核心技術(shù)之一,IoC意味著將設(shè)計好的類交給系統(tǒng)去控制,而不是在類內(nèi)部控制,所以稱為控制反轉(zhuǎn)。IoC的目的是試圖在面向?qū)ο缶幊讨腥サ羲邢嗷ヒ蕾嚨默F(xiàn)象,即降低耦合度,這使得對象具有更好的多態(tài)性和封裝性,同時也意味著錯誤的相互干擾也大大降低。AOP切面編程通常在方法的前后進行橫向關(guān)系編程,比如人進入自動門時,進入前后的開門、關(guān)門其實和人進門后所要做的事情本身是沒有關(guān)系的,那么降低它們之間的耦合度就可以用AOP實現(xiàn)。
1.3 Hibernate框架技術(shù)
Hibernate是目前最流行的持久層框架,專注于數(shù)據(jù)庫操作;它能對JDBC進行輕量級封裝,將對象模型表示的數(shù)據(jù)映射到SQL表示的關(guān)系模型上,以面向?qū)ο缶幊趟枷雭聿僮鲾?shù)據(jù)庫,使得開發(fā)人員只需要更加關(guān)注業(yè)務(wù)邏輯處理的編碼實現(xiàn)。
2 結(jié)合案例的后臺管理功能的實現(xiàn)過程
2.1 簡單案例需求分析及定義
作為簡介SSH框架技術(shù)實現(xiàn)網(wǎng)站后臺管理功能的案例,為了更好地使得本文的敘述著重于用SSH框架技術(shù)實現(xiàn)的流程,該文的案例“用戶管理系統(tǒng)”需求很簡單,具體就是假設(shè)某公司,有若干部門,每個部門有若干工作組,公司所有員工要求必須屬于某個工作組。要求“用戶管理系統(tǒng)”后臺能實現(xiàn)對部門、工作組、員工等實體對象底層基礎(chǔ)數(shù)據(jù)的增刪改查。
2.2 數(shù)據(jù)庫設(shè)計
可以支撐標準的大型數(shù)據(jù)庫,如SQL Server,Oracal等,數(shù)據(jù)庫設(shè)計主要涉及2個階段:概念模型(CDM)設(shè)計和物理模型(PDM)設(shè)計。
2.2.1概念模型(CDM)設(shè)計
概念模型設(shè)計階段側(cè)重于對用戶需求的分析,根據(jù)用戶需求,抽絲剝繭抽象出實體,每個實體對應(yīng)的就是以后數(shù)據(jù)庫中的一個表格,于是實體的屬性就映射成為了數(shù)據(jù)表的字段;各個實體的關(guān)系也將會在下一階段的PDM圖中以外鍵關(guān)系反應(yīng)出來。本案例實體有4個:部門(depart)、組(group)、用戶(user)、用戶組群(userGroup);其中,用戶組群是為了展示實體之間如何處理多對多的關(guān)系而增加的實體。
2.2.2 物理模型(PDM)設(shè)計
物理模型設(shè)計階段是在概念模型設(shè)計的基礎(chǔ)上,由軟件自動轉(zhuǎn)化生成。這個階段得到的PDM圖,每個實體的屬性,包括由關(guān)系轉(zhuǎn)化而來的外鍵,就真正表示數(shù)據(jù)庫中對應(yīng)表的字段;
2.3 架構(gòu)設(shè)計
架構(gòu)設(shè)計,是根據(jù)所開發(fā)網(wǎng)站規(guī)模、用戶需求等各方面因素,搭建出架構(gòu)設(shè)計主體框架。該文中使用的架構(gòu)包JavaDemo,界面簡潔,結(jié)構(gòu)清晰,“江西微軟技術(shù)中心”常在IT項目培訓(xùn)教學(xué)中使用。
本次架構(gòu)設(shè)計是在用戶需求定義明確,并完成了詳細的數(shù)據(jù)庫設(shè)計基礎(chǔ)上,用JavaDemo實現(xiàn)。
最終架構(gòu)生成的代碼,每個實體對應(yīng)產(chǎn)生的頁面有三個,以“用戶(user)”實體來看分別是:user-list.jsp,user-input.jsp,user-view.jsp。
具體步驟略。
2.4 修改后臺管理功能相關(guān)模塊的代碼
根據(jù)前面對“用戶管理系統(tǒng)”的數(shù)據(jù)庫設(shè)計的結(jié)果,部門、組、用戶、用戶組群之間是有一定的業(yè)務(wù)邏輯關(guān)系的!根據(jù)設(shè)計結(jié)果,用戶屬于某工作組,工作組屬于某部門,這樣,部門、工作組、用戶之間就形成了依賴關(guān)系;比如,一開始增加用戶記錄時,由于數(shù)據(jù)庫中還沒有任何部門、工作組的數(shù)據(jù),用戶記錄插入數(shù)據(jù)庫表時肯定不完整。
因此代碼修改時,在實現(xiàn)“用戶管理系統(tǒng)”后臺管理功能時,應(yīng)體現(xiàn)這個業(yè)務(wù)邏輯關(guān)系。
2.5 幾點說明
受到特定框架技術(shù)約定的約束,在進行數(shù)據(jù)庫設(shè)計時,表格命名、字段命名、comment等內(nèi)容需遵從約定;
受到框架技術(shù)約定的約束,在jsp頁面命名時,要遵循相關(guān)規(guī)定;
具體約束內(nèi)容,因篇幅原因,該文不做詳述。請參看相關(guān)用戶手冊。
3 結(jié)束語
SSH框架技術(shù)可以短時間內(nèi)迅速搭建起結(jié)構(gòu)清晰、可復(fù)用性好、維護方便的Web應(yīng)用程序。但由于不同項目的具體業(yè)務(wù)流程、業(yè)務(wù)處理內(nèi)容等不同,加上后臺管理功能最終都可以歸結(jié)為底層數(shù)據(jù)的增刪改查,不像前臺頁面要求有豐富的頁面效果和很好的用戶互動體驗,這使得后臺管理功能的開發(fā)、實現(xiàn)和維護很適合用SSH框架技術(shù)。
參考文獻:
[1] 古樂聲.JavaWeb程序設(shè)計與項目實踐[M].北京:電子工業(yè)出版社,2011.
[2] 陳軼.Web開發(fā)技術(shù)實用教程[M]. 北京:清華大學(xué)出版社,2011.
[3] 廖若學(xué).JSP高級編程[M]. 北京:機械工業(yè)出版社,2001.endprint