欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種基于java的web開發(fā)中間件的制作方法

文檔序號(hào):6382689閱讀:542來(lái)源:國(guó)知局

專利名稱::一種基于java的web開發(fā)中間件的制作方法
技術(shù)領(lǐng)域
:本發(fā)明屬于計(jì)算機(jī)領(lǐng)域,涉及到web開發(fā)技術(shù)和數(shù)據(jù)庫(kù)訪問技術(shù),更為具體地,涉及基于java的web開發(fā)中間件。
背景技術(shù)
:由于網(wǎng)絡(luò)的飛速發(fā)展,出現(xiàn)了很多基于java的web開發(fā)框架,其中,Struts,Spring,Hibernate是當(dāng)前流行的javaweb開發(fā)架構(gòu),分別屬于不同開源組織或者公司,并且針對(duì)于特定的領(lǐng)域?qū)崿F(xiàn)其功能struts負(fù)責(zé)外部數(shù)據(jù)的采集,hibernate負(fù)責(zé)數(shù)據(jù)庫(kù)的持久化,spring則負(fù)責(zé)對(duì)象的實(shí)例,遠(yuǎn)程調(diào)用等。三者組合起來(lái)可以形成一個(gè)javaweb的開發(fā)結(jié)構(gòu),當(dāng)前這三者已經(jīng)發(fā)展得十分龐大,導(dǎo)致在一些小型應(yīng)用中如果采用此結(jié)構(gòu)會(huì)造成系統(tǒng)開發(fā)臃腫,學(xué)習(xí)成本過高,一些基于web的技術(shù)需要在此基礎(chǔ)單獨(dú)開發(fā)才能形成效果。另外開發(fā)javaweb應(yīng)用時(shí),不使用模板或者架構(gòu),如果從底層基礎(chǔ)構(gòu)建,就會(huì)造成效率低下,開發(fā)周期長(zhǎng),維護(hù)困難,培訓(xùn)周期長(zhǎng),重復(fù)的web技術(shù)開發(fā)。另一方面,使用模板開發(fā),確實(shí)會(huì)提高開發(fā)效率,但是模板開發(fā)都會(huì)固定好一些基礎(chǔ)內(nèi)容,使用者并不能隨心所欲的進(jìn)行全面自主設(shè)計(jì),并在瓶頸問題上會(huì)處于被動(dòng)的狀態(tài),無(wú)法做優(yōu)化。同時(shí),web開發(fā)中數(shù)據(jù)庫(kù)操作也是一個(gè)讓開發(fā)人員頭痛的問題,需要建立一種便捷的數(shù)據(jù)庫(kù)、對(duì)象映射,簡(jiǎn)化數(shù)據(jù)庫(kù)操作。
發(fā)明內(nèi)容鑒于上述,本發(fā)明的目的在于提供一種輕量快捷的基于java的web開發(fā)中間件,提供接收web請(qǐng)求,進(jìn)行邏輯處理,并將其返回的處理結(jié)果生成網(wǎng)頁(yè)的開發(fā)框架;同時(shí),還提供一種基于MQL的數(shù)據(jù)庫(kù)、對(duì)象映射方式。該中間件的邏輯處理中,提供了以插入攔截器的方式,來(lái)滿足多變的個(gè)性化需求。在網(wǎng)頁(yè)生成中提供了模板和非模板兩種方式,同時(shí)兼顧生成頁(yè)面的靈活性和快捷性?;贛QL的數(shù)據(jù)庫(kù)、對(duì)象映射,簡(jiǎn)化了繁瑣的數(shù)據(jù)庫(kù)操作。應(yīng)用本發(fā)明,可以使web開發(fā)靈活高效,縮短開發(fā)周期。本發(fā)明所述的基于java的web開發(fā)中間件,包括動(dòng)作模塊,負(fù)責(zé)接收http請(qǐng)求數(shù)據(jù),并把該數(shù)據(jù)發(fā)往指定的邏輯處理單元進(jìn)行處理,然后,用相應(yīng)邏輯處理單元處理的結(jié)果生成需要格式的網(wǎng)頁(yè)數(shù)據(jù),在瀏覽器中顯示,在網(wǎng)頁(yè)生成中,提供了基于模板和不基于模板兩種方式,在基于模板方式中,采用預(yù)先定義的XML模板限定規(guī)則,設(shè)定了生成網(wǎng)頁(yè)的格式;在邏輯處理中,通過地插入攔截器,以完成個(gè)性化的處理需求;動(dòng)作模塊包括的組件及其典型的執(zhí)行順序如附圖1,動(dòng)作模塊包含如下組件任務(wù)分配組件,依據(jù)配置文件,將不同的web請(qǐng)求交給指定的處理邏輯;web數(shù)據(jù)轉(zhuǎn)換組件,將從web接收的數(shù)據(jù)轉(zhuǎn)換為任務(wù)處理組件指定的數(shù)據(jù)對(duì)象;任務(wù)處理組件,用于完成所需的邏輯處理;攔截器組件,用于在任務(wù)處理組件處理前,對(duì)web請(qǐng)求進(jìn)行處理,開發(fā)者可以自己定義攔截器,以完成自己需要的個(gè)性化功能;結(jié)果返回組件,將邏輯處理單元的處理結(jié)果數(shù)據(jù)轉(zhuǎn)換為網(wǎng)頁(yè)數(shù)據(jù),返回給瀏覽器顯不O結(jié)果返回組件返回的結(jié)果類型包括base類型,redirect類型,redirectAction類型,json類型等類型,其中Base類型直接返回響應(yīng)的內(nèi)容;Redirect類型返回跳轉(zhuǎn)連接;redirectAction類型將數(shù)據(jù)發(fā)給下一個(gè)action處理;json類型返回具有{key:value,......}格式的json串;在base類型中,可以使用一種基于預(yù)先定義的XML限定規(guī)則的模板,按模板格式生成網(wǎng)頁(yè)。動(dòng)作模塊中的各組件的典型執(zhí)行順序見附圖1,http請(qǐng)求先通過任務(wù)分配組件指定對(duì)應(yīng)的處理邏輯;然后,通過web數(shù)據(jù)轉(zhuǎn)換組件將所述請(qǐng)求的中的數(shù)據(jù)轉(zhuǎn)換為邏輯處理中需要的類型;之后,如果有攔截器,則按攔截器配置的先后順序依次調(diào)用個(gè)攔截器;再后,通過邏輯處理組件做邏輯處理;最后,將上述邏輯處理的結(jié)果通過結(jié)果處理組件生產(chǎn)網(wǎng)頁(yè),送瀏覽器顯示。數(shù)據(jù)訪問模塊,負(fù)責(zé)接收和執(zhí)行數(shù)據(jù)庫(kù)的操作請(qǐng)求,利用MQL腳本語(yǔ)言,實(shí)現(xiàn)數(shù)據(jù)庫(kù)和javabean對(duì)象的自動(dòng)映射,將數(shù)據(jù)庫(kù)的復(fù)雜操作轉(zhuǎn)化為對(duì)javabean對(duì)象的操作;數(shù)據(jù)訪問模塊包含的組件及其典型的執(zhí)行順序如附圖2所示,數(shù)據(jù)訪問模塊包括如下組件數(shù)據(jù)庫(kù)操作接口組件,用于提供可變粒度的數(shù)據(jù)庫(kù)查詢接口;會(huì)話管理組件,用于完成web交互中的會(huì)話管理;事務(wù)處理組件,用于執(zhí)行數(shù)據(jù)庫(kù)事務(wù);回滾處理組件,用于執(zhí)行數(shù)據(jù)庫(kù)操作的回滾;基本操作組件,用于執(zhí)行普通的數(shù)據(jù)庫(kù)增、刪、改、查操作;數(shù)據(jù)庫(kù)、對(duì)象映射組件,用于實(shí)現(xiàn)數(shù)據(jù)庫(kù)和javabean對(duì)象的映射,其中,使用MQL腳本語(yǔ)言,將數(shù)據(jù)庫(kù)中的表和指定的javabean對(duì)象關(guān)聯(lián)起來(lái),完成數(shù)據(jù)和對(duì)象間的映射;該關(guān)聯(lián)的Javabean帶有特定的注解,以完成數(shù)據(jù)和對(duì)象間的映射。數(shù)據(jù)訪問模塊中各個(gè)組件的典型執(zhí)行順序如附圖2所示首先,通過數(shù)據(jù)庫(kù)操作接口組件,發(fā)起數(shù)據(jù)操作;然后,會(huì)話管理組件會(huì)建立一個(gè)會(huì)話,并管理這個(gè)會(huì)話;之后,依據(jù)數(shù)據(jù)庫(kù)操作的粒度和類型,決定調(diào)用基本操作組件、事務(wù)處理組件或回滾處理組件;再后,通過數(shù)據(jù)庫(kù)、對(duì)象映射組件將操作映射到數(shù)據(jù)庫(kù),取得數(shù)據(jù)庫(kù)操作結(jié)果。根據(jù)下述參照附圖進(jìn)行的詳細(xì)描述,本發(fā)明的特征和優(yōu)點(diǎn)將變得更加顯而易見。在附圖中圖I示出了動(dòng)作模塊處理web請(qǐng)求的數(shù)據(jù)流程;圖2示出了動(dòng)作模塊中模板生成網(wǎng)頁(yè)數(shù)據(jù)的流程;圖3示出了數(shù)據(jù)訪問模塊處理數(shù)據(jù)庫(kù)操作請(qǐng)求時(shí)的數(shù)據(jù)流程;圖4示出了動(dòng)作模塊的一種實(shí)現(xiàn);圖5示出了數(shù)據(jù)訪問模塊的一種實(shí)現(xiàn);圖6示出了用MQL實(shí)現(xiàn)對(duì)象映射的處理流程;具體實(shí)施例方式下面描述本發(fā)明的實(shí)現(xiàn)。應(yīng)該明白的是,本文的實(shí)施可以以多種多樣形式具體體現(xiàn),并且在本文中公開的任何具體結(jié)構(gòu)、功能或兩者僅僅是代表性的?;诒疚牡慕虒?dǎo),本領(lǐng)域技術(shù)人員應(yīng)該明白的是,本文所公開的一個(gè)方面可以獨(dú)立于任何其它方面實(shí)現(xiàn),并且這些方面中的兩個(gè)或多個(gè)方面可以按照各種方式組合?;趈ava的web開發(fā)中間件,主要包含兩個(gè)模塊動(dòng)作模塊和數(shù)據(jù)訪問模塊。動(dòng)作模塊負(fù)責(zé)接收http請(qǐng)求數(shù)據(jù),并把該數(shù)據(jù)發(fā)往指定的邏輯處理單元,然后,把相應(yīng)邏輯處理單元處理的結(jié)果生成需要的網(wǎng)頁(yè)數(shù)據(jù)格式,在瀏覽器中顯示。附圖4是動(dòng)作模塊的一種實(shí)現(xiàn)在本實(shí)施方式中與網(wǎng)頁(yè)交互的是BasicFilter類,其核心是Forward類,它負(fù)責(zé)了整個(gè)任務(wù)分配,相當(dāng)路由功能,它會(huì)根據(jù)配置文件的信息指定哪個(gè)邏輯來(lái)處理哪個(gè)web頁(yè)面,BasicFilter、Forward類一起構(gòu)成了本發(fā)明所述的任務(wù)分配組件。接下來(lái)的DefaultActionInvocation類是一個(gè)類型適配器,實(shí)現(xiàn)數(shù)據(jù)類型轉(zhuǎn)換,變量映射等,它構(gòu)成了本發(fā)明的web數(shù)據(jù)轉(zhuǎn)換組件。然后是若干個(gè)攔截器,interceptorl,interceptor2,----,攔截器為開發(fā)者自己定義,攔截器為開發(fā)者提供個(gè)性化功能定制,用來(lái)滿足一些開發(fā)者自己需要定制的的特殊能力,這些攔截器構(gòu)成了本發(fā)明所述的攔截器組件。返回結(jié)果由對(duì)象IResult來(lái)封裝,返回結(jié)果的類型可以是基本的base類型,redirect類型,這兩種都是直接將數(shù)據(jù)發(fā)回瀏覽器!redirectAction類型,它是將數(shù)據(jù)直接發(fā)往下一個(gè)action動(dòng)作形成一條action動(dòng)作邏輯處理鏈,json類型,返回具有{key:value,……}格式的數(shù)據(jù),然后發(fā)回瀏覽器。關(guān)于模板,模板技術(shù)主要是為了解決諸如報(bào)表,圖表等設(shè)計(jì)的,在開發(fā)中,開發(fā)者往往面臨最多的是數(shù)據(jù)如何顯示,所以模板的提供也是快速開發(fā)一種方式。本實(shí)施例中的模板也是IResult的一個(gè)實(shí)現(xiàn),當(dāng)中間件判斷開發(fā)者是使用Template時(shí),就會(huì)根據(jù)配置文件獲取模板文件,模板文件設(shè)計(jì)為中間件約束的XML格式,如〈tablelist〉將會(huì)將數(shù)據(jù)顯示為列表,最終模板文件將翻譯成標(biāo)準(zhǔn)的html格式,當(dāng)然如果開發(fā)者想自己翻譯其它格式,則只要實(shí)現(xiàn)相關(guān)接口就行了,在翻譯結(jié)束后,送往瀏覽器顯示。如下是Template的一個(gè)示例權(quán)利要求1.一種基于java的web開發(fā)中間件,包括動(dòng)作模塊,負(fù)責(zé)接收http請(qǐng)求數(shù)據(jù),并把該數(shù)據(jù)發(fā)往指定的邏輯處理單元進(jìn)行處理,然后,用相應(yīng)邏輯處理單元處理的結(jié)果生成需要格式的網(wǎng)頁(yè)數(shù)據(jù),在瀏覽器中顯示,在網(wǎng)頁(yè)生成中,提供了基于模板和不基于模板兩種方式,在基于模板方式中,采用預(yù)先定義的XML模板限定規(guī)則,設(shè)定了生成網(wǎng)頁(yè)的格式;在邏輯處理中,通過地插入攔截器,以完成個(gè)性化的處理需求;數(shù)據(jù)訪問模塊,負(fù)責(zé)接收并執(zhí)行對(duì)數(shù)據(jù)庫(kù)操作請(qǐng)求,利用MQL腳本語(yǔ)言,實(shí)現(xiàn)數(shù)據(jù)庫(kù)和javabean對(duì)象的自動(dòng)映射,將對(duì)數(shù)據(jù)庫(kù)的復(fù)雜操作轉(zhuǎn)化為對(duì)javabean對(duì)象的操作。2.如權(quán)利要求I所述的中間件,其中動(dòng)作模塊包括web數(shù)據(jù)轉(zhuǎn)換組件,將從web接收的數(shù)據(jù)轉(zhuǎn)換為邏輯處理單元指定的數(shù)據(jù)對(duì)象;任務(wù)分配組件,依據(jù)配置文件,將不同的web請(qǐng)求交給指定的處理邏輯;任務(wù)處理組件,用于完成所需的邏輯處理;攔截器組件,用于在任務(wù)處理組件處理之前,對(duì)web請(qǐng)求進(jìn)行處理,開發(fā)者可以通過自己定義攔截器,完成需要的個(gè)性化功能;結(jié)果返回組件,將邏輯處理的結(jié)果數(shù)據(jù)轉(zhuǎn)換為網(wǎng)頁(yè)數(shù)據(jù),返回給瀏覽器顯示。3.如權(quán)利要求I所述的中間件,其中數(shù)據(jù)訪問模塊包括會(huì)話管理組件,用于完成web交互中的會(huì)話管理;操作接口組件,用于提供可變粒度的數(shù)據(jù)庫(kù)操作接口;數(shù)據(jù)、對(duì)象映射組件,用于實(shí)現(xiàn)數(shù)據(jù)庫(kù)和javabean對(duì)象的映射。4.如權(quán)利要求2所述的動(dòng)作模塊,其中,結(jié)果返回組件的特征包括返回結(jié)果類型包括base類型,redirect類型,redirectAction類型,json類型等類型,其中,Base類型直接返回響應(yīng)的內(nèi)容;Redirect類型返回跳轉(zhuǎn)連接;redirectAction類型將數(shù)據(jù)發(fā)給下一個(gè)action處理;json類型返回具有{key:value,......}格式的json串。5.如權(quán)利要求2所述的動(dòng)作模塊,其中,攔截器組件為可選組件,依據(jù)需要可以不配置攔截器,也可配置一個(gè)或多個(gè)攔截器;當(dāng)攔截器為多個(gè)時(shí),按攔截器配置的先后順序依次調(diào)用。6.如權(quán)利要求4所述的結(jié)果返回組件中,其base類型返回結(jié)果特征如下可以依據(jù)需要選用基于模板方式和不基于模板方式,其中,基于模板方式,提供一種基于預(yù)先定義的XML限定規(guī)則的模板,按模板格式生成網(wǎng)頁(yè);在網(wǎng)頁(yè)生成中,首先判斷是否采用模板,如果采用模板,首先讀入模板文件,然后對(duì)該文件做解析,最后生成模板定義格式的網(wǎng)頁(yè);對(duì)于不采用模板方式的頁(yè)面,直接生成頁(yè)面。7.如權(quán)利要求3所述的數(shù)據(jù)訪問模塊,數(shù)據(jù)、對(duì)象映射組件特征包括使用MQL腳本語(yǔ)言,將數(shù)據(jù)庫(kù)中的表和指定的javabean對(duì)象關(guān)聯(lián)起來(lái),完成數(shù)據(jù)和對(duì)象間的映射;Javabean帶有特定的注解,以完成數(shù)據(jù)和對(duì)象間的映射。全文摘要提供了一種基于java的web開發(fā)中間件,包括動(dòng)作模塊,負(fù)責(zé)接收http請(qǐng)求數(shù)據(jù),并把該數(shù)據(jù)發(fā)往指定的邏輯處理單元進(jìn)行處理,然后,把相應(yīng)邏輯處理單元處理的結(jié)果生成需要格式的網(wǎng)頁(yè)數(shù)據(jù),在瀏覽器顯示。在邏輯處理中,本發(fā)明以插入攔截器的方式,來(lái)適應(yīng)個(gè)性化處理的需要;在網(wǎng)頁(yè)生成中,本發(fā)明同時(shí)提供了模板和非模板方式,其中模板方式,以一種基于XML標(biāo)記方式的模板,定義要生成網(wǎng)頁(yè)的格式;數(shù)據(jù)訪問模塊,負(fù)責(zé)接收并執(zhí)行對(duì)數(shù)據(jù)庫(kù)的操作請(qǐng)求,利用MQL腳本語(yǔ)言,實(shí)現(xiàn)數(shù)據(jù)庫(kù)和javabean對(duì)象的自動(dòng)映射,將對(duì)數(shù)據(jù)庫(kù)的復(fù)雜操作轉(zhuǎn)化為對(duì)javabean對(duì)象的操作。利用上述的開發(fā)中間件,使得web開發(fā)靈活快捷,簡(jiǎn)化了繁瑣的數(shù)據(jù)庫(kù)操作,可以縮短web開發(fā)周期,提高開發(fā)效率。文檔編號(hào)G06F9/44GK102968307SQ20121050113公開日2013年3月13日申請(qǐng)日期2012年11月29日優(yōu)先權(quán)日2012年11月29日發(fā)明者李星,楊成申請(qǐng)人:中國(guó)傳媒大學(xué)
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
莆田市| 安吉县| 吴川市| 平顺县| 神池县| 修武县| 安西县| 上犹县| 邮箱| 迁安市| 手游| 庆城县| 福清市| 勃利县| 裕民县| 巴中市| 来宾市| 衡南县| 江西省| 桓仁| 蛟河市| 贵南县| 阿城市| 石家庄市| 汝南县| 嫩江县| 科技| 肃南| 图木舒克市| 沙洋县| 精河县| 边坝县| 大新县| 永济市| 大埔县| 图木舒克市| 武邑县| 衡东县| 阳城县| 高陵县| 淳化县|