版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、1. 系統(tǒng)框架設(shè)計(jì)本系統(tǒng)現(xiàn)實(shí)用 Spring 框架整合開發(fā),其中使用 Spring 框架中的JdbcTemplate 為數(shù)據(jù)持久層,使用 JDBC 數(shù)據(jù)源實(shí)現(xiàn)項(xiàng)目的 C3P0 作為連接池,二者一起負(fù)責(zé)數(shù)據(jù)層功能實(shí)現(xiàn),Spring 框架為 MVC整合框架,負(fù)責(zé)整個(gè)系統(tǒng)的 MVC 的實(shí)現(xiàn)。系統(tǒng)還使用了 DWR 框架作為 AJAX 技術(shù)的實(shí)現(xiàn) ,MVC 架構(gòu)圖如下圖 1 所示:圖 1 MVC 架構(gòu)圖1.1 Controller (控制器)層Controller 層由 Spring 框架實(shí)現(xiàn),所有請(qǐng)求交由 Spring 提供的DispatcherServlet 前端控制器轉(zhuǎn)發(fā),前端控制器根據(jù)請(qǐng)求路徑,
2、再通過注解,會(huì)調(diào)用具體的業(yè)務(wù)邏輯控制器(用開發(fā)實(shí)現(xiàn))實(shí)現(xiàn)前交互和頁(yè)面轉(zhuǎn)發(fā)的功能。(業(yè)務(wù)邏輯)層1.2 M層包括 Service(業(yè)務(wù)邏輯)層和(數(shù)據(jù))層,其中MService 層主要包括所有的業(yè)務(wù)邏輯處理,各部分資源的調(diào)用,而層主要包括所有的數(shù)據(jù)據(jù)庫(kù)的持久層實(shí)現(xiàn)。1.3 View(視圖)層操作,JdbcTemplate 作為層數(shù)View 層主要由 jsp 實(shí)現(xiàn)。2. 系統(tǒng)開發(fā)環(huán)境操作系統(tǒng):Windows 7(64 位),linux(64 位)瀏覽器:IE6,IE7,IE8 JDK:JDK1.7開發(fā)工具:eclipse-jee服務(wù)器:Tomcat 7.0數(shù)據(jù)庫(kù):3. 系統(tǒng)文件結(jié)構(gòu)說明3.1 整體
3、結(jié)構(gòu)在項(xiàng)目整體結(jié)構(gòu)中,主要包含 3 部分內(nèi)容,src 目錄為 java 源代碼的存放目錄,該目錄下的內(nèi)容在編譯后成為.class 格式的字節(jié)碼文件,運(yùn)行時(shí)由服務(wù)器解釋執(zhí)行;JRE System Library、Java EE 7 Libraries 和 Web App Libraries 為項(xiàng)目開發(fā)所需的基本類庫(kù),包括所需的基本數(shù)據(jù)結(jié)構(gòu)類和運(yùn)行時(shí)類庫(kù)等;WebRoot 為 web 根目錄,主要包括 jsp 文件、web 配置文件以及網(wǎng)頁(yè)中的 css 樣式文件、js 文件、等;項(xiàng)目編譯后的目錄結(jié)構(gòu)與 WebRoot 下目錄結(jié)構(gòu)相同,src目錄下的 java 文件編譯后全都存放在 WebRoot
4、下的 WEB-INF/classes文件夾下。整體結(jié)構(gòu)如下圖 2 所示:圖 2 項(xiàng)目整體結(jié)構(gòu)圖3.2 Java 源代碼結(jié)構(gòu)Java 源代碼接口是指 src 目錄下的 java 源碼的目錄層次結(jié)構(gòu),在 src 目錄下主要根據(jù)不同 java 文件實(shí)現(xiàn)的功能,結(jié)合 MVC 框架的結(jié)構(gòu),使用文件夾將 java 文件進(jìn)行分類,根據(jù)模塊功能主要分為 8個(gè)板塊,每個(gè)板塊下有 2 至 3 個(gè)小模塊,每個(gè)模塊有 4 層,依次是Action 層,Service 層,層和 Bean 層。如下圖 3 所示。圖 3 Java 源代碼結(jié)構(gòu)圖3.2.1 模塊功能Configure 模塊:負(fù)責(zé)信息系統(tǒng)資源以及參數(shù)的配置,如
5、nh的抓取周期和深度,hadoop 啟動(dòng)關(guān)閉,格式化的配置,以及日志和文檔的管理配置,抓取網(wǎng)頁(yè)的一些基本參數(shù)配置。dataManage 模塊:主要負(fù)責(zé) URL 的查詢和查詢。站點(diǎn)頻道信息的ImportExport 模塊:導(dǎo)入導(dǎo)出模塊,主要負(fù)責(zé)把抽取下來的新聞信息進(jìn)行系統(tǒng)化的導(dǎo)入和導(dǎo)出。格式有 XML,SQL,JSON。listManager 模塊:負(fù)責(zé)對(duì)要抽取的站點(diǎn)和頻道進(jìn)行增刪改查操作,以便能更好的管理和配置需要抽取的。resourceMonitor 模塊:主要對(duì)的 url 進(jìn)行統(tǒng)計(jì)和分析,記錄和分析信息。的 url 所對(duì)應(yīng)的源碼,以及通用引擎抽取后的TackManager 模塊:爬蟲的啟動(dòng)
6、,翻譯,過濾,心工作。模塊,負(fù)責(zé)系統(tǒng)的分布式,nh程序的和通用引擎的抽取等核templateManage 模塊:主要負(fù)責(zé)對(duì)每個(gè)站點(diǎn)和頻道里的信息進(jìn)行正則表達(dá)式的匹配,可以通過正則表達(dá)式對(duì)系統(tǒng)的抽取精度進(jìn)行檢驗(yàn)。及時(shí)的對(duì)不符合該站點(diǎn)的正則表達(dá)式就行修改和刪除。userManager 模塊:負(fù)責(zé)用戶的登錄退出,以及不同用戶間的角色權(quán)限的調(diào)度和管理工作。附加模塊:util 模塊(包括 log 模塊):工具模塊,主要用來存放一些工具類,如異常信息的處理,提供數(shù)據(jù)持久層的公共接口以供其它模塊調(diào)用,url 信息的過濾,日志信息的和添加等。3.2.2 主要類功能(1)業(yè)務(wù)邏輯控制器業(yè)務(wù)邏輯控制器位于每個(gè)子模
7、塊的 Action 文件夾下面,action表示控制器,不同模塊的控制器存放在不同的文件夾下面。(2)實(shí)體類實(shí)體類位于每個(gè)模塊的 Bean 目錄下面,是對(duì)數(shù)據(jù)的抽象。(3)數(shù)據(jù)層數(shù)據(jù)接口,層位于每個(gè)模塊的文件夾下,其中下放的是Impl 表示接口的實(shí)現(xiàn)類,該層封裝的都是對(duì)數(shù)據(jù)進(jìn)行存取操作的方法,幾乎不包含業(yè)務(wù)邏輯的處理,調(diào)用 C3P0 或 JDBC 提供的接口數(shù)據(jù)庫(kù)。該層以數(shù)據(jù)庫(kù)表或者試圖為劃分依據(jù),通常每個(gè)表或試圖對(duì)應(yīng)一個(gè)(4)業(yè)務(wù)邏輯層類,所以在下不再繼續(xù)劃分。數(shù)據(jù)層位于每個(gè)模塊的 Service 文件夾下,service 代表的是業(yè)務(wù)邏輯層,其中 service 下放的是接口,servic
8、eImpl 下放的是接口的實(shí)現(xiàn)類。該層封裝的是對(duì)用戶請(qǐng)求的業(yè)務(wù)邏輯處理。(5)工具類工具類位于 com.nes.util 文件夾下,該文件夾主要包括一些對(duì)數(shù)據(jù)處理的通用方法,這些方法不是某個(gè)模塊特有的方法,所以不能包含在某個(gè)模塊中,如對(duì)基本的數(shù)據(jù)庫(kù)的處理類工具,URL 的過濾,頁(yè)面分頁(yè)的計(jì)算和日志文檔的等。3.3 Web 源代碼結(jié)構(gòu)Web 源代碼存在于 WebRoot 目錄下面,存放不會(huì)被編譯的文件,本系統(tǒng)中的目錄結(jié)構(gòu)如下圖 4 所示。圖 4 Web 源代碼結(jié)構(gòu)icon:存放工具小圖標(biāo)。css:存放網(wǎng)頁(yè)布局、美化用的 css 樣式表文件;images:存放導(dǎo)航欄、背景js:存放驗(yàn)證和其他 js
9、 代碼;,LOGO;photos:首頁(yè)中二級(jí)欄目。themes:存放時(shí)間特效的包;datajs:存放時(shí)間的 js;dataPicker:用于存放時(shí)間插件代碼。WEB-INF:存放項(xiàng)目的 xml 配置文件和主要的 JSP 文件等;系統(tǒng)框架實(shí)現(xiàn)詳細(xì)設(shè)計(jì)請(qǐng)求響應(yīng)流程用戶通過瀏覽器發(fā)出一個(gè)請(qǐng)求時(shí),請(qǐng)求首先到達(dá) Spring 的控制器,控器根據(jù)請(qǐng)求路徑判別:如果用戶請(qǐng)求的是某一個(gè) jsp 頁(yè)面,則響應(yīng)回一個(gè) jsp 頁(yè)面給瀏覽器;如果用戶請(qǐng)求的是一個(gè)動(dòng)態(tài)資源,則根據(jù)請(qǐng)求路徑分發(fā)給具體的業(yè)務(wù)邏輯控制器,業(yè)務(wù)邏輯控制器調(diào)用業(yè)務(wù)邏輯層進(jìn)行業(yè)務(wù)邏輯處理;其務(wù)邏輯層需調(diào)用由 JdbcTemplae 實(shí)現(xiàn)的數(shù)據(jù)層進(jìn)
10、行數(shù)據(jù)存取操作,業(yè)務(wù)邏輯層本身對(duì)數(shù)據(jù)進(jìn)行操作完成業(yè)務(wù)邏輯的處理;最終處理完成后返回動(dòng)態(tài)數(shù)據(jù),并由業(yè)務(wù)邏輯控制器返回視圖。4.2 Action(控制器)層Action 層主要指開發(fā)編寫的業(yè)務(wù)邏輯控制器,在請(qǐng)求到達(dá)Spring 的控制器后,會(huì)根據(jù)請(qǐng)求的路徑調(diào)用相應(yīng)的業(yè)務(wù)邏輯控制器完成對(duì)請(qǐng)求的處理和發(fā)出響應(yīng)。具體代碼結(jié)構(gòu)如下圖 4.2 所示:對(duì)一個(gè)控制器類來說,其命名根據(jù)模塊或者功能來命名,結(jié)尾附加 Action 用以說明該類為控制器,并使用Controller 來標(biāo)注,類的方法作為對(duì)請(qǐng)求處理的程序,在方法前用RequestMap(“*”)作為請(qǐng)求的字符串標(biāo)注,*代表請(qǐng)求的路徑。當(dāng)此路徑與請(qǐng)求路徑一
11、致,則調(diào)用該標(biāo)注后的方法處理請(qǐng)求。在控制器內(nèi),可以Service 層的資源,通過Resour標(biāo)注來引入。控制器大多只完成接收參數(shù)、調(diào)用 Service 處理和返回視圖的工作。4.3 Service(業(yè)務(wù)邏輯)層Service 層主要指用于業(yè)務(wù)邏輯處理的層級(jí),是 M層的一部分,該層由 Action 層直接調(diào)用,作為 Action 的資源。該層主要完成對(duì)數(shù)據(jù)的業(yè)務(wù)邏輯處理功能,由業(yè)務(wù)邏輯接口和接口實(shí)現(xiàn)類兩部分組成。具體代碼結(jié)構(gòu)如下圖 4.3 所示:1.接口說明Service 層接口是對(duì) Service 完成功能的基本展示,主要包括對(duì)方法的,具體到返回值類型和參數(shù)個(gè)數(shù)以及類型。接口名也是以模塊或者功
12、能來命名,附加 Service 結(jié)尾,用以說明該類為業(yè)務(wù)邏輯層類。在 Action 層Service 層資源時(shí),也是以一個(gè) Service接口為,以一個(gè) Service 接口名稱來并實(shí)例化對(duì)象。2.實(shí)現(xiàn)類說明Service 接口實(shí)現(xiàn)類是對(duì)某一個(gè) Service 接口方法實(shí)現(xiàn)的類,其命名為實(shí)現(xiàn)的接口*Service 后附加 Impl 作為類名,并使用 implements關(guān)鍵字實(shí)現(xiàn)該接口,該類中必須包含并實(shí)現(xiàn)所有接口中的方法。該類要以Service 標(biāo)注在類前,用以說明該類為業(yè)務(wù)邏輯層的類,作為 Spring 掃描的對(duì)象,產(chǎn)生資源,作為 Action 中資源的資源實(shí)例化的對(duì)象。該類中一般只對(duì)數(shù)據(jù)
13、做業(yè)務(wù)邏輯的處理,對(duì)于數(shù)據(jù)則通過Resour注解引入層資源進(jìn)行處理。(數(shù)據(jù))層4.4層是對(duì)數(shù)據(jù)庫(kù)進(jìn)行操作的層級(jí),是 M層的第一層,由 Service 層直接調(diào)用,作為 Service 層的資源。該層主要完成對(duì)數(shù)據(jù)庫(kù)的存取等操作,一般不包含業(yè)務(wù)邏輯處理,是直接調(diào)用JdbcTemplate 數(shù)據(jù)持久化的一層。具體代碼結(jié)構(gòu)如下圖 4.4 所示1.接口說明同 Service 接口相似,該接口主要完成的是對(duì)接口方法的聲明,其命名方式主要以數(shù)據(jù)表、視圖或者實(shí)體類來命名。2.實(shí)現(xiàn)類說明實(shí)現(xiàn)類是對(duì)某一個(gè)接口方法進(jìn)行實(shí)現(xiàn)的類,其命名為附加 Impl 結(jié)尾作為類名,使用 implements 關(guān)鍵字實(shí)現(xiàn)該接口,*
14、實(shí)現(xiàn)類中必須實(shí)現(xiàn)接口中所有的方法。實(shí)現(xiàn)類使用 extends 關(guān)鍵字繼承對(duì)數(shù)據(jù)庫(kù)進(jìn)行操作的基類,該基類中用于對(duì)數(shù)據(jù)庫(kù)進(jìn)行操作的 Hibernate 接口方法或 JDBC 接口方法,使得實(shí)現(xiàn)類可以直接操作數(shù)據(jù)庫(kù)。Spring 掃描的標(biāo)志,用以初始化該實(shí)現(xiàn)類用Re層的資源itory 注解作為,來實(shí)例化Service 實(shí)現(xiàn)類中的資源。實(shí)現(xiàn)類的資源即為其從基類繼承來的JDBC 數(shù)據(jù)庫(kù)對(duì)象。Bean(實(shí)體類)Java 實(shí)體類說明Java 實(shí)體類是一種數(shù)據(jù)結(jié)構(gòu),其抽象來源于數(shù)據(jù)庫(kù)表、視圖或者業(yè)務(wù)邏輯處理過程中用于計(jì)算的數(shù)據(jù)模型。該類一般要實(shí)現(xiàn)Serializable 接口,以用于序列化操作。類中一般包含表
15、達(dá)數(shù)據(jù)模型的私有屬性以及對(duì)屬性進(jìn)行主要配置文件說明web.xml 配置說明的接口方法。Web.xml 是 web 應(yīng)用程序最根本的配置文件,所有框架的配置都需要在 web.xml 中進(jìn)行配置說明才能發(fā)揮效用。(1)應(yīng)用上下文配置應(yīng)用上下文配置是指在 Web 應(yīng)用中上下文環(huán)境的配置,主要表現(xiàn)方式為 xml 配置文件。如下圖所示,指明了配置的名稱為 contextConfigLocation,即對(duì) Spring 的配置,指明了 Spring 配置文件的位置,即在 java 源碼的根目錄。應(yīng)用上下文配置結(jié)構(gòu)圖(2)Spring 框架配置Spring 框架配置中主要是對(duì) Spring控制器的配置,以
16、Servlet的形式將控制器配置進(jìn)來。中指明對(duì)請(qǐng)求處理的servlet 為 Spring 框架中的 DispatcherServlet,中指明使用該 servlet 進(jìn)行處理的請(qǐng)求的格式。/代表所有的請(qǐng)求,也就是瀏覽器提交過來的所有請(qǐng)求,都會(huì)交由 Spring 框架提供的DispatcherServlet 進(jìn)行處理,從而實(shí)現(xiàn)了其控制器的功能,將請(qǐng)求根據(jù)路徑分發(fā)為具體業(yè)務(wù)邏輯控制器處理。配置如下圖所示:Spring 框架配置(3)dwr 框架配置dwr 作為 ajax 實(shí)現(xiàn)的技術(shù)框架,必須要在 web.xml 中配置后方能發(fā)揮效用。如下圖 15 所示,dwr 的配置也是通過 servlet 的配
17、置實(shí)現(xiàn)的。同 Spring 的配置,dwr 的配置說明了進(jìn)行ajax 操作的請(qǐng)求滿足的路徑格式為/dwr/*,即以 dwr/開頭的請(qǐng)求路徑將使用 ajax 技術(shù)實(shí)現(xiàn)。dwr 的配置說明了 ajax 操作是由uk.getahead.dwr.DWRServlet 實(shí)現(xiàn)的。DWR 框架配置圖器配置(4)web.xml 中配置的器包括 Spring 的 ContextLoadListener,完成啟動(dòng) Web 應(yīng)用時(shí),自動(dòng)裝配 Spring 的配置信息;Spring 的rospectorCleanupListener,完成rospector 的功能;web 應(yīng)用關(guān)閉時(shí),清除 JavaBeans、圖 1
18、6器配置(5)過濾器配置過濾器的配置是對(duì)請(qǐng)求進(jìn)行過濾處理組件的配置,如下圖中配置了 Spring 提供的編碼格式過濾器。說明過濾器將對(duì)/*,即所有的請(qǐng)求進(jìn)行編碼格式化處理;中的說明,所有的請(qǐng)求都會(huì)格式化為 UTF-8 編碼格式。過濾器配置2.springannoion.xml 配置說明springannoion.xm 是 Spring 的主要配置文件,里面包含了注解的掃描、數(shù)據(jù)源配置、數(shù)據(jù)庫(kù)配置、dwr 業(yè)務(wù)等配置。(1)自動(dòng)掃描注解配置接口配置以及事務(wù)管理器和視圖在 Spring3.0 框架中提供了注解這(控制器)、Service(業(yè)務(wù)邏輯)、Re能,主要包括Controlleritory(數(shù)據(jù))、Resource(資源注入)等常用注解,使用注解可以避免
溫馨提示
- 1. 本站所有資源如無(wú)特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 互聯(lián)網(wǎng)行業(yè)安全保護(hù)建議
- 2024年社會(huì)健康大班教案
- 財(cái)務(wù)部全年工作概述
- 《肺栓塞診治新進(jìn)展》課件
- 化妝師為客戶化妝設(shè)計(jì)妝容
- 兒童教育行業(yè)教育啟蒙培訓(xùn)心得
- 防務(wù)行業(yè)戰(zhàn)術(shù)訓(xùn)練培訓(xùn)總結(jié)
- 2024年稅務(wù)師題庫(kù)及完整答案
- 2024年計(jì)算機(jī)網(wǎng)絡(luò)個(gè)人簡(jiǎn)歷
- 2024年甘孜職業(yè)學(xué)院?jiǎn)握新殬I(yè)技能測(cè)試題庫(kù)有答案
- 物業(yè)管理服務(wù)領(lǐng)域:保利物業(yè)企業(yè)組織架構(gòu)及部門職責(zé)
- 融媒體專題報(bào)道方案
- 工作失誤匯報(bào)
- 呼吸科主任述職報(bào)告
- 旅游法規(guī)期末試卷與參考答案匯編
- 11054-國(guó)家開放大學(xué)2023年春期末統(tǒng)一考試《流通概論》答案
- 晉江物流行業(yè)分析
- 編譯原理考試題及答案匯總
- 國(guó)家開放大學(xué)2023年7月期末統(tǒng)一試《11132衛(wèi)生管理》試題及答案-開放本科
- 咽喉癌病歷書寫
評(píng)論
0/150
提交評(píng)論