亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

web系統(tǒng)的自動(dòng)生成裝置和自動(dòng)生成方法

文檔序號(hào):6511188閱讀:276來(lái)源:國(guó)知局
web系統(tǒng)的自動(dòng)生成裝置和自動(dòng)生成方法
【專(zhuān)利摘要】本發(fā)明提供了一種web系統(tǒng)的自動(dòng)生成裝置,包括:視圖層生成單元,用于生成所述web系統(tǒng)的視圖層的表單界面;模型層生成單元,包括:數(shù)據(jù)庫(kù)建立子單元,用于建立數(shù)據(jù)庫(kù),所述數(shù)據(jù)庫(kù)中存儲(chǔ)有與所述表單界面相對(duì)應(yīng)的數(shù)據(jù)庫(kù)表;類(lèi)創(chuàng)建子單元,用于創(chuàng)建用于對(duì)所述數(shù)據(jù)庫(kù)進(jìn)行操作的業(yè)務(wù)處理類(lèi),以完成所述web系統(tǒng)的模型層的生成;控制層生成單元,包括:功能配置子單元,用于根據(jù)預(yù)設(shè)的配置文件進(jìn)行功能配置;策略建立子單元,用于建立控制策略,以完成所述web系統(tǒng)的控制層的生成。本發(fā)明還提出了對(duì)應(yīng)的web系統(tǒng)的自動(dòng)生成方法。通過(guò)本發(fā)明的技術(shù)方案,可以提高web系統(tǒng)開(kāi)發(fā)過(guò)程中的自動(dòng)化過(guò)程,減少人工干預(yù),簡(jiǎn)化開(kāi)發(fā)過(guò)程。
【專(zhuān)利說(shuō)明】web系統(tǒng)的自動(dòng)生成裝置和自動(dòng)生成方法

【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及數(shù)據(jù)處理【技術(shù)領(lǐng)域】,具體而言,涉及一種web系統(tǒng)的自動(dòng)生成裝置和 一種web系統(tǒng)的自動(dòng)生成方法。

【背景技術(shù)】
[0002] 在web系統(tǒng)的開(kāi)發(fā)中,設(shè)計(jì)者們?cè)诿鎸?duì)如何架構(gòu)web系統(tǒng)以達(dá)到開(kāi)發(fā)更方便、更簡(jiǎn) 潔的時(shí)候,MVC (模型(model) -視圖(view) -控制器(controller))架構(gòu)模式逐漸成為 了主流技術(shù)。MVC是一種軟件構(gòu)件模式,用一種業(yè)務(wù)邏輯和數(shù)據(jù)顯示分離的方法組織代碼, 這個(gè)方法的假設(shè)前提是如果業(yè)務(wù)邏輯被聚集到一個(gè)部件里面,而且界面和用戶圍繞數(shù)據(jù)的 交互能被改進(jìn)和個(gè)性化定制而不需要重新編寫(xiě)業(yè)務(wù)邏輯。MVC被應(yīng)用于在一個(gè)邏輯的圖形 化用戶界面的結(jié)構(gòu)中,實(shí)現(xiàn)映射傳統(tǒng)的輸入、處理和輸出功能。
[0003] MVC將M (模型層)和V (視圖層)的實(shí)現(xiàn)代碼分離,從而使同一個(gè)程序可以使用不 同的表現(xiàn)形式。比如一批統(tǒng)計(jì)數(shù)據(jù)可以分別用柱狀圖、餅圖來(lái)表示。C (控制層)存在的目 的則是確保M (模型層)和V (視圖層)的同步,一旦M (模型層)改變,V (視圖層)應(yīng)該同步 更新。它強(qiáng)制性的使應(yīng)用程序的輸入、處理和輸出分開(kāi)。基于上述原則,web應(yīng)用程序被分 成三個(gè)核心部件:模型、視圖、控制器,它們各自處理自己的任務(wù)。
[0004] 如今業(yè)界也有很多成熟并且被廣泛應(yīng)用的MVC架構(gòu)方案,比如Struts、Spring、 Hibernate等。它們?cè)谑褂肕VC設(shè)計(jì)模式進(jìn)行web系統(tǒng)架構(gòu)的時(shí)候,完全能夠通過(guò)配置文件 將解耦的C (控制層)和M (模型層)緊密關(guān)聯(lián)起來(lái)而又相互獨(dú)立,并且通過(guò)策略模式和面向 切面編程的技術(shù),能夠智能地自動(dòng)化生成部分M (模型層)和C (控制層)的代碼。
[0005] 然而,相關(guān)技術(shù)中所提出的各種MVC的解決方案,仍然停留在部分層次的代碼自 動(dòng)化生成,或者某個(gè)層次部分自動(dòng)化,無(wú)法提供一整套的技術(shù)方案來(lái)進(jìn)行對(duì)MVC整個(gè)層次 進(jìn)行與業(yè)務(wù)邏輯無(wú)關(guān)的代碼的自動(dòng)化生成。
[0006] 因此,如何提供一種新的web系統(tǒng)的開(kāi)發(fā)技術(shù),使得web系統(tǒng)的開(kāi)發(fā)更加自動(dòng)化, 讓程序開(kāi)發(fā)者更注重于具體的業(yè)務(wù)邏輯,提高工作效率。


【發(fā)明內(nèi)容】

