freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

基于jasper的報(bào)表管理平臺(tái)設(shè)計(jì)與實(shí)現(xiàn)碩士學(xué)位論文(參考版)

2025-06-22 15:56本頁(yè)面
  

【正文】 用戶管理流程圖,以用戶的角度來(lái)看,在用戶管理模塊下有用戶列表選項(xiàng),單擊這個(gè)選項(xiàng),便可以生成用。,它的基本流程是打開(kāi)用戶管理界面,系統(tǒng)后端連接用戶的數(shù)據(jù)庫(kù)、獲取相關(guān)數(shù)據(jù),并且顯示在界面上。用戶信息一般包括用戶名稱、賬號(hào)密碼、個(gè)人聯(lián)系方式以及其他一些涉及安全或隱私的個(gè)人信息。賬戶管理的主要內(nèi)容是用戶的基本信息查看和用戶密碼的修改,基本信息包括個(gè)人賬號(hào)名稱、聯(lián)系方式以及角色權(quán)限信息等。 系統(tǒng)功能模塊結(jié)構(gòu)圖在數(shù)據(jù)源管理中,數(shù)據(jù)源會(huì)以多種方式被引用,例如JDBC、Bean等,每種方式都有著自己的特點(diǎn)。(6)具有MVC設(shè)計(jì)模式的一些優(yōu)勢(shì),例如能夠提高Jasper報(bào)表引擎模塊的重用性,也具備良好的靈活性和松耦合特性。(4)支持多種輸出格式,因?yàn)楸鞠到y(tǒng)是在Jasper引擎的基礎(chǔ)上搭建的,在輸出方面也毫不遜色,能夠支持多種格式,例如PDF、HTML、XLS等。(2)平臺(tái)結(jié)合了JasperReprots的引擎,這使它更具有突出的報(bào)表處理能力。在本文的開(kāi)發(fā)過(guò)程中,我們將JasperReports報(bào)表工具的部分有關(guān)對(duì)jrxml格式的報(bào)表模板文件處理的源代碼整合導(dǎo)入到報(bào)表系統(tǒng)之中,并且對(duì)這部分代碼進(jìn)行了一些比較符合本文報(bào)表系統(tǒng)的整理和修改[30]。報(bào)表管理模塊可以使用JasperReports的具體實(shí)現(xiàn)方法來(lái)進(jìn)行系統(tǒng)的集成?;谏弦还?jié)對(duì)JasperReports報(bào)表工具的源碼進(jìn)行了一定的分析,我們獲取了對(duì)本文報(bào)表管理系統(tǒng)更多的代碼支持。需要輸出不同形式的報(bào)表,有兩個(gè)類需要用到:JasperPrintManager和JasperExportManager。(2)通過(guò)JRDataSource接口的實(shí)現(xiàn)來(lái)定義數(shù)據(jù)源,該接口有兩個(gè)方法組成。JasperCompileManager類它是一個(gè)編譯管理器,作用是將jrxml文件轉(zhuǎn)換成jasper文件,將jasperDesign對(duì)象轉(zhuǎn)換成jasperReport對(duì)象。2.封裝里面的元素。除了PDF,JasperReports還能輸出其他各種不同形式的報(bào)表,比如XML、HTML、DOCX等等。(1)打印報(bào)表經(jīng)過(guò)數(shù)據(jù)源填充的報(bào)表最終會(huì)生成jrprint格式的文件,輸入jrprint文件,最后輸出打印后的報(bào)表。 報(bào)表輸出生成報(bào)表的第三步是打印報(bào)表或者輸出報(bào)表文件。 數(shù)據(jù)源填充生成報(bào)表的第二步是數(shù)據(jù)源填充。 解析與編譯首先,生成報(bào)表的第一步為文件的解析與編譯。 Jasper報(bào)表引擎的主要步驟這里主要講的是JasperReports引擎生成報(bào)表時(shí)的主要步驟,通過(guò)對(duì)代碼的理解來(lái)熟悉報(bào)表的生成過(guò)程。從XML文件到最后報(bào)表的形成,基本上是通過(guò)這個(gè)流程圖的步驟,以JRXML格式存在的文件通過(guò)解析生成JasperDesign對(duì)象,然后經(jīng)過(guò)編譯生成JasperReport對(duì)象,再通過(guò)數(shù)據(jù)源的填充,產(chǎn)生JasperPrint對(duì)象,最后打印或者輸出不同形式的文件。對(duì)它的源代碼分析可以讓我們更加清楚地了解報(bào)表產(chǎn)生的過(guò)程實(shí)現(xiàn)、具體的步驟實(shí)現(xiàn)等等好處。DAO接口是對(duì)本文MYSQL數(shù)據(jù)庫(kù)的具體操作接口,使用它可以讓程序只對(duì)接口進(jìn)行操作而不用直接面對(duì)業(yè)務(wù)邏輯的數(shù)據(jù)庫(kù)處理,最后將添加完成的數(shù)據(jù)源顯示在數(shù)據(jù)源管理界面上以供用戶查看和管理。 保存數(shù)據(jù)源信息代碼。用戶在數(shù)據(jù)源管理頁(yè)面上點(diǎn)擊“Add”按鈕,請(qǐng)求被分發(fā)器Dispatcherservlet發(fā)送到數(shù)據(jù)源管理控制器hengtReportDatasourceController類,控制器接收到“action=Add”的業(yè)務(wù)請(qǐng)求,并找到相關(guān)邏輯進(jìn)行處理,: 跳轉(zhuǎn)至添加頁(yè)面代碼ModelAndView類的toAdd方法會(huì)調(diào)用hengtReportDataSourceTypeService. queryList方法,執(zhí)行查詢數(shù)據(jù)源類型的操作,并將查詢到的結(jié)果放入ModelMap中,返回一個(gè)新的ModelAndView,該ModelAndView持有的View名稱為datasource/hengt_report_datasource_add。當(dāng)Dispatcherservlet被定義配置完成后,每當(dāng)執(zhí)行各種請(qǐng)求,分發(fā)器就會(huì)對(duì)請(qǐng)求進(jìn)行分發(fā),根據(jù)請(qǐng)求內(nèi)容的不同,分發(fā)器可以將請(qǐng)求分發(fā)給控制層或者分發(fā)給表示層。我們?cè)谶@一層主要定義了類名,它們互相之間通過(guò)各種配合來(lái)最終完成各種功能。再經(jīng)過(guò)模板和數(shù)據(jù)的融合。Velocity建立的Context對(duì)象主要作用是用于vm模板和控制器之間數(shù)據(jù)的傳輸。 視圖層系統(tǒng)在界面設(shè)計(jì)上采用的是Velocity模板引擎,基于它獨(dú)立性強(qiáng),與后臺(tái)組件耦合低,簡(jiǎn)單易懂,可維護(hù)性高等優(yōu)點(diǎn),我們可以很好地展示系統(tǒng)的報(bào)表數(shù)據(jù),滿足用戶的需求。以用戶管理為例,首先iBATIS通過(guò) ,它實(shí)現(xiàn)的是針對(duì)用戶相關(guān)信息的數(shù)據(jù)庫(kù)SQL語(yǔ)句的操作,、數(shù)據(jù)源以及iBATIS的SqlMapClient的配置工作。當(dāng)報(bào)表管理平臺(tái)需要和數(shù)據(jù)源進(jìn)行交互的時(shí)候調(diào)用這個(gè)接口,并且需要編寫類來(lái)實(shí)現(xiàn)具體的功能邏輯。 主要作用管理Bean數(shù)據(jù)源類型的數(shù)據(jù)庫(kù)操作管理各種數(shù)據(jù)源的SQL語(yǔ)句管理JDBC數(shù)據(jù)源類型的數(shù)據(jù)庫(kù)操作管理JNDI數(shù)據(jù)源類型的數(shù)據(jù)庫(kù)操作管理針對(duì)參數(shù)的數(shù)據(jù)庫(kù)SQL語(yǔ)句角色管理時(shí)的數(shù)據(jù)庫(kù)SQL語(yǔ)句報(bào)表模板管理的數(shù)據(jù)庫(kù)SQL語(yǔ)句用戶管理時(shí)的數(shù)據(jù)庫(kù)SQL語(yǔ)句而在報(bào)表關(guān)鍵的功能模型開(kāi)發(fā)上,我們主要針對(duì)數(shù)據(jù)源操作部分進(jìn)行了代碼優(yōu)化,通過(guò)數(shù)據(jù)訪問(wèn)接口DAO(Data Access Object)將所有對(duì)數(shù)據(jù)源的訪問(wèn)操作抽象封裝在公共API中。而使用iBATIS框架首要做的就是對(duì)它進(jìn)行相關(guān)配置。在本文中,模型層主要處理的是報(bào)表管理、用戶角色管理和數(shù)據(jù)源管理等等相關(guān)的功能,有以下幾點(diǎn):(1) 處理報(bào)表模板、用戶、角色和數(shù)據(jù)源管理時(shí)的添加、修改和刪除操作;(2) 獲取報(bào)表模板等模塊的信息列表;(3) 處理報(bào)表運(yùn)行時(shí)的數(shù)據(jù)源調(diào)用與填充;(4) 處理報(bào)表模板文件的解析、編譯邏輯;(5) 處理報(bào)表輸出時(shí)的格式轉(zhuǎn)換與打印邏輯。而邏輯處理對(duì)象是指具體的業(yè)務(wù)處理邏輯。系統(tǒng)有關(guān)處理業(yè)務(wù)的功能邏輯代碼一般都放在模型層,其中包括業(yè)務(wù)實(shí)體對(duì)象和邏輯處理對(duì)象。下面就框架的模型層、視圖層和控制器層的具體功能實(shí)現(xiàn)進(jìn)行說(shuō)明。 平臺(tái)的系統(tǒng)架構(gòu)實(shí)現(xiàn)報(bào)表管理平臺(tái)采用MVC框架模式實(shí)現(xiàn)。以上幾個(gè)部分的設(shè)計(jì)完全符合報(bào)表系統(tǒng)的基本需求,為實(shí)現(xiàn)整體報(bào)表管理系統(tǒng)和具體的功能模塊搭建了基礎(chǔ)。,我們可以認(rèn)識(shí)到整個(gè)系統(tǒng)的架構(gòu)主要分為三層:外部系統(tǒng)層、業(yè)務(wù)邏輯層和資源庫(kù)層,并且描述了相關(guān)功能模塊以及流程設(shè)計(jì);,我們也能夠非常清晰地認(rèn)識(shí)到整個(gè)系統(tǒng)的技術(shù)框架結(jié)構(gòu),主要采用MVC框架模式進(jìn)行整合與設(shè)計(jì)。 本章小結(jié)本章是對(duì)報(bào)表管理平臺(tái)的總體架構(gòu)進(jìn)行設(shè)計(jì)。通過(guò)以上四層的分析與設(shè)計(jì),報(bào)表的產(chǎn)生在技術(shù)上的實(shí)現(xiàn)流程是這樣的:用戶通過(guò)登錄界面進(jìn)入報(bào)表管理平臺(tái),在由Velocity引擎和JSP頁(yè)面共同組成的報(bào)表管理模塊界面上提出運(yùn)行報(bào)表請(qǐng)求,由SpringMVC的分發(fā)器DispatcherServlet分發(fā)請(qǐng)求給控制器,控制器接收到請(qǐng)求后,將請(qǐng)求送至模型層的相應(yīng)報(bào)表引擎處理Service,此Service會(huì)調(diào)用Spring配置文件下有關(guān)數(shù)據(jù)源和iBATIS的配置信息,并且通過(guò)JDBC、DAO和iBATIS獲取報(bào)表模板的數(shù)據(jù)源、路徑等存放在MYSQL數(shù)據(jù)庫(kù)的數(shù)據(jù),然后通過(guò)調(diào)用Jasper報(bào)表引擎的處理模塊最終生成報(bào)表。 Database Service層Database Service層:這一層是數(shù)據(jù)庫(kù)層,報(bào)表管理平臺(tái)使用開(kāi)源的MySQL數(shù)據(jù)庫(kù)來(lái)設(shè)計(jì)和實(shí)現(xiàn)數(shù)據(jù)的存儲(chǔ)和操作[29]。iBATIS通過(guò)SqlMapClient對(duì)象來(lái)處理映射文件,Spring可以配置SqlMapClient來(lái)管理和整合iBATIS。技術(shù)上使用iBATIS數(shù)據(jù)持久層框架和Spring的DAO模式來(lái)設(shè)計(jì)和實(shí)現(xiàn)這一模塊。它們?cè)谔幚肀疚南到y(tǒng)相關(guān)業(yè)務(wù)功能時(shí)的流程設(shè)計(jì)如下:1)系統(tǒng)將Velocity頁(yè)面中的輸入元素(請(qǐng)求)交給DispatcherServlet;2)DispatcherServlet查詢一個(gè)或多個(gè)HandlerMapping,并找到處理請(qǐng)求的Controller;3)DispatcherServlet把請(qǐng)求提交給目標(biāo)Controller;4)Controller進(jìn)行業(yè)務(wù)邏輯處理后,返回一個(gè)ModelAndView;5)DispatcherServlet查詢一個(gè)多個(gè)ViewResolvet視圖解析器,找到ViewResolvet對(duì)象指定的視圖對(duì)象;6)視圖對(duì)象負(fù)責(zé)渲染并返回Velocity頁(yè)面[28]。Spring通過(guò)在配置文件中加入bean屬性來(lái)創(chuàng)建實(shí)例,通過(guò)面向切面編程能夠分離應(yīng)用的業(yè)務(wù)邏輯與系統(tǒng)級(jí)服務(wù)。Spring以控制反轉(zhuǎn)(IoC)和面向切面(AOP)為核心,當(dāng)系統(tǒng)在處理報(bào)表模板管理等功能模塊時(shí),Spring的IoC技術(shù)能夠?qū)⒁恍┫嚓P(guān)的其他依賴對(duì)象主動(dòng)傳遞給當(dāng)前的對(duì)象作為引用,并不需要當(dāng)前對(duì)象自己去建立依賴對(duì)象。本平臺(tái)主要是用J2EE技術(shù)來(lái)創(chuàng)建的,Spring為J2EE 應(yīng)用程序開(kāi)發(fā)提供集成的框架。業(yè)務(wù)構(gòu)件的具體處理流程已經(jīng)在上一節(jié)有過(guò)介紹,這里主要描述業(yè)務(wù)功能模塊在技術(shù)上的設(shè)計(jì)方案。具體步驟設(shè)計(jì)如下:1)報(bào)表模板文件經(jīng)過(guò)Jasper引擎的解析生成模板對(duì)象;2)模板對(duì)象經(jīng)過(guò)引擎編譯器的編譯生成jasper文件;3)對(duì)jasper文件進(jìn)行數(shù)據(jù)源的填充和參數(shù)的設(shè)置生成打印對(duì)象;4)將打印對(duì)象以不同的格式進(jìn)行報(bào)表的輸出。Jasper報(bào)表引擎相關(guān)邏輯:主要是產(chǎn)生報(bào)表過(guò)程中的代碼控制和功能邏輯,包括XML文件的解析、模板對(duì)象的編譯、數(shù)據(jù)源的填充和報(bào)表文件的輸出等內(nèi)容。Velocity視圖的開(kāi)發(fā)需要頁(yè)面設(shè)計(jì)人員和程序開(kāi)發(fā)人員共同完成,它的程序設(shè)計(jì)流程如下:1) 初始化Velocity;2) 建立一個(gè)Velocity的Context對(duì)象;3) 將數(shù)據(jù)放入到Context對(duì)象中,例如用戶列表、報(bào)表模板列表等;4) 加載vm視圖模板;5) 建立IO流來(lái)輸出模板;6) 輸出融合數(shù)據(jù)和vm視圖的界面。在整體平臺(tái)的界面設(shè)計(jì)中,JSP頁(yè)面主要作用是搭建報(bào)表管理平臺(tái)的外層框架,它不包含具體的功能模塊界面,而Velocity是主要的顯示框架,執(zhí)行具體的功能模塊顯示需求。因?yàn)閂elocity框架相對(duì)更加獨(dú)立于后臺(tái)組件,而且它能夠讓視圖界面與邏輯層的聯(lián)系降到最低,相比較其他的一些腳本語(yǔ)言,它更能保證頁(yè)面的整潔性和可維護(hù)性。用戶從登錄界面進(jìn)入報(bào)表管理平臺(tái)的控制面板,此面板上擁有具體業(yè)務(wù)模塊的顯示界面,包括用戶角色管理界面、數(shù)據(jù)源管理界面和報(bào)表模板管理界面等,在報(bào)表模板管理界面下,還擁有參數(shù)設(shè)置等界面,當(dāng)用戶運(yùn)行報(bào)表模板后,就會(huì)生成相關(guān)報(bào)表的展示界面。下面是對(duì)每一層技術(shù)框架的具體設(shè)計(jì)。 報(bào)表管理平臺(tái)技術(shù)框架設(shè)計(jì)圖平臺(tái)的技術(shù)框架采用MVC模式設(shè)計(jì)與實(shí)現(xiàn),加上數(shù)據(jù)層一共分為四層,分別為Model層、View層、Controller層和Database Service層。 平臺(tái)的技術(shù)框架設(shè)計(jì)架構(gòu)設(shè)計(jì)是對(duì)軟件程序在內(nèi)容構(gòu)成、功能描述和屬性基礎(chǔ)方面的一次高級(jí)抽象,是由軟件平臺(tái)的模塊敘述、模塊之間的相互作用、基于模塊形成聯(lián)系的框架以及這些框架之間的協(xié)約這幾個(gè)方面的內(nèi)容形成的。它們之間有著密不可分的關(guān)系,一個(gè)用戶能夠擁有多種角色,一個(gè)角色也可以搭配多種用戶。以下是數(shù)據(jù)源管理的流程:1) 用戶在數(shù)據(jù)源管理界面下執(zhí)行添加、編輯或者刪除操作;2) 用戶選擇三種類型之一作為數(shù)據(jù)源連接類型;3) 用戶輸入數(shù)據(jù)庫(kù)的連接信息,例如驅(qū)動(dòng)、URL、用戶名和密碼等;4) 用戶可以通過(guò)測(cè)試按鈕測(cè)試輸入的信息是否正確;5) 用戶完成測(cè)試并保存數(shù)據(jù)源連接信息。數(shù)據(jù)源有很多種,本文的系統(tǒng)支持三種數(shù)據(jù)源連接類型,分別是JDBC(Java Data Base Connectivity)、JNDI(Java Naming and Directory Interface)和Bean(JavaBean)。 數(shù)據(jù)源管理數(shù)據(jù)源管理模塊是對(duì)產(chǎn)生報(bào)表時(shí)提供報(bào)表模板特定的數(shù)據(jù)來(lái)源進(jìn)行管理。報(bào)表管理模塊的功能一般是對(duì)報(bào)表模板的管理與維護(hù),模板是報(bào)表產(chǎn)生的前提和基礎(chǔ),是報(bào)表外在表現(xiàn)形式的元素提供方。 報(bào)表模板管理報(bào)表模板管理模塊是整個(gè)報(bào)表管理系統(tǒng)的主要功能體現(xiàn),生成的報(bào)表對(duì)于用戶來(lái)說(shuō),無(wú)論在報(bào)表的內(nèi)容要素上,還是在報(bào)表的表現(xiàn)形式上,都有著直接而充滿影響力的重要特性。它是用戶使用此報(bào)表管理平臺(tái)的入口,通過(guò)這些界面用戶才能操作和管理相關(guān)的功能模塊[27]。(3)外部系統(tǒng)層:也稱UI層。當(dāng)每次需要用到報(bào)表管理或者用戶角色管理等功能時(shí),只需要調(diào)用相關(guān)業(yè)務(wù)邏輯的功能模塊并傳入相關(guān)參數(shù)就能很容易地完成操作,并返回所需要的內(nèi)容。對(duì)于報(bào)表引擎庫(kù),我們創(chuàng)建一個(gè)報(bào)表工廠結(jié)合報(bào)表引擎,使報(bào)表引擎擁有持久性、獨(dú)立性和低耦合性。 報(bào)表管理平臺(tái)的整體業(yè)務(wù)功能圖(1)資源庫(kù)層:報(bào)表所使用的數(shù)據(jù)、模板和用戶角色的賬號(hào)等都來(lái)自資源庫(kù)層,它的內(nèi)容包含數(shù)據(jù)庫(kù)和報(bào)表引擎庫(kù),包括報(bào)表的類型數(shù)據(jù)、報(bào)表模板數(shù)據(jù)、用戶數(shù)據(jù)等,主要作用是提供這些數(shù)據(jù)給業(yè)務(wù)邏輯層使用,為業(yè)務(wù)邏輯層建立完善的報(bào)表和用戶管理提供支持?;谟脩粜枨螅饕譃槿龑樱和獠肯到y(tǒng)層、業(yè)務(wù)邏輯層和資源庫(kù)層。本章將從報(bào)表管理平臺(tái)的業(yè)務(wù)流程以及技術(shù)框架方面來(lái)設(shè)計(jì)整體平臺(tái)架構(gòu) [26]。59浙江大學(xué)碩士學(xué)位論文 第3章 報(bào)表管理平臺(tái)架構(gòu)設(shè)計(jì)第3章 報(bào)表管理平臺(tái)架構(gòu)設(shè)計(jì) 平臺(tái)架構(gòu)設(shè)計(jì)的概述報(bào)表管理平臺(tái)的主要作用是管理和實(shí)現(xiàn)報(bào)表,用戶在平臺(tái)上可以輸入報(bào)表參數(shù)(比如報(bào)表類型、日期等),通過(guò)運(yùn)行報(bào)表模板來(lái)產(chǎn)生最終報(bào)表。而在系統(tǒng)的持久層上,主要是對(duì)Hibernate框架和iBATIS框架進(jìn)行了綜述。在表現(xiàn)層技術(shù)方面,主要分析了JSP、Velocity模板這兩個(gè)技術(shù)。 本章小結(jié)本章具體分析了JasperReports報(bào)表開(kāi)發(fā)工具的內(nèi)容,介紹了JasperReports相關(guān)特點(diǎn),分析了jasper技術(shù)的優(yōu)缺點(diǎn),根據(jù)需求,說(shuō)明
點(diǎn)擊復(fù)制文檔內(nèi)容
試題試卷相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1