[0007] 本發(fā)明正是基于上述問(wèn)題,提出了一種新的web系統(tǒng)的自動(dòng)生成技術(shù),可以提高 web系統(tǒng)開(kāi)發(fā)過(guò)程中的自動(dòng)化過(guò)程,減少人工干預(yù),簡(jiǎn)化開(kāi)發(fā)過(guò)程。
[0008] 有鑒于此,本發(fā)明提出了一種web系統(tǒng)的自動(dòng)生成裝置,包括:視圖層生成單元, 用于生成所述web系統(tǒng)的視圖層的表單界面;模型層生成單元,包括:數(shù)據(jù)庫(kù)建立子單元, 用于建立數(shù)據(jù)庫(kù),所述數(shù)據(jù)庫(kù)中存儲(chǔ)有與所述表單界面相對(duì)應(yīng)的數(shù)據(jù)庫(kù)表,所述數(shù)據(jù)庫(kù)表 中的字段與所述表單界面中的每個(gè)表單控件的屬性信息一一對(duì)應(yīng);類(lèi)創(chuàng)建子單元,創(chuàng)建用 于對(duì)所述數(shù)據(jù)庫(kù)進(jìn)行操作的業(yè)務(wù)處理類(lèi),以完成所述web系統(tǒng)的模型層的生成;控制層生 成單元,包括:功能配置子單元,用于根據(jù)預(yù)設(shè)的配置文件進(jìn)行功能配置;策略建立子單 元,用于建立控制策略,以完成所述web系統(tǒng)的控制層的生成。
[0009] 在該技術(shù)方案中,通過(guò)對(duì)視圖層的表單界面的屬性進(jìn)行獲取,并建立對(duì)應(yīng)的數(shù)據(jù) 庫(kù),使得自動(dòng)建立起視圖層和模型層之間的關(guān)聯(lián)關(guān)系,而不必由用戶完全手動(dòng)進(jìn)行關(guān)聯(lián)配 置,提高了系統(tǒng)開(kāi)發(fā)的自動(dòng)化程度,有助于提高工作效率。同時(shí),還通過(guò)提供自動(dòng)生成的業(yè) 務(wù)處理類(lèi),完成控制層對(duì)模型層的數(shù)據(jù)庫(kù)的具體操作,實(shí)現(xiàn)了視圖層、模型層和控制層之間 的緊密關(guān)聯(lián),有助于降低人工的干預(yù)程度。
[0010] 根據(jù)本發(fā)明的又一方面,還提出了一種web系統(tǒng)的自動(dòng)生成方法,包括:生成所述 web系統(tǒng)的視圖層的表單界面;建立數(shù)據(jù)庫(kù),所述數(shù)據(jù)庫(kù)中存儲(chǔ)有與所述表單界面相對(duì)應(yīng) 的數(shù)據(jù)庫(kù)表,所述數(shù)據(jù)庫(kù)表中的字段與所述表單界面中的每個(gè)表單控件的屬性信息一一對(duì) 應(yīng);創(chuàng)建用于對(duì)所述數(shù)據(jù)庫(kù)進(jìn)行操作的業(yè)務(wù)處理類(lèi),以完成所述web系統(tǒng)的模型層的生成; 根據(jù)預(yù)設(shè)的配置文件進(jìn)行功能配置,并建立控制策略,以完成所述web系統(tǒng)的控制層的生 成。
[0011] 在該技術(shù)方案中,通過(guò)對(duì)視圖層的表單界面的屬性進(jìn)行獲取,并建立對(duì)應(yīng)的數(shù)據(jù) 庫(kù),使得自動(dòng)建立起視圖層和模型層之間的關(guān)聯(lián)關(guān)系,而不必由用戶完全手動(dòng)進(jìn)行關(guān)聯(lián)配 置,提高了系統(tǒng)開(kāi)發(fā)的自動(dòng)化程度,有助于提高工作效率。同時(shí),還通過(guò)提供自動(dòng)生成的業(yè) 務(wù)處理類(lèi),完成控制層對(duì)模型層的數(shù)據(jù)庫(kù)的具體操作,實(shí)現(xiàn)了視圖層、模型層和控制層之間 的緊密關(guān)聯(lián),有助于降低人工的干預(yù)程度。
[0012] 通過(guò)以上技術(shù)方案,可以提高web系統(tǒng)開(kāi)發(fā)過(guò)程中的自動(dòng)化過(guò)程,減少人工干預(yù), 簡(jiǎn)化開(kāi)發(fā)過(guò)程。

【專(zhuān)利附圖】

【附圖說(shuō)明】
[0013] 圖1示出了根據(jù)本發(fā)明的實(shí)施例的web系統(tǒng)的自動(dòng)生成裝置的示意框圖;
[0014] 圖2示出了根據(jù)本發(fā)明的實(shí)施例的web系統(tǒng)的自動(dòng)生成方法的流程示意圖;
[0015] 圖3示出了根據(jù)本發(fā)明的實(shí)施例的自動(dòng)化生成web系統(tǒng)的原理示意圖。

【具體實(shí)施方式】
[0016] 為了能夠更清楚地理解本發(fā)明的上述目的、特征和優(yōu)點(diǎn),下面結(jié)合附圖和具體實(shí) 施方式對(duì)本發(fā)明進(jìn)行進(jìn)一步的詳細(xì)描述。需要說(shuō)明的是,在不沖突的情況下,本申請(qǐng)的實(shí)施 例及實(shí)施例中的特征可以相互組合。
[0017] 在下面的描述中闡述了很多具體細(xì)節(jié)以便于充分理解本發(fā)明,但是,本發(fā)明還可 以采用其他不同于在此描述的其他方式來(lái)實(shí)施,因此,本發(fā)明并不限于下面公開(kāi)的具體實(shí) 施例的限制。
[0018] 圖1示出了根據(jù)本發(fā)明的實(shí)施例的web系統(tǒng)的自動(dòng)生成裝置的示意框圖。
[0019] 如圖1所示,根據(jù)本發(fā)明的實(shí)施例的web系統(tǒng)的自動(dòng)生成裝置,包括:視圖層生成 單元,用于生成所述web系統(tǒng)的視圖層的表單界面;模型層生成單元,包括:數(shù)據(jù)庫(kù)建立子 單元,用于建立數(shù)據(jù)庫(kù),所述數(shù)據(jù)庫(kù)中存儲(chǔ)有與所述表單界面相對(duì)應(yīng)的數(shù)據(jù)庫(kù)表,所述數(shù)據(jù) 庫(kù)表中的字段與所述表單界面中的每個(gè)表單控件的屬性信息一一對(duì)應(yīng);類(lèi)創(chuàng)建子單元,創(chuàng) 建用于對(duì)所述數(shù)據(jù)庫(kù)進(jìn)行操作的業(yè)務(wù)處理類(lèi),以完成所述web系統(tǒng)的模型層的生成;控制 層生成單元,包括:功能配置子單元,用于根據(jù)預(yù)設(shè)的配置文件進(jìn)行功能配置;策略建立子 單元,用于建立控制策略,以完成所述web系統(tǒng)的控制層的生成。
[0020] 在該技術(shù)方案中,通過(guò)對(duì)視圖層的表單界面的屬性進(jìn)行獲取,并建立對(duì)應(yīng)的數(shù)據(jù) 庫(kù),使得自動(dòng)建立起視圖層和模型層之間的關(guān)聯(lián)關(guān)系,而不必由用戶完全手動(dòng)進(jìn)行關(guān)聯(lián)配 置,提高了系統(tǒng)開(kāi)發(fā)的自動(dòng)化程度,有助于提高工作效率。同時(shí),還通過(guò)提供自動(dòng)生成的業(yè) 務(wù)處理類(lèi),完成控制層對(duì)模型層的數(shù)據(jù)庫(kù)的具體操作,實(shí)現(xiàn)了視圖層、模型層和控制層之間 的緊密關(guān)聯(lián),有助于降低人工的干預(yù)程度。
[0021] 在上述技術(shù)方案中,優(yōu)選地,所述視圖層生成單元包括:選擇子單元,用于根據(jù)接 收到的用戶的選擇指令,選擇表單控件和視圖類(lèi)型;表單生成子單元,用于根據(jù)獲取的鍵入 信息,為每個(gè)表單控件添加對(duì)應(yīng)的屬性信息和方法信息,以生成所述視圖層的表單界面。
[0022] 在該技術(shù)方案中,用于無(wú)需執(zhí)行對(duì)具體代碼的編寫(xiě),只需要對(duì)視圖類(lèi)型和預(yù)先建 立的可視化的控件模型進(jìn)行選擇,即可由后臺(tái)自動(dòng)生成相應(yīng)的代碼,有助于提高工作效率。 通過(guò)鍵入屬性信息和方法信息,則針對(duì)由預(yù)設(shè)的控件模型構(gòu)成的系統(tǒng)結(jié)構(gòu),為每個(gè)具體的 控件設(shè)置對(duì)應(yīng)的實(shí)現(xiàn)功能和邏輯關(guān)系,但這些操作都無(wú)需由用戶手動(dòng)編寫(xiě)代碼,只需要關(guān) 注具體的業(yè)務(wù)邏輯即可,提升了自動(dòng)化程度,有助于提高工作效率。
[0023] 在上述任一技術(shù)方案中,優(yōu)選地,所述數(shù)據(jù)庫(kù)建立子單元用于:創(chuàng)建包含所述表單 界面中的每個(gè)表單控件的屬性信息的JavaBean組件;根據(jù)所需的數(shù)據(jù)庫(kù)的屬性特征,生成 數(shù)據(jù)庫(kù)表,所述數(shù)據(jù)庫(kù)表中的字段與所述JavaBean組件中的所有屬性信息一一對(duì)應(yīng);將所 述數(shù)據(jù)庫(kù)表存儲(chǔ)至數(shù)據(jù)庫(kù)。
[0024] 在該技術(shù)方案中,利用動(dòng)態(tài)代理技術(shù),由JavaBean對(duì)視圖層的表單控件的屬性進(jìn) 行獲取,并建立對(duì)應(yīng)的數(shù)據(jù)庫(kù)表,從而在視圖層和模型層之間自動(dòng)建立關(guān)聯(lián),以及在視圖 層、模型層與數(shù)據(jù)庫(kù)之間自動(dòng)建立關(guān)聯(lián),無(wú)需用戶手動(dòng)設(shè)置,有助于提升系統(tǒng)的自動(dòng)化程 度,提高用戶的工作效率。
[0025] 在上述任一技術(shù)方案中,優(yōu)選地,所述JavaBean組件繼承用于操作所述數(shù)據(jù)庫(kù)的 基礎(chǔ)類(lèi);以及所述業(yè)務(wù)處理類(lèi)包括代理組件和所述JavaBean組件,其中,所述代理組件通 過(guò)調(diào)用所述JavaBean組件,實(shí)現(xiàn)對(duì)所述數(shù)據(jù)庫(kù)的操作。
[0026] 在該技術(shù)方案中,通過(guò)由JavaBean組件繼承基礎(chǔ)類(lèi),實(shí)現(xiàn)對(duì)數(shù)據(jù)庫(kù)的具體操作, 而由代理組件實(shí)現(xiàn)對(duì)系統(tǒng)運(yùn)行時(shí)的具體請(qǐng)求進(jìn)行響應(yīng),從而實(shí)現(xiàn)對(duì)多個(gè)功能的明確劃分, 有助于具體的調(diào)試和控制。
[0027] 在上述任一技術(shù)方案中,優(yōu)選地,所述模型層生成單元還包括:模板生成子單元, 用于生成并存儲(chǔ)與所述業(yè)務(wù)處理類(lèi)相關(guān)聯(lián)的SQL模板語(yǔ)句;其中,所述業(yè)務(wù)處理類(lèi)將從接 收到的操作請(qǐng)求中解析出的信息添加至所述SQL模板語(yǔ)句,以生成SQL執(zhí)行語(yǔ)句,并通過(guò)所 述SQL執(zhí)行語(yǔ)句,實(shí)現(xiàn)對(duì)所述數(shù)據(jù)庫(kù)的操作。
[0028] 在該技術(shù)方案中,通過(guò)生成SQL模板語(yǔ)句,則當(dāng)對(duì)用戶的請(qǐng)求進(jìn)行響應(yīng)時(shí),無(wú)需每 次都重新編寫(xiě)SQL查詢語(yǔ)句,而直接將所希望操作的數(shù)據(jù)的標(biāo)識(shí)(如具體數(shù)據(jù)庫(kù)表的ID等) 添加至SQL模板語(yǔ)句中的相應(yīng)位置,即可直接實(shí)現(xiàn)對(duì)數(shù)據(jù)庫(kù)的操作,有助于縮短響應(yīng)時(shí)間, 提商運(yùn)行效率。
[0029] 在上述任一技術(shù)方案中,優(yōu)選地,所述控制層生成單元還包括:文件生成子單元, 用于通過(guò)檢測(cè)用戶的操作動(dòng)作,確定操作對(duì)象和操作方式,以生成所述預(yù)設(shè)的配置文件。
[0030] 在該技術(shù)方案中,控制層的生成過(guò)程中,在初始化過(guò)程和具體的功能配置過(guò)程中, 需要使用預(yù)先生成的配置文件。配置文件的生成過(guò)程無(wú)需用戶手動(dòng)編程,只需要由用戶執(zhí) 行如路徑的創(chuàng)建、對(duì)象的選擇、操作方式的選擇等操作,系統(tǒng)就能夠自動(dòng)生成對(duì)應(yīng)的配置文 件,使得配置文件的生成過(guò)程更加自動(dòng)化,有助于提高工作效率。
[0031] 在上述任一技術(shù)方案中,優(yōu)選地,所述策略建立子單元用于:根據(jù)用戶選擇的框架 類(lèi)型,讀取所述框架類(lèi)型對(duì)應(yīng)的預(yù)設(shè)控制策略;或根據(jù)接收到的用戶配置指令,建立實(shí)時(shí)配 置的控制策略。
[0032] 在該技術(shù)方案中,用戶可以對(duì)預(yù)先設(shè)置的框架類(lèi)型進(jìn)行選擇,則可以直接讀取對(duì) 應(yīng)于被選中的框架對(duì)應(yīng)的控制策略,以提高效率;用戶也可以根據(jù)實(shí)際情況,配置新的控制 策略,以適用于不同的實(shí)際情況。
[0033] 圖2示出了根據(jù)本發(fā)明的實(shí)施例的web系統(tǒng)的自動(dòng)生成方法的流程示意圖。
[0034] 如圖2所示,根據(jù)本發(fā)明的實(shí)施例的web系統(tǒng)的自動(dòng)生成方法,包括:生成所述 web系統(tǒng)的視圖層的表單界面;建立數(shù)據(jù)庫(kù),所述數(shù)據(jù)庫(kù)中存儲(chǔ)有與所述表單界面相對(duì)應(yīng) 的數(shù)據(jù)庫(kù)表,所述數(shù)據(jù)庫(kù)表中的字段與所述表單界面中的每個(gè)表單控件的屬性信息一一對(duì) 應(yīng);創(chuàng)建用于對(duì)所述數(shù)據(jù)庫(kù)進(jìn)行操作的業(yè)務(wù)處理類(lèi),以完成所述web系統(tǒng)的模型層的生成; 根據(jù)預(yù)設(shè)的配置文件進(jìn)行功能配置,并建立控制策略,以完成所述web系統(tǒng)的控制層的生 成。
[0035] 在該技術(shù)方案中,通過(guò)對(duì)視圖層的表單界面的屬性進(jìn)行獲取,并建立對(duì)應(yīng)的數(shù)據(jù) 庫(kù),使得自動(dòng)建立起視圖層和模型層之間的關(guān)聯(lián)關(guān)系,而不必由用戶完全手動(dòng)進(jìn)行關(guān)聯(lián)配 置,提高了系統(tǒng)開(kāi)發(fā)的自動(dòng)化程度,有助于提高工作效率。同時(shí),還通過(guò)提供自動(dòng)生成的業(yè) 務(wù)處理類(lèi),完成控制層對(duì)模型層的數(shù)據(jù)庫(kù)的具體操作,實(shí)現(xiàn)了視圖層、模型層和控制層之間 的緊密關(guān)聯(lián),有助于降低人工的干預(yù)程度。
[0036] 在上述技術(shù)方案中,優(yōu)選地,生成所述表單界面的過(guò)程包括:根據(jù)接收到的用戶的 選擇指令,選擇表單控件和視圖類(lèi)型,并根據(jù)獲取的鍵入信息,為每個(gè)表單控件添加對(duì)應(yīng)的 屬性信息和方法信息,以生成所述視圖層的表單界面。
[0037] 在該技術(shù)方案中,用于無(wú)需執(zhí)行對(duì)具體代碼的編寫(xiě),只需要對(duì)視圖類(lèi)型和預(yù)先建 立的可視化的控件模型進(jìn)行選擇,即可由后臺(tái)自動(dòng)生成相應(yīng)的代碼,有助于提高工作效率。 通過(guò)鍵入屬性信息和方法信息,則針對(duì)由預(yù)設(shè)的控件模型構(gòu)成的系統(tǒng)結(jié)構(gòu),為每個(gè)具體的 控件設(shè)置對(duì)應(yīng)的實(shí)現(xiàn)功能和邏輯關(guān)系,但這些操作都無(wú)需由用戶手動(dòng)編寫(xiě)代碼,只需要關(guān) 注具體的業(yè)務(wù)邏輯即可,提升了自動(dòng)化程度,有助于提高工作效率。
[0038] 在上述任一技術(shù)方案中,優(yōu)選地,建立所述數(shù)據(jù)庫(kù)的過(guò)程包括:創(chuàng)建包含所述表單 界面中的每個(gè)表單控件的屬性信息的JavaBean組件;根據(jù)所需的數(shù)據(jù)庫(kù)的屬性特征,生成 數(shù)據(jù)庫(kù)表,所述數(shù)據(jù)庫(kù)表中的字段與所述JavaBean組件中的所有屬性信息一一對(duì)應(yīng);將所 述數(shù)據(jù)庫(kù)表存儲(chǔ)至數(shù)據(jù)庫(kù)。
[0039] 在該技術(shù)方案中,利用動(dòng)態(tài)代理技術(shù),由JavaBean對(duì)視圖層的表單控件的屬性進(jìn) 行獲取,并建立對(duì)應(yīng)的數(shù)據(jù)庫(kù)表,從而在視圖層和模型層之間自動(dòng)建立關(guān)聯(lián),以及在視圖 層、模型層與數(shù)據(jù)庫(kù)之間自動(dòng)建立關(guān)聯(lián),無(wú)需用戶手動(dòng)設(shè)置,有助于提升系統(tǒng)的自動(dòng)化程 度,提高用戶的工作效率。
[0040] 在上述任一技術(shù)方案中,優(yōu)選地,還包括:所述JavaBean組件繼承用于操作所述 數(shù)據(jù)庫(kù)的基礎(chǔ)類(lèi);以及所述業(yè)務(wù)處理類(lèi)包括代理組件和所述JavaBean組件,其中,所述代 理組件通過(guò)調(diào)用所述JavaBean組件,實(shí)現(xiàn)對(duì)所述數(shù)據(jù)庫(kù)的操作。
[0041] 在該技術(shù)方案中,通過(guò)由JavaBean組件繼承基礎(chǔ)類(lèi),實(shí)現(xiàn)對(duì)數(shù)據(jù)庫(kù)的具體操作, 而由代理組件實(shí)現(xiàn)對(duì)系統(tǒng)運(yùn)行時(shí)的具體請(qǐng)求進(jìn)行響應(yīng),從而實(shí)現(xiàn)對(duì)多個(gè)功能的明確劃分, 有助于具體的調(diào)試和控制。
[0042] 在上述任一技術(shù)方案中,優(yōu)選地,還包括:生成并存儲(chǔ)與所述業(yè)務(wù)處理類(lèi)相關(guān)聯(lián)的 SQL模板語(yǔ)句;所述業(yè)務(wù)處理類(lèi)將從接收到的操作請(qǐng)求中解析出的信息添加至所述SQL模 板語(yǔ)句,以生成SQL執(zhí)行語(yǔ)句,并通過(guò)所述SQL執(zhí)行語(yǔ)句,實(shí)現(xiàn)對(duì)所述數(shù)據(jù)庫(kù)的操作。
[0043] 在該技術(shù)方案中,通過(guò)生成SQL模板語(yǔ)句,則當(dāng)對(duì)用戶的請(qǐng)求進(jìn)行響應(yīng)時(shí),無(wú)需每 次都重新編寫(xiě)SQL查詢語(yǔ)句,而直接將所希望操作的數(shù)據(jù)的標(biāo)識(shí)(如具體數(shù)據(jù)庫(kù)表的ID等) 添加至SQL模板語(yǔ)句中的相應(yīng)位置,即可直接實(shí)現(xiàn)對(duì)數(shù)據(jù)庫(kù)的操作,有助于縮短響應(yīng)時(shí)間, 提商運(yùn)行效率。
[0044] 在上述任一技術(shù)方案中,優(yōu)選地,還包括:通過(guò)檢測(cè)用戶的操作動(dòng)作,確定操作對(duì) 象和操作方式,以生成所述預(yù)設(shè)的配置文件。
[0045] 在該技術(shù)方案中,控制層的生成過(guò)程中,在初始化過(guò)程和具體的功能配置過(guò)程中, 需要使用預(yù)先生成的配置文件。配置文件的生成過(guò)程無(wú)需用戶手動(dòng)編程,只需要由用戶執(zhí) 行如路徑的創(chuàng)建、對(duì)象的選擇、操作方式的選擇等操作,系統(tǒng)就能夠自動(dòng)生成對(duì)應(yīng)的配置文 件,使得配置文件的生成過(guò)程更加自動(dòng)化,有助于提高工作效率。
[0046] 在上述任一技術(shù)方案中,優(yōu)選地,建立控制策略的過(guò)程包括:根據(jù)用戶選擇的框架 類(lèi)型,讀取所述框架類(lèi)型對(duì)應(yīng)的預(yù)設(shè)控制策略;或根據(jù)接收到的用戶配置指令,建立實(shí)時(shí)配 置的控制策略。
[0047] 在該技術(shù)方案中,用戶可以對(duì)預(yù)先設(shè)置的框架類(lèi)型進(jìn)行選擇,則可以直接讀取對(duì) 應(yīng)于被選中的框架對(duì)應(yīng)的控制策略,以提高效率;用戶也可以根據(jù)實(shí)際情況,配置新的控制 策略,以適用于不同的實(shí)際情況。
[0048] 圖3示出了根據(jù)本發(fā)明的實(shí)施例的自動(dòng)化生成web系統(tǒng)的原理示意圖。
[0049] 下面結(jié)合圖3,對(duì)基于本發(fā)明的實(shí)施例的自動(dòng)化生成web系統(tǒng)的工作原理進(jìn)行詳 細(xì)說(shuō)明。
[0050] 假定本發(fā)明的web系統(tǒng)開(kāi)發(fā)平臺(tái)中,包括基礎(chǔ)的平臺(tái)系統(tǒng)302,還包括用于其他具 體功能的如視圖層平臺(tái)302A、模型層平臺(tái)302B、控制層平臺(tái)302C等,以實(shí)現(xiàn)具體的web系 統(tǒng)的開(kāi)發(fā)。
[0051] 當(dāng)需要執(zhí)行web系統(tǒng)開(kāi)發(fā)時(shí),需要由平臺(tái)系統(tǒng)302對(duì)用戶預(yù)先進(jìn)行和完成的設(shè)置 或配置進(jìn)行讀取,以實(shí)現(xiàn)系統(tǒng)的初始化和功能配置。
[0052] 一、視圖層的自動(dòng)生成
[0053] 在本實(shí)施例中,主要由視圖層平臺(tái)302A實(shí)現(xiàn)視圖層的自動(dòng)化生成。具體地,可以 通過(guò)瀏覽器的方式實(shí)現(xiàn)人機(jī)交互過(guò)程,并且用戶僅需要通過(guò)鼠標(biāo)拖拽和鍵盤(pán)操作的方式, 即可實(shí)現(xiàn)頁(yè)面的生成。
[0054] 1、視圖類(lèi)型
[0055] 用戶根據(jù)需求,選擇所需的視圖類(lèi)型,比如HTML、jsp、freemarker等。
[0056] 2、設(shè)計(jì)圖
[0057] 具體地,需要由視圖層平臺(tái)302A提供可視化的視圖控件,則用戶可以根據(jù)自身的 需求,使用鼠標(biāo)選擇和拖動(dòng)視圖控件,即可形成相應(yīng)的設(shè)計(jì)圖。比如,其中的視圖控件可以 采用W3C (World Wide Web Consortium,萬(wàn)維網(wǎng)聯(lián)盟)標(biāo)準(zhǔn)里面的控件,只需要了解W3C的 相關(guān)規(guī)范,不需要再花費(fèi)任何時(shí)間和精力去學(xué)習(xí)新的控件和API。
[0058] 3、表單
[0059] 視圖層平臺(tái)302A根據(jù)用戶選擇的視圖類(lèi)型和設(shè)計(jì)平臺(tái)上的設(shè)計(jì)圖,即可自動(dòng)生 成相應(yīng)的表單。
[0060] 其中,表單上的視圖控件之間的關(guān)聯(lián)和交互,可以采用JavaScript和DOM技術(shù)來(lái) 實(shí)現(xiàn)。比如,在視圖層平臺(tái)302A中會(huì)提供一些基本的DOM操作(方法),以供程序員進(jìn)行選 擇;同時(shí),程序員也可以自定義DOM方法,并關(guān)聯(lián)至具體的視圖控件。而表單與后臺(tái)交互則 可以采用如ajax方式,或生成臨時(shí)form標(biāo)簽提交的方式。
[0061] 4、"登錄界面"的實(shí)施例
[0062] 假定用戶需要設(shè)計(jì)一個(gè)"登錄界面"的web系統(tǒng),則對(duì)于視圖層的生成過(guò)程包括:
[0063] 1)在視圖設(shè)計(jì)平臺(tái)302A的控件選擇界面上,拖拽一個(gè)用戶名輸入框(input-text 標(biāo)簽)和一個(gè)密碼輸入框(input-password標(biāo)簽),并拖拽兩個(gè)按鈕:"登錄"(input-button 標(biāo)簽)、"重置"(input-button 標(biāo)簽)。
[0064] 2)選擇需要生成的表單類(lèi)型(如JSP、HTML等):jsp ;輸入表單ID (唯一標(biāo)示): login. jsp〇
[0065] 3)編輯每個(gè)視圖控件的屬性。比如雙擊用戶名輸入框編輯屬性,輸入ID: userName ;雙擊密碼輸入框編輯屬性,輸入ID :userPassword ;雙擊登錄按鈕編輯屬性,輸 入 ID :loginButton、輸入提交 URL :login. do ;輸入需要提交的 form ID JoginForm ;雙擊 重置按鈕編輯屬性,輸入ID :resetButton ;輸入需要重置的form ID :loginForm。
[0066] 4)視圖層平臺(tái)302A會(huì)自動(dòng)為每個(gè)視圖控件生成javaScript方法。比如給 IoginButton提交:產(chǎn)生一個(gè)臨時(shí)form, ID為:loginForm,內(nèi)容包含了頁(yè)面上所有可輸入對(duì) 象(密碼輸入框、密碼輸入框);action為:login, do ;最后form, submit ()。
[0067] 當(dāng)然,如果用戶需要自己編寫(xiě)javaScript方法進(jìn)行登錄,可以編輯登錄按鈕的事 件屬性,并改為自定義的方法。
[0068] 5)自動(dòng)化裝置在后臺(tái)根據(jù)前面一系列設(shè)計(jì)步驟生成相應(yīng)的表單界面。
[0069] 二、模型層的自動(dòng)生成
[0070] 1> JavaBean
[0071] 模型層平臺(tái)302B使用動(dòng)態(tài)代理技術(shù),將表單ID作為JavaBean的類(lèi)名(為每個(gè)表 單生成一個(gè)對(duì)應(yīng)的JavaBean),表單上所有的html可輸入標(biāo)簽對(duì)應(yīng)于JavaBean的屬性,自 動(dòng)生成所對(duì)應(yīng)的JavaBean。
[0072] 2、數(shù)據(jù)庫(kù)
[0073] 獲取生成的JavaBean中的包含的信息,即視圖層中對(duì)應(yīng)表單中的視圖控件的屬 性信息,并根據(jù)JavaBean的信息以及所選擇使用的數(shù)據(jù)庫(kù)類(lèi)型、版本和框架,自動(dòng)產(chǎn)生相 應(yīng)的數(shù)據(jù)庫(kù)腳本。
[0074] 通過(guò)上述生成的數(shù)據(jù)庫(kù)腳本,自動(dòng)生成與JavaBean對(duì)應(yīng)(比如數(shù)據(jù)庫(kù)表的ID與 JavaBean的ID、對(duì)應(yīng)表單的ID相同)的數(shù)據(jù)庫(kù)表,數(shù)據(jù)庫(kù)表里面的字段與Javabean里面的 屬性一一對(duì)應(yīng),從而完成了對(duì)數(shù)據(jù)庫(kù)的創(chuàng)建。
[0075] 同時(shí),每個(gè)JavaBean都繼承一個(gè)基礎(chǔ)類(lèi),該基礎(chǔ)類(lèi)主要是將JavaBean與數(shù)據(jù)庫(kù)操 作關(guān)聯(lián)起來(lái),能夠?qū)崿F(xiàn)對(duì)數(shù)據(jù)庫(kù)的操作,如增、刪、改、查等。
[0076] 3、Action
[0077] 實(shí)際上,可以由JavaBean直接響應(yīng)控制層的請(qǐng)求,執(zhí)行對(duì)數(shù)據(jù)庫(kù)的操作,但為了 對(duì)不同功能進(jìn)行區(qū)分,便于系統(tǒng)的調(diào)試和分工,本系統(tǒng)還通過(guò)創(chuàng)建Action,從而分擔(dān)對(duì)控制 層的請(qǐng)求。
[0078] Action為業(yè)務(wù)處理類(lèi),是根據(jù)JavaBean的屬性和方法生成的一個(gè)有著基本數(shù)據(jù) 庫(kù)操作(增刪改查等)的操作類(lèi),該Action可以通過(guò)調(diào)用JavaBean來(lái)操作數(shù)據(jù)庫(kù)。
[0079] 4、SQL語(yǔ)句模板
[0080] 在產(chǎn)生Action的同時(shí),模型層平臺(tái)302B還會(huì)產(chǎn)生一個(gè)與該Action對(duì)應(yīng)的SQL配 置文件,以輔助支持Action對(duì)數(shù)據(jù)庫(kù)的操作。具體地,該SQL配置文件包含對(duì)數(shù)據(jù)庫(kù)操作 的SQL語(yǔ)句模板,則無(wú)需每次重新生成SQL語(yǔ)句,而只要根據(jù)控制層的請(qǐng)求,將關(guān)聯(lián)的數(shù)據(jù) 標(biāo)識(shí)(如數(shù)據(jù)庫(kù)表的ID等)添加至SQL語(yǔ)句模板中相應(yīng)的位置即可,有助于提高工作效率。
[0081] 當(dāng)然,程序員可以根據(jù)實(shí)際情況來(lái)對(duì)Action進(jìn)行修改,也可以對(duì)SQL配置文件進(jìn) 行修改;而對(duì)于數(shù)據(jù)庫(kù)的操作功能的修改,也可以自動(dòng)同步到Action和SQL配置文件中。 [0082] 在上述技術(shù)方案中,通過(guò)對(duì)視圖層表單頁(yè)面的解析,將表單的各種輸入控件作為 屬性,并生成相應(yīng)的函數(shù)(方法),從而得到JavaBean。上述的動(dòng)態(tài)代理技術(shù)可以很好的將前 臺(tái)的視圖頁(yè)面與后臺(tái)模型層的具體業(yè)務(wù)邏輯處理類(lèi)關(guān)聯(lián)起來(lái),讓程序員只需要關(guān)心具體業(yè) 務(wù)邏輯的處理,不用再去考慮前臺(tái)與后臺(tái)的關(guān)聯(lián)、通信,從而提升工作效率。
[0083] 5、"登錄界面"的實(shí)施例
[0084] 1)根據(jù)生成的表單,在后臺(tái)創(chuàng)建一個(gè)類(lèi),其名稱依據(jù)表單ID (以便建立關(guān)聯(lián)): Login_jsp. java,各屬性與表單的輸入控件一致:username、UsePassword ;相應(yīng)的方法: getUserName()、setUserName()、getUserPassword()、setUserPassword()〇
[0085] 2 )生成SQL腳本。具體代碼可以為:
[0086]

【權(quán)利要求】
1. 一種web系統(tǒng)的自動(dòng)生成裝置,其特征在于,包括: 視圖層生成單元,用于生成所述web系統(tǒng)的視圖層的表單界面;模型層生成單元,包 括: 數(shù)據(jù)庫(kù)建立子單元,用于建立數(shù)據(jù)庫(kù),所述數(shù)據(jù)庫(kù)中存儲(chǔ)有與所述表單界面相對(duì)應(yīng)的 數(shù)據(jù)庫(kù)表,所述數(shù)據(jù)庫(kù)表中的字段與所述表單界面中的每個(gè)表單控件的屬性信息一一對(duì) 應(yīng); 類(lèi)創(chuàng)建子單元,創(chuàng)建用于對(duì)所述數(shù)據(jù)庫(kù)進(jìn)行操作的業(yè)務(wù)處理類(lèi),以完成所述web系統(tǒng) 的模型層的生成; 控制層生成單元,包括: 功能配置子單元,用于根據(jù)預(yù)設(shè)的配置文件進(jìn)行功能配置; 策略建立子單元,用于建立控制策略,以完成所述web系統(tǒng)的控制層的生成。
2. 根據(jù)權(quán)利要求1所述的web系統(tǒng)的自動(dòng)生成裝置,其特征在于,所述視圖層生成單元 包括: 選擇子單元,用于根據(jù)接收到的用戶的選擇指令,選擇表單控件和視圖類(lèi)型; 表單生成子單元,用于根據(jù)獲取的鍵入信息,為每個(gè)表單控件添加對(duì)應(yīng)的屬性信息和 方法信息,以生成所述視圖層的表單界面。
3. 根據(jù)權(quán)利要求1所述的web系統(tǒng)的自動(dòng)生成裝置,其特征在于,所述數(shù)據(jù)庫(kù)建立子單 元用于: 創(chuàng)建包含所述表單界面中的每個(gè)表單控件的屬性信息的JavaBean組件; 根據(jù)所需的數(shù)據(jù)庫(kù)的屬性特征,生成數(shù)據(jù)庫(kù)表,所述數(shù)據(jù)庫(kù)表中的字段與所述 JavaBean組件中的所有屬性信息--對(duì)應(yīng); 將所述數(shù)據(jù)庫(kù)表存儲(chǔ)至數(shù)據(jù)庫(kù)。
4. 根據(jù)權(quán)利要求3所述的web系統(tǒng)的自動(dòng)生成裝置,其特征在于, 所述JavaBean組件繼承用于操作所述數(shù)據(jù)庫(kù)的基礎(chǔ)類(lèi);以及 所述業(yè)務(wù)處理類(lèi)包括代理組件和所述JavaBean組件,其中,所述代理組件通過(guò)調(diào)用所 述JavaBean組件,實(shí)現(xiàn)對(duì)所述數(shù)據(jù)庫(kù)的操作。
5. 根據(jù)權(quán)利要求1所述的web系統(tǒng)的自動(dòng)生成裝置,其特征在于,所述模型層生成單元 還包括: 模板生成子單元,用于生成并存儲(chǔ)與所述業(yè)務(wù)處理類(lèi)相關(guān)聯(lián)的SQL模板語(yǔ)句; 其中,所述業(yè)務(wù)處理類(lèi)將從接收到的操作請(qǐng)求中解析出的信息添加至所述SQL模板語(yǔ) 句,以生成SQL執(zhí)行語(yǔ)句,并通過(guò)所述SQL執(zhí)行語(yǔ)句,實(shí)現(xiàn)對(duì)所述數(shù)據(jù)庫(kù)的操作。
6. 根據(jù)權(quán)利要求1所述的web系統(tǒng)的自動(dòng)生成裝置,其特征在于,所述控制層生成單元 還包括: 文件生成子單元,用于通過(guò)檢測(cè)用戶的操作動(dòng)作,確定操作對(duì)象和操作方式,以生成所 述預(yù)設(shè)的配置文件。
7. 根據(jù)權(quán)利要求1所述的web系統(tǒng)的自動(dòng)生成裝置,其特征在于,所述策略建立子單元 用于: 根據(jù)用戶選擇的框架類(lèi)型,讀取所述框架類(lèi)型對(duì)應(yīng)的預(yù)設(shè)控制策略; 或根據(jù)接收到的用戶配置指令,建立實(shí)時(shí)配置的控制策略。
8. -種web系統(tǒng)的自動(dòng)生成方法,其特征在于,包括: 生成所述web系統(tǒng)的視圖層的表單界面; 建立數(shù)據(jù)庫(kù),所述數(shù)據(jù)庫(kù)中存儲(chǔ)有與所述表單界面相對(duì)應(yīng)的數(shù)據(jù)庫(kù)表,所述數(shù)據(jù)庫(kù)表 中的字段與所述表單界面中的每個(gè)表單控件的屬性信息一一對(duì)應(yīng); 創(chuàng)建用于對(duì)所述數(shù)據(jù)庫(kù)進(jìn)行操作的業(yè)務(wù)處理類(lèi),以完成所述web系統(tǒng)的模型層的生 成; 根據(jù)預(yù)設(shè)的配置文件進(jìn)行功能配置,并建立控制策略,以完成所述web系統(tǒng)的控制層 的生成。
9. 根據(jù)權(quán)利要求8所述的web系統(tǒng)的自動(dòng)生成方法,其特征在于,生成所述表單界面的 過(guò)程包括: 根據(jù)接收到的用戶的選擇指令,選擇表單控件和視圖類(lèi)型,并根據(jù)獲取的鍵入信息,為 每個(gè)表單控件添加對(duì)應(yīng)的屬性信息和方法信息,以生成所述視圖層的表單界面。
10. 根據(jù)權(quán)利要求8所述的web系統(tǒng)的自動(dòng)生成方法,其特征在于,建立所述數(shù)據(jù)庫(kù)的 過(guò)程包括: 創(chuàng)建包含所述表單界面中的每個(gè)表單控件的屬性信息的JavaBean組件; 根據(jù)所需的數(shù)據(jù)庫(kù)的屬性特征,生成數(shù)據(jù)庫(kù)表,所述數(shù)據(jù)庫(kù)表中的字段與所述 JavaBean組件中的所有屬性信息--對(duì)應(yīng); 將所述數(shù)據(jù)庫(kù)表存儲(chǔ)至數(shù)據(jù)庫(kù)。
11. 根據(jù)權(quán)利要求10所述的web系統(tǒng)的自動(dòng)生成方法,其特征在于,還包括: 所述JavaBean組件繼承用于操作所述數(shù)據(jù)庫(kù)的基礎(chǔ)類(lèi);以及 所述業(yè)務(wù)處理類(lèi)包括代理組件和所述JavaBean組件,其中,所述代理組件通過(guò)調(diào)用所 述JavaBean組件,實(shí)現(xiàn)對(duì)所述數(shù)據(jù)庫(kù)的操作。
12. 根據(jù)權(quán)利要求8所述的web系統(tǒng)的自動(dòng)生成方法,其特征在于,還包括: 生成并存儲(chǔ)與所述業(yè)務(wù)處理類(lèi)相關(guān)聯(lián)的SQL模板語(yǔ)句; 所述業(yè)務(wù)處理類(lèi)將從接收到的操作請(qǐng)求中解析出的信息添加至所述SQL模板語(yǔ)句,以 生成SQL執(zhí)行語(yǔ)句,并通過(guò)所述SQL執(zhí)行語(yǔ)句,實(shí)現(xiàn)對(duì)所述數(shù)據(jù)庫(kù)的操作。
13. 根據(jù)權(quán)利要求8所述的web系統(tǒng)的自動(dòng)生成方法,其特征在于,還包括: 通過(guò)檢測(cè)用戶的操作動(dòng)作,確定操作對(duì)象和操作方式,以生成所述預(yù)設(shè)的配置文件。
14. 根據(jù)權(quán)利要求8所述的web系統(tǒng)的自動(dòng)生成方法,其特征在于,建立控制策略的過(guò) 程包括: 根據(jù)用戶選擇的框架類(lèi)型,讀取所述框架類(lèi)型對(duì)應(yīng)的預(yù)設(shè)控制策略; 或根據(jù)接收到的用戶配置指令,建立實(shí)時(shí)配置的控制策略。
【文檔編號(hào)】G06F17/30GK104424338SQ201310412990
【公開(kāi)日】2015年3月18日 申請(qǐng)日期:2013年9月11日 優(yōu)先權(quán)日:2013年9月11日
【發(fā)明者】吳春志, 鄧克毅, 黃科 申請(qǐng)人:北大方正集團(tuán)有限公司, 北京方正阿帕比技術(shù)有限公司, 方正信息產(chǎn)業(yè)控股有限公司
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1