版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、 摘 要 本小區(qū)ADSL上網(wǎng)記費(fèi)系統(tǒng)是一個(gè)應(yīng)用于小區(qū)ADSL上網(wǎng)管理的軟件,實(shí)現(xiàn)了向ADSL用戶提供各種各樣的滿足個(gè)性化需求的應(yīng)用服務(wù)的功能 。本設(shè)計(jì)完成了系統(tǒng)中的用戶自查詢模塊,實(shí)現(xiàn)了用戶對(duì)個(gè)人需求查詢的功能。 該系統(tǒng)使用Java語(yǔ)言,采用Oracle(10g)、PL-Sql、Hibernate,Spring,Struts,Jsp,Javascript,Html等技術(shù),基于 Tomcat + Eclipse + Sun OS 5.8開(kāi)發(fā)平臺(tái)開(kāi)發(fā)設(shè)計(jì)的,整個(gè)系統(tǒng)基于MVC模式(M-模型層,V-視圖層,C-控制器)完成了程序界面的設(shè)計(jì)及自查詢功能模塊的具體實(shí)現(xiàn).使用Oracle(10g)完成了數(shù)
2、據(jù)庫(kù)具體設(shè)計(jì),進(jìn)行從而完成了整個(gè)系統(tǒng)的開(kāi)發(fā)。 用戶通過(guò)本模塊可以在線查詢自身的信息(個(gè)人信息、上網(wǎng)記錄、記費(fèi)帳單、使用品牌)。它具有良好的可操作性,可靠性高、健壯性好,可擴(kuò)充性和可維護(hù)性的特點(diǎn)。完全可以滿足用戶自助服務(wù)的需求。關(guān)鍵詞:Java Jsp Hibernate Struts Oracle(10g)Abstract This NetCT OSS is a soft applied to the management of the Telecommunication enterprise. It provides the enterprise administrator kinds of
3、 services by establishing a whole system platform ,it can provider the different users with different application services, meets the requirements of different users. The system uses the Java language eclipse environment for development,using the technology of JSP,Oracle,Html, Servlet, JDBC,EJB, bas
4、ed on the platform ofWeblogic + Eclipse + JBuider + Sun OS 5.8 .Complying with the MVC Model it accomplishes the design of the framework of the program and the select function ,Using Oracle to accomplish the detail design of the Database , by the Jdbc and EJB to link Database . By the combination of
5、 all the techniques,makes the system credible, expandable, strong, and friendly .The System support the function of selection information after get the power by the right user name and password . It accomplishes select the all the information of users. Therefore,the users can get their consumption i
6、nformation efficiently and easily. The good features of the system is its security, credibility and strong . It can accomplish the purpose to meet the personality requirement of the user。Key Words:Java Jsp Hibernate Struts Oracle(10g) 目 錄 TOC f o 1-9 t 標(biāo)題 3;3;標(biāo)題 2;2;標(biāo)題 1;1;標(biāo)題 1;1;標(biāo)題 1;1;標(biāo)題 1;1;標(biāo)題 1;
7、1;標(biāo)題 1;1;標(biāo)題 1;1;標(biāo)題 1;1;標(biāo)題 1;1;標(biāo)題 2;2;標(biāo)題 2;2;標(biāo)題 2;2;標(biāo)題 2;2;標(biāo)題 2;2;標(biāo)題 2;2;標(biāo)題 2;2;標(biāo)題 2;2;標(biāo)題 3;3;標(biāo)題 3;3;標(biāo)題 3;3;標(biāo)題 3;3;標(biāo)題 3;3;標(biāo)題 3;3;標(biāo)題 3;3;標(biāo)題 3;3;樣式 標(biāo)題 3 + 宋體 五號(hào) 非加粗;3;樣式 標(biāo)題 3 + 宋體 五號(hào) 非加粗;3;樣式 標(biāo)題 3 + 宋體 五號(hào) 非加粗;3;樣式 標(biāo)題 3 + 宋體 五號(hào) 非加粗;3;樣式 標(biāo)題 3 + 宋體 五號(hào) 非加粗;3;樣式 標(biāo)題 3 + 宋體 五號(hào) 非加粗;3;樣式 標(biāo)題 3 + 宋體 五號(hào) 非加粗;3;樣式 標(biāo)
8、題 3 + 宋體 五號(hào) 非加粗;3 摘 要IAbstractII1.1 Java技術(shù)簡(jiǎn)介V1.1.1 Java語(yǔ)言的特點(diǎn)V1.1.2 Java開(kāi)發(fā)工具VI1.2 Struts技術(shù)簡(jiǎn)介VII1.2.1 什么是Struts?VII1.2.2 Struts的功能VIII1.3 Hibernate技術(shù)簡(jiǎn)介IX1.3.1 Hibernate概述 IX1.3.2 Hibernate的特點(diǎn)IX第2章 系統(tǒng)分析和總體規(guī)劃102.1系統(tǒng)的必要性和可行性 102.2 需求分析102.3 總體設(shè)計(jì)112.3.1系統(tǒng)功能設(shè)計(jì)112.3.2 運(yùn)行過(guò)程設(shè)計(jì)122.3.3系統(tǒng)流程圖13 132.3.4 數(shù)據(jù)庫(kù)設(shè)計(jì)14第3章
9、 系統(tǒng)具體設(shè)計(jì)153.1 數(shù)據(jù)庫(kù)表設(shè)計(jì)153.2 系統(tǒng)界面設(shè)計(jì)21第4章 運(yùn)行與測(cè)試354.1 軟件測(cè)試的目的和原則354.2 軟件的運(yùn)行與安裝364.2.1 J2EE應(yīng)用程序的構(gòu)建與部署 364.2.2 具體運(yùn)行過(guò)程以及的期維護(hù)36結(jié) 論38參考文獻(xiàn)39謝 辭40前 言近年來(lái),隨著計(jì)算機(jī)走進(jìn)千家萬(wàn)戶,標(biāo)志著現(xiàn)代社會(huì)已經(jīng)進(jìn)入了信息時(shí)代,單獨(dú)的一臺(tái)孤立的計(jì)算機(jī)已不能滿足人民日益增長(zhǎng)的需求,于是,互聯(lián)的進(jìn)入了人民的生活、工作,使得人與人之間的信息交流突破了地域,國(guó)界的限制。因此,在數(shù)字化通訊的時(shí)代里,互聯(lián)網(wǎng)運(yùn)營(yíng)也受到了極大的挑戰(zhàn)。在小區(qū)物業(yè)管理方面,面臨著成本的增高的狀況。從市場(chǎng)的角度看,通信領(lǐng)域
10、競(jìng)爭(zhēng)在不斷加劇,傳統(tǒng)的單純出售基礎(chǔ)的通話服務(wù)的利潤(rùn)正在逐步減少,未來(lái)市場(chǎng)的競(jìng)爭(zhēng)將不只是基礎(chǔ)的通話服務(wù)的競(jìng)爭(zhēng),更是服務(wù)方式和服務(wù)種類的競(jìng)爭(zhēng)。 為了更好的為用戶服務(wù),小區(qū)物業(yè)都會(huì)提供戶管理系統(tǒng),來(lái)對(duì)客戶資料進(jìn)行管自理,使管理突破時(shí)空限制,提高管理效率與水平,使用戶在時(shí)候任何地點(diǎn)都可以通過(guò)網(wǎng)絡(luò)進(jìn)行與電信運(yùn)營(yíng)系統(tǒng)的信息交流,滿足用戶需求,實(shí)現(xiàn)電信運(yùn)營(yíng)管理系統(tǒng)朝碰上網(wǎng)絡(luò)化,信息化,現(xiàn)代化方向發(fā)展。本課題就試圖使用java技術(shù)來(lái)實(shí)現(xiàn)一個(gè)最基本的小區(qū)ADSL上網(wǎng)記費(fèi)系統(tǒng)。本系統(tǒng)通過(guò)設(shè)計(jì)和建設(shè)網(wǎng)絡(luò)拓?fù)浼軜?gòu)、網(wǎng)絡(luò)安全系統(tǒng)、數(shù)據(jù)庫(kù)基礎(chǔ)結(jié)構(gòu)、信息共享與管理、信息的發(fā)布與管理,從而方便電信運(yùn)營(yíng)商和客戶之間的信息交流和
11、信息共享。第1章 開(kāi)發(fā)語(yǔ)言和開(kāi)發(fā)工具簡(jiǎn)介 Java技術(shù)簡(jiǎn)介Java是近代出現(xiàn)的新一代面向?qū)ο蟪绦蛟O(shè)計(jì)語(yǔ)言,由Sun公司推出,起初用于家電產(chǎn)品上的軟件編程。后來(lái),經(jīng)過(guò)Sun公司的不斷推出新的版本,目前版本已達(dá)到1.6。Java是一種簡(jiǎn)單的、面向?qū)ο蟮摹⒎植际降?、解釋的、健壯的、安全的、結(jié)構(gòu)中立的、可移植的、性能很優(yōu)異的、多線程的、動(dòng)態(tài)的語(yǔ)言。 Java語(yǔ)言的特點(diǎn) 1.簡(jiǎn)單Java與C的區(qū)別是C是面向過(guò)程的語(yǔ)言,而Java是面向?qū)ο蟮恼Z(yǔ)言,Java與C+語(yǔ)言非常相近,但比C+簡(jiǎn)單,在Java中取消息了對(duì)指針的操作,拋棄了C+中的一些不是絕對(duì)必要的功能,如頭文件、預(yù)處理文件、指針、結(jié)構(gòu)、運(yùn)算符重載、
12、多重繼承以及自動(dòng)強(qiáng)迫同型。Java實(shí)現(xiàn)了自動(dòng)的垃圾收集,簡(jiǎn)化了內(nèi)存管理的工作。2. 面向?qū)ο?Java是面向?qū)ο蟮恼Z(yǔ)言,將世間萬(wàn)物都看成對(duì)象,將對(duì)象所具有的共性抽取出來(lái),就是對(duì)象的類。Java提供了簡(jiǎn)單的類機(jī)制和動(dòng)態(tài)的構(gòu)架模型。對(duì)象中封裝了它的狀態(tài)變量和方法,很好地實(shí)現(xiàn)了模塊化和信息隱藏;而類則提供了一類對(duì)象的原型,通過(guò)繼承和重載機(jī)制,子類可以使用或重新定義父類或超類所提供的方法,從而既實(shí)現(xiàn)了代碼的復(fù)用。3. 多線程 多線程的實(shí)現(xiàn)方式可以通過(guò)軟件或硬件實(shí)現(xiàn),Java是語(yǔ)言級(jí)別的多線程,通過(guò)JVM實(shí)現(xiàn),多線程使應(yīng)用程序可以同時(shí)進(jìn)行不同的操作,處理不同的事件。在多線程機(jī)制中,不同的線程處理不同的任
13、務(wù),他們之間互不干涉,不會(huì)由于一處等待影響其他部分,這樣容易實(shí)現(xiàn)網(wǎng)絡(luò)上的實(shí)時(shí)交互操作。4. 分布式Java是面向網(wǎng)絡(luò)的語(yǔ)言。通過(guò)它提供的類庫(kù)可以處理TCP/IP協(xié)議,用戶可以通過(guò)URL地址在網(wǎng)絡(luò)上很方便的訪問(wèn)其他對(duì)象。5. 跨平臺(tái)Java是通過(guò)JVM實(shí)現(xiàn)其跨平臺(tái)的,JVM通過(guò)不同的接口與操作系統(tǒng)交互,上層通過(guò)相同的接口與Java語(yǔ)言交互,Java是一種網(wǎng)絡(luò)語(yǔ)言,為使Java程序能在網(wǎng)絡(luò)的任何地方運(yùn)行,Java解釋器生成與體系結(jié)構(gòu)無(wú)關(guān)的字節(jié)碼結(jié)構(gòu)的文件格式。Java語(yǔ)言環(huán)境還提供了用于訪問(wèn)底層操作系統(tǒng)功能的類組成的包,當(dāng)程序使用這些包時(shí),可以確保它能運(yùn)行在各種支持Java的平臺(tái)上。6. 安全性用
14、于網(wǎng)絡(luò)、分布環(huán)境下的Java必須要防止病毒的入侵,Java不支持指針,一切對(duì)內(nèi)存的訪問(wèn)都必須通過(guò)對(duì)象的實(shí)例變量來(lái)實(shí)現(xiàn),這樣就防止了程序員使用欺騙手段訪問(wèn)對(duì)象的私有成員,同時(shí)也避免了指針操作中容易產(chǎn)生的錯(cuò)誤。 Java開(kāi)發(fā)工具JDKJDK(Java Development Kit)是一個(gè)寫Java的applet和應(yīng)用程序的程序開(kāi)發(fā)環(huán)境。它由一個(gè)處于操作系統(tǒng)層之上的運(yùn)行環(huán)境還有開(kāi)發(fā)者編譯,調(diào)試和運(yùn)行用Java語(yǔ)言寫的applet和應(yīng)用程序所需的工具組成。1. Java編譯器(Javac命令)Java編譯器將Java源代碼文件編譯成可執(zhí)行的Java字節(jié)碼。Java源代碼文件的擴(kuò)展名為 .java,J
15、ava編譯器把這種擴(kuò)展名的文件編譯成擴(kuò)展名為.class的文件。源文件中的每個(gè)類在編譯后都將產(chǎn)生一個(gè)class文件,這意味一個(gè)Java源代碼文件可能編譯生成多個(gè)class文件。2. Java解釋器(java命令)Java解釋器對(duì)編譯生成的字節(jié)碼格式的可執(zhí)行程序的運(yùn)行提供支持,它是運(yùn)行非圖形Java程序的命令行工具。ECLIPSE根據(jù)需求分析及功能分析,選用Eclipse集成開(kāi)發(fā)工具及Oracle數(shù)據(jù)庫(kù)來(lái)開(kāi)發(fā)此系統(tǒng)。1.Eclipse的起源和發(fā)展Eclipse的前身是IBM的Visual Age。由于意識(shí)到Visual Age存在難以擴(kuò)展、底層技術(shù)較為脆弱、很難與WebSphere Studio
16、軟件集成等諸多問(wèn)題,進(jìn)一步發(fā)展甚為困難,同時(shí)也面臨包括Symantec公司的Visual Caf、Borland公司的JBuilder等開(kāi)發(fā)工具的競(jìng)爭(zhēng)壓力,IBM決定創(chuàng)建一個(gè)更開(kāi)放的,并且可以為IBM其他開(kāi)發(fā)工具提供支持的一體化開(kāi)發(fā)平臺(tái)。1998年11月,IBM專門成立了一個(gè)項(xiàng)目開(kāi)發(fā)小組,開(kāi)始開(kāi)發(fā)該平臺(tái),2000年新一代開(kāi)發(fā)平臺(tái)誕生,這就是大家所熟悉的Eclipse。2000年11月,IBM做出了一個(gè)重大決定,將Eclipse采用開(kāi)放源碼的授權(quán)和運(yùn)作模式發(fā)布,以增強(qiáng)業(yè)界對(duì)Eclipse的關(guān)注度并加快其推廣應(yīng)用速度。隨后,IBM于2001年12月向外界宣布,捐贈(zèng)價(jià)值4千萬(wàn)美元的Eclipse源碼
17、給開(kāi)源社區(qū);成立由成員公司組成的Eclipse協(xié)會(huì)(Eclipse Consortium),以便支持并促進(jìn)Eclipse開(kāi)源項(xiàng)目。事實(shí)證明,IBM的決策非常英明。Eclipse受到廣泛關(guān)注,蜂擁而至的用戶使得其下載服務(wù)器一度阻塞,給業(yè)界帶來(lái)了久違的震撼!IBM趁熱打鐵,在EclipseCon 2004上宣布成立一個(gè)獨(dú)立的、非盈利性的基金會(huì),由該基金會(huì)負(fù)責(zé)管理和指導(dǎo)Eclipse開(kāi)發(fā),目前其成員多達(dá)近百家知名公司,其中包括Borland、Rational Software、Red Hat、Sybase、Google和Oracle等業(yè)界巨頭。Eclipse開(kāi)發(fā)狀態(tài)非常活躍,目前成熟穩(wěn)定的版本是3.
18、2,正在開(kāi)發(fā)的版本是3.3,已經(jīng)成為業(yè)界主要的非微軟軟件開(kāi)發(fā)平臺(tái)。2.Eclipse的優(yōu)勢(shì)目前全球有上百萬(wàn)人在使用Eclipse進(jìn)行開(kāi)發(fā)。為什么Eclipse擁有如此眾多的用戶?這與Eclipse集眾多特性于一身有很大關(guān)系。Eclipse是開(kāi)放源代碼的軟件。這意味著Eclipse不僅可以免費(fèi)使用,還可以通過(guò)研究源代碼學(xué)習(xí)世界上頂尖開(kāi)發(fā)人員的編程技術(shù),并可以共享遍布全球的開(kāi)發(fā)人員所貢獻(xiàn)的公共開(kāi)放源代碼庫(kù)。Eclipse是真正可擴(kuò)展并可配置的。Eclipse采用插件機(jī)制,猶如一個(gè)花瓶,你可以隨時(shí)向花瓶里面插花,也可以很容易將不再需要的花取出。Eclipse支持眾多的開(kāi)發(fā)語(yǔ)言而不僅僅是Java。Ec
19、lipse只是給開(kāi)發(fā)人員提供了一個(gè)能夠擴(kuò)展系統(tǒng)功能的最小核心,基于擴(kuò)展點(diǎn)的插件體系結(jié)構(gòu)使得Eclipse支持多種語(yǔ)言成為可能。只要安裝相應(yīng)語(yǔ)言的插件,Eclipse就可以支持該種語(yǔ)言的開(kāi)發(fā)。目前,Eclipse已經(jīng)可以支持C、COBOL、PHP、Perl、Python等多種語(yǔ)言。Eclipse提供了對(duì)多重平臺(tái)特性的支持。開(kāi)發(fā)者可以使用他們感覺(jué)最舒適、最熟悉的平臺(tái),例如Windows、Linux等。Eclipse對(duì)每個(gè)平臺(tái)都有其單獨(dú)的圖形工具包,這使得應(yīng)用程序具有接近本地操作系統(tǒng)的外觀和更好的性能。 Struts技術(shù)簡(jiǎn)介1.2.1 什么是Struts?Struts是Apache軟件基金支持下的開(kāi)
20、源的MVC框架,在多年的WEB應(yīng)用開(kāi)發(fā)實(shí)踐中,Struts作為一個(gè)經(jīng)典的Web應(yīng)用開(kāi)發(fā)框架始終一枝獨(dú)秀.。用Struts實(shí)現(xiàn)MVC架構(gòu)。MVC(Model-View-Controller)由Trygve Reenskaug提出,首先被應(yīng)用在SmallTalk-80環(huán)境中,是許多交互和界面系統(tǒng)的構(gòu)成基礎(chǔ)。根據(jù)界面設(shè)計(jì)可變性的需求,MVC把交互系統(tǒng)的組成分解成模型、視圖、控制器三部分。6模型(Model)是軟件所處理問(wèn)題邏輯在獨(dú)立于外在顯示內(nèi)容和形式情況下的內(nèi)在抽象,封裝了問(wèn)題的核心數(shù)據(jù)、邏輯和功能的計(jì)算關(guān)系,獨(dú)立于具體的界面表達(dá)和I/O操作。視圖(View)把表示模型數(shù)據(jù)及邏輯關(guān)系和狀態(tài)的信息及
21、特定形式展示給用戶。它從模型獲得顯示信息,對(duì)于相同的信息可以有多個(gè)不同的顯示形式或視圖??刂破鳎–ontroller)是處理用戶與軟件的交互操作的,其職責(zé)是控制提供模型中任何變化的傳播,確保用戶界面于模型間的對(duì)應(yīng)聯(lián)系;它接受用戶的輸入,將輸入反饋給模型,進(jìn)而實(shí)現(xiàn)對(duì)模型的計(jì)算控制,是使模型和視圖協(xié)調(diào)工作的部件。通常一個(gè)視圖對(duì)應(yīng)一個(gè)控制器。模型、視圖與控制器的分離,使得一個(gè)模型可以具有多個(gè)顯示視圖。如果用戶通過(guò)某個(gè)視圖的控制器改變了模型的數(shù)據(jù),所有其它依賴于這些數(shù)據(jù)的視圖都應(yīng)反映到這些變化。因此,無(wú)論 何時(shí)發(fā)生了何種數(shù)據(jù)變化,控制器都會(huì)將變化通知所有的視圖,導(dǎo)致顯示的更新。這實(shí)際上是一種模型的變化
22、傳播機(jī)制。Struts框架最早是作為Apache Jakarta項(xiàng)目的組成部分問(wèn)世運(yùn)做,它繼承了MVC的各項(xiàng)特性,并根據(jù)J2EE的特點(diǎn),做了相應(yīng)的變化與擴(kuò)展。Struts框架很好的結(jié)合了Jsp,Java Servlet,Java Bean,Taglib等技術(shù)。在Struts中,承擔(dān)MVC中控制器角色的是ActionServlet。ActionServlet是一個(gè)通用的控制組件。這個(gè)控制組件提供了處理所有發(fā)送到Struts的HTTP請(qǐng)求的入口點(diǎn)。它截取和分發(fā)這些請(qǐng)求到相應(yīng)的動(dòng)作類(這些動(dòng)作類都是Action類的子 類)。另外控制組件也負(fù)責(zé)用相應(yīng)的請(qǐng)求參數(shù)填充Action Form(FromBea
23、n),并傳給動(dòng)作類(ActionBean)。動(dòng)作類訪問(wèn)核心商業(yè)邏輯,即訪問(wèn)Java Bean或調(diào)用EJB。最后動(dòng)作類把控制權(quán)傳給后續(xù)的JSP文件,由JSP文件生成視圖。所有這些控制邏輯利用Struts-config.xml文件來(lái)配置。在Struts框架中,視圖主要由JSP生成頁(yè)面完成,Struts提供豐富的JSP標(biāo)簽庫(kù),這有利于分開(kāi)表現(xiàn)邏輯和程序邏輯。模型以一個(gè)或多個(gè)Java Bean的形式存在。在Struts中,主要存在三種Bean,分別是:Action,ActionForm,EJB或者Java Bean。Struts框架沒(méi)有具體定義模型層的實(shí)現(xiàn),在實(shí)際開(kāi)發(fā)中,模型層通常是和業(yè)務(wù)邏輯緊密相連
24、的,并且要對(duì)底層數(shù)據(jù)進(jìn)行操作。下面介紹一種開(kāi)發(fā)策略,將Hibernate引入到Struts框架的模型層中,使用它來(lái)進(jìn)行數(shù)據(jù)封裝和映射,提供持久化的支持。1.2.2 Struts的功能(1) 在顯示層,Struts使用Jsp頁(yè)面和用戶進(jìn)行交互,Struts具有豐富的標(biāo)簽提供給用戶使用。 (2) 在控制層,對(duì)于用戶的.do請(qǐng)求統(tǒng)一由RequestServlet處理,用戶只要繼承Action父類即可。 (3) 在模型層,使用Javabean封裝業(yè)務(wù)邏輯。 (4) 對(duì)于客戶端提交到服務(wù)器端的數(shù)據(jù),用戶可以使用ActionForm進(jìn)行封裝。 (5) Struts對(duì)于國(guó)際化的處理相當(dāng)容易,使用自帶的標(biāo)簽就
25、可以實(shí)現(xiàn)。 (6) Struts對(duì)于表單的驗(yàn)證也很簡(jiǎn)單,即可在客戶端實(shí)現(xiàn),也可在服務(wù)器端實(shí)現(xiàn)。 1.3 Hibernate技術(shù)簡(jiǎn)介1.3.1 Hibernate概述 在今日的企業(yè)環(huán)境中,把面向?qū)ο蟮能浖完P(guān)系數(shù)據(jù)庫(kù)一起使用可能是相當(dāng)麻煩和浪費(fèi)時(shí)間的。Hibernate是一個(gè)面向JAVA的對(duì)象/關(guān)系數(shù)據(jù)庫(kù)的映射工具,用來(lái)把對(duì)象模型表示的對(duì)象映射到基于SQL關(guān)系模型數(shù)據(jù)結(jié)構(gòu)中去。Hibernate不僅僅管理JAVA類到數(shù)據(jù)庫(kù)表的映射(包括JAVA數(shù)據(jù)類型SQL數(shù)據(jù)類型的映射),還提供數(shù)據(jù)查詢和數(shù)據(jù)獲取的方法,可以大幅度減少開(kāi)發(fā)時(shí)人工使用SQL和JDBC處理數(shù)據(jù)的時(shí)間。Hibernate的目標(biāo)是對(duì)于
26、開(kāi)發(fā)者通常的數(shù)據(jù)持久化相關(guān)的編程任務(wù),解放其中的95%。對(duì)于以數(shù)據(jù)為中心的程序來(lái)說(shuō),它們往往只在數(shù)據(jù)庫(kù)中使用存儲(chǔ)過(guò)程來(lái)實(shí)現(xiàn)商業(yè)邏輯。Hibernate可能不是最好的解決方案。但對(duì)于那些基于JAVA中間層應(yīng)用中實(shí)現(xiàn)面向消息的業(yè)務(wù)模型和商業(yè)邏輯的應(yīng)用,Hibernate是最有用的。1.3.2 Hibernate的特點(diǎn)(1)程序開(kāi)發(fā)者不需要自己編寫SQL語(yǔ)句,以面向?qū)ο蟮男问胶蛿?shù)據(jù)庫(kù)交互。(2)Hibernate對(duì)Jdbc進(jìn)行了輕量級(jí)的封裝。但是,效率不如Jdbc。(3)通過(guò)臟檢查和延遲加載機(jī)制減少和數(shù)據(jù)庫(kù)的交互次數(shù),提高效率。(4)對(duì)JDBC事物和JTA的分布式事物和JNDI也做了封裝。(5)可使
27、用Criteria進(jìn)行動(dòng)態(tài)查詢。小區(qū)ADSL上網(wǎng)記費(fèi)系統(tǒng) PAGE 37 系統(tǒng)分析和總體規(guī)劃系統(tǒng)的必要性和可行性 一、必要性: 隨著人們生活水平的不斷提高,信息技術(shù)的飛速發(fā)展,傳統(tǒng)的通訊業(yè)務(wù)服務(wù)已不能滿足人們的生活節(jié)奏。對(duì)于物業(yè)管理部門來(lái)說(shuō),由于服務(wù)種類的增多,必須急于降低成本。對(duì)于電信行業(yè),未來(lái)市場(chǎng)的競(jìng)爭(zhēng)將不只是基礎(chǔ)的通話服務(wù)的競(jìng)爭(zhēng),更是服務(wù)方式和服務(wù)種類的競(jìng)爭(zhēng)。由于IP技術(shù)在通信領(lǐng)域中統(tǒng)治地位的確立,未來(lái)通信市場(chǎng)的競(jìng)爭(zhēng),將圍繞著互聯(lián)網(wǎng)及其相關(guān)服務(wù)展開(kāi),并且由于信息時(shí)代個(gè)性化需求的特征。目前電信運(yùn)營(yíng)商面對(duì)日益激烈的全方位市場(chǎng)競(jìng)爭(zhēng),提高競(jìng)爭(zhēng)力、增加客戶滿意度、減少客戶流失、提高效益成為電信運(yùn)營(yíng)
28、商必須要考慮的問(wèn)題。因此,設(shè)計(jì)這個(gè)系統(tǒng), 通過(guò)網(wǎng)絡(luò)資源的整合,使電信運(yùn)營(yíng)商需要在提供基礎(chǔ)服務(wù)的同時(shí),廣泛開(kāi)拓增值服務(wù)市場(chǎng),向用戶提供各種各樣的滿足個(gè)性化需求的應(yīng)用服務(wù),是有其必要性的。 二、可行性: (1)經(jīng)濟(jì)可行性:該系統(tǒng)需要兩臺(tái)服務(wù)器,一臺(tái)NAS網(wǎng)絡(luò)接入服務(wù)器,一臺(tái)AAA服務(wù)器,運(yùn)行安裝TOMCAT服務(wù)器即可,但對(duì)于物業(yè)管理部門來(lái)說(shuō),其產(chǎn)生的效益是完全可行的。 (2)操作可行性:計(jì)算機(jī)在生活小區(qū)居民的家庭中已有一定的比例,而這些計(jì)算機(jī)已不在單單是一個(gè)孤立的計(jì)算機(jī),而是網(wǎng)絡(luò)中的一個(gè)結(jié)點(diǎn),而此系統(tǒng)可方便這些用戶查詢自身的上網(wǎng)記錄和自身信息等,所以是可行的。 (3)技術(shù)可行性:本系統(tǒng)采用Java
29、語(yǔ)言,基于Tomcat+ Eclipse + Sun OS 5.8開(kāi)發(fā)平臺(tái),采用JSP,Oracle,Hibernate技術(shù),使用Struts框架,開(kāi)發(fā)者掌握這些技術(shù)就可以具備開(kāi)發(fā)此系統(tǒng)的能力,這些技術(shù)都是公開(kāi)的,且開(kāi)發(fā)者容易掌握的。所以,技術(shù)方面也是可行的。 需求分析1. 數(shù)據(jù)需求: 此系統(tǒng)主要完成用戶自身信息的查詢功能,因此,需要的數(shù)據(jù)信息包括:用戶信息:包括用戶帳號(hào)和密碼等信息。帳單信息,包括用戶日帳單信息,月帳單信息,年帳單信息。品牌信息,包括包月,流量,小時(shí)等。2.功能需求: 功能需求分析的任務(wù)是弄清用戶對(duì)目標(biāo)系統(tǒng)數(shù)據(jù)處理功能所提出的需求。本系統(tǒng)的功能需求有: (1)用戶通過(guò)自已的用
30、戶名和密碼進(jìn)入系統(tǒng)。 (2)用戶可以查詢自已的上網(wǎng)記錄。 (3)用戶可以查詢?nèi)請(qǐng)?bào)表。 (4)用戶可以查詢?cè)聢?bào)表。(5)用戶可以查詢年報(bào)表。(6)用戶可以查詢品牌類型信息。 總體設(shè)計(jì)系統(tǒng)功能設(shè)計(jì)1. 功能定義:(1)日?qǐng)?bào)表:按小時(shí)從RadAcct流水帳表中整合到UserDay。 (2)月報(bào)表:按天合并日?qǐng)?bào)表UserDay生成所有用戶計(jì)費(fèi)數(shù)據(jù)月表UserMonth (3)年報(bào)表:按月合并月表UserMonth生成所有用戶計(jì)費(fèi)數(shù)據(jù)年表UserYear;2. 系統(tǒng)功能:本模塊的主要功能是客戶端通過(guò)個(gè)人用戶帳號(hào)和密碼登錄系統(tǒng),實(shí)現(xiàn)對(duì)個(gè)人所有信息的查詢,是用戶利用網(wǎng)絡(luò)通過(guò)此系統(tǒng)對(duì)用戶個(gè)人信息查詢的主要途徑
31、。 其主要功能如下:(1)用戶登錄ADSL用戶通過(guò)合法帳號(hào)和密碼進(jìn)入系統(tǒng),實(shí)現(xiàn)對(duì)用戶信息的查詢操作。通過(guò)設(shè)置用戶密碼保證用戶信息的安全性。(2)日清單查詢查詢用戶在某一時(shí)段的上網(wǎng)歷史記錄。(3)日帳單查詢用戶可以輸入指定的某天查詢某日的消費(fèi)情況(4)月帳單查詢用戶可以輸入指定的月份查詢某月的消費(fèi)情況(5)年帳單查詢用戶可以查詢輸入指定的年份查詢某年的總的消費(fèi)情況(6) 品牌查詢 用戶可以查詢品牌類型信息3 .系統(tǒng)功能結(jié)構(gòu)圖:此系統(tǒng)基于Struts框架進(jìn)行設(shè)計(jì),利用JSP+JavaBean+Action進(jìn)行編程。通過(guò)對(duì)所做模塊的功能需求分析,該模塊主要功能可分為六大部分,系統(tǒng)用例如圖2-1所示。
32、 圖2-1 系統(tǒng)用例圖 運(yùn)行過(guò)程設(shè)計(jì) 本系統(tǒng)使用Struts框架搭建而成,基于MVC的模式,在客戶端使用jsp和用戶進(jìn)行交互,對(duì)于用戶的請(qǐng)求由action進(jìn)行處理,轉(zhuǎn)而調(diào)用相應(yīng)的模型層。在模型層調(diào)用業(yè)務(wù)邏輯層,對(duì)于處理后的結(jié)果再由action轉(zhuǎn)發(fā)到相應(yīng)的jsp,呈現(xiàn)給用戶??蛻舳说卿洠海?)jsp頁(yè)面接收用戶轉(zhuǎn)入的用戶名、密碼等信息。(2)通過(guò)http發(fā)送到服務(wù)器端。(3)服務(wù)器端接收用戶的請(qǐng)求,交給WEB容器,由容器調(diào)用相就的Action。(4)服務(wù)器端驗(yàn)證通過(guò)后,將處理的結(jié)果返回給客戶端。.圖2-2 Struts模型圖系統(tǒng)流程圖 開(kāi)始進(jìn)入用戶登錄界面填寫身份驗(yàn)證信息身份驗(yàn)證是否通過(guò)進(jìn)入用戶
33、主界面結(jié)束圖2-3 系統(tǒng)流程圖流程圖詳解:ADSL用戶打開(kāi)瀏覽器,輸入網(wǎng)址,進(jìn)入登陸界面,輸入用戶名和密碼,點(diǎn)擊登陸后,由瀏覽器發(fā)出一個(gè)登陸請(qǐng)求,容器獲得請(qǐng)求后,轉(zhuǎn)發(fā)到相應(yīng)的action中,在action中調(diào)用登陸的業(yè)務(wù)邏輯層中的方法,判斷用戶身份的合法性,如果用戶為合法用戶,在action中跳轉(zhuǎn)到用戶主界面,如果不成功而返回到登陸界面,并提示用戶錯(cuò)誤信息。用戶進(jìn)行重新登陸。 數(shù)據(jù)庫(kù)設(shè)計(jì)數(shù)據(jù)庫(kù)設(shè)計(jì)就是設(shè)計(jì)程序所需數(shù)據(jù)的類型、格式、長(zhǎng)度和組織方式。因?yàn)閿?shù)據(jù)庫(kù)應(yīng)用系統(tǒng)主要是處理大量的數(shù)據(jù),所以數(shù)據(jù)庫(kù)設(shè)計(jì)的優(yōu)劣,直接影響整個(gè)數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)的性能和執(zhí)行速率。 根據(jù)本系統(tǒng)的功能需求分析,本系統(tǒng)的數(shù)據(jù)庫(kù)可
34、包括七個(gè)表,分別是用戶表(users),帳單明細(xì)表(radacct),日帳單信息表(userday), 月帳單信息表(usermonth), 年帳單信息表(useryear),品牌信息表(products),品牌類型表(productstype),用戶帳號(hào)表(radcheck)。第3章 系統(tǒng)具體設(shè)計(jì)3.1 數(shù)據(jù)庫(kù)表設(shè)計(jì)1. 年帳單信息表 該表包含用戶登錄名,登錄服務(wù)器名,退出時(shí)間,資費(fèi)代號(hào),登錄時(shí)間長(zhǎng)度等信息。具體如表31。表 3-1 UserYear 表字段名類型字段寬度小數(shù)位數(shù)索引Login_name字符型20Login_ip字符型32logout_date日期型8lab_ip字符型32t
35、ime_duration數(shù)值型82建表語(yǔ)句:create table USERYEAR( ID NUMBER primary key, USERNAME VARCHAR2(30) not null,/用戶名 NASIPADDRESS VARCHAR2(15),/IP地址 ONDATE DATE,/登陸時(shí)間 TIME_DURATION NUMBER,/時(shí)長(zhǎng) FLUX NUMBER/流量);2. 月帳單信息表 該表包含用戶登錄名,登錄服務(wù)器名,退出時(shí)間,資費(fèi)代號(hào),登錄時(shí)間長(zhǎng)度等信息。具體如表32表3-2 UserMonth 表 字段名類型字段寬度小數(shù)位數(shù)索引Login_name字符型20Login
36、_ip字符型32logout_date日期型8lab_ip字符型32time_duration數(shù)值型82建表語(yǔ)句:create table USERMONTH( ID NUMBER primary key, USERNAME VARCHAR2(30) not null, /用戶名 NASIPADDRESS VARCHAR2(15),/ip地址 ONDATE DATE,/時(shí)間 TIME_DURATION NUMBER,/時(shí)長(zhǎng) FLUX NUMBER/流量);3. 日帳單信息表 該表包含用戶登錄名,登錄服務(wù)器名,退出時(shí)間,資費(fèi)代號(hào),登錄時(shí)間長(zhǎng)度等信息。具體如表33。表3-3 UserDay 表字段
37、名類型字段寬度小數(shù)位數(shù)索引Login_name字符型20Login_ip字符型32logout_date日期型8lab_ip字符型32time_duration數(shù)值型82建表語(yǔ)句:create table USERDAY( ID NUMBER primary key, USERNAME VARCHAR2(30) not null,/用戶名 NASIPADDRESS VARCHAR2(15),/IP地址 ONDATE DATE,/登陸時(shí)間 TIME_DURATION NUMBER,/時(shí)長(zhǎng) FLUX NUMBER/流量 );4. 資費(fèi)信息表 該表包含資費(fèi)號(hào),資費(fèi)名,月租費(fèi)base_fee,資費(fèi)單價(jià)
38、,折扣等信息;其中資費(fèi)號(hào)作為主鍵,資費(fèi)名唯一。具體如表34。表3-4 Product 表字段名類型字段寬度小數(shù)位數(shù)索引price_id數(shù)值型10主鍵pricing_name字符型32唯一base_fee數(shù)值型82rate_fee數(shù)值型42pricing_Desc字符型642建表語(yǔ)句:create table PRODUCTS( ID NUMBER primary key, NAME VARCHAR2(32) not null unique,/品牌名 BASE_FEE NUMBER(8,2) default 0,/基本費(fèi)率 RATE_FEE NUMBER(8,2) default 0,/費(fèi)率 D
39、AILY_LIMIT NUMBER,/每日限制時(shí)長(zhǎng) MONTH_LIMIT NUMBER,/月限制時(shí)長(zhǎng) UP_LIMIT NUMBER,/上行限制 DOWN_LIMIT NUMBER,/下行速率 SFEE NUMBER(8,2), REMARK VARCHAR2(2000),/備注 PRODUCTSTYPEID NUMBER references PRODUCTSTYPE(ID);5. 用戶表 該表包含用戶號(hào),用戶名,用戶登錄名,用戶登錄密碼等用戶的詳細(xì)信息。用戶號(hào)作為主鍵,不可重復(fù),不為空;用戶登錄名是用戶登錄的唯一標(biāo)識(shí),唯一;登錄密碼和用戶登錄名一起,作為安全性驗(yàn)證。只有用戶登錄名和密碼都
40、正確才可以登錄系統(tǒng)。具體如表35。表3-5 User 表字段名類型字段寬度小數(shù)位數(shù)索引user_id數(shù)值型20主鍵user_name字符型32login_name字符型10唯一login_password字符型32user_status數(shù)值型2user_phone字符型32user_email字符型32enroll_date日期型close_date日期型payment_style數(shù)值型2career數(shù)值型2nationality數(shù)值型2sex數(shù)值型2company字符型32mail_address字符型32phone_code字符型16建表語(yǔ)句:create table USERS( ID
41、NUMBER primary key, LOGIN_NAME VARCHAR2(20) not null unique,/登陸名 REAL_NAME VARCHAR2(20) ,/真實(shí)姓名 LOGIN_PASSWORD VARCHAR2(20) not null,/登陸密碼 EMAIL VARCHAR2(50) not null unique,/EMAIL地址 SEX NUMBER(1),/性別 ADDRESS VARCHAR2(200) not null,/住址 REGISTER_DATE DATE,/注冊(cè)日期 TELEPHONE VARCHAR2(20),/電話 POSTCODE VARC
42、HAR2(10),/郵編 REMARK VARCHAR2(1000),/備注 ROLEID NUMBER(10) references ROLES(ID);6. 品牌類型表 該表包含品牌名,注釋。具體如表36。表3-6 ProductsType 表字段名類型字段寬度小數(shù)位數(shù)索引id數(shù)值型10主鍵name字符型10remark字符型32建表語(yǔ)句:create table PRODUCTSTYPE( ID NUMBER primary key, NAME VARCHAR2(32) not null unique,/品牌類型名 REMARK VARCHAR2(2000)/備注);7. 帳單明細(xì)表 該
43、表包含用戶登錄號(hào),登錄時(shí)間,離開(kāi)時(shí)間,服務(wù)器名,和登錄時(shí)間長(zhǎng)度等信息。具體如表37。表3-7 RadAcct 表字段名類型字段寬度小數(shù)位數(shù)索引login_ip字符型32login_date日期型logout_date日期型lab_ip字符型42time_duration數(shù)值型82建表語(yǔ)句: create table RADACCT( RADACCTID INTEGER primary key, ACCTSESSIONID VARCHAR2(32) not null, ACCTUNIQUEID VARCHAR2(32), USERNAME VARCHAR2(32) not null, REALM
44、 VARCHAR2(30), NASIPADDRESS VARCHAR2(15) not null,/IP地址 NASPORTID NUMBER(12),/NAS端口地址 NASPORTTYPE VARCHAR2(32),/NAS端口類型 ACCTSTARTTIME DATE,/上線時(shí)間 ACCTSTOPTIME DATE,/下線時(shí)間 ACCTSESSIONTIME NUMBER(12), ACCTAUTHENTIC VARCHAR2(32), CONNECTINFO_START VARCHAR2(32), CONNECTINFO_STOP VARCHAR2(32), ACCTINPUTOCT
45、ETS NUMBER(12), ACCTOUTPUTOCTETS NUMBER(12), CALLEDSTATIONID VARCHAR2(50), CALLINGSTATIONID VARCHAR2(50), ACCTTERMINATECAUSE VARCHAR2(32), SERVICETYPE VARCHAR2(32), FRAMEDPROTOCOL VARCHAR2(32), FRAMEDIPADDRESS VARCHAR2(15), ACCTSTARTDELAY NUMBER(12), ACCTSTOPDELAY NUMBER(12);7. 用戶帳號(hào)表在USERS表中保存的是用戶的信
46、息,在此表中保存的是帳號(hào)信息,一個(gè)用戶可以有多個(gè)帳號(hào)。具體如表38。表3-7 RadCheck 表字段名類型字段寬度小數(shù)位數(shù)索引id字符型32username字符型30attribute字符型30op字符型42userid字符型productid字符型value字符型40建表語(yǔ)句:create table RADCHECK( ID INTEGER primary key, USERNAME VARCHAR2(30) not null, ATTRIBUTE VARCHAR2(30),/屬性 OP VARCHAR2(2) not null,/操作符 VALUE VARCHAR2(40),/值 US
47、ERSID NUMBER references USERS(ID),/用戶ID PRODUCTSID NUMBER references PRODUCTS(ID)/產(chǎn)品ID);3.2 系統(tǒng)界面設(shè)計(jì)1. 登錄界面實(shí)現(xiàn)過(guò)程:本頁(yè)面主要實(shí)現(xiàn)接收用戶帳號(hào)和用戶密碼,并發(fā)送到服務(wù)器進(jìn)行身份驗(yàn)證,返回驗(yàn)證結(jié)果后判斷是否進(jìn)入主頁(yè)面。界面如圖3-1所示: 圖31 登錄界面public class LoginAction extends Action public ActionForward execute(ActionMapping mapping, ActionForm form,HttpServletRe
48、quest request, HttpServletResponse response)throws Exception LoginForm loginForm = (LoginForm) form;/獲得登陸用戶名String loginName = loginForm.getLoginName();/獲得登陸密碼String loginPassword = loginForm.getLoginPassword();/獲得驗(yàn)證碼String verifyCode_client = loginForm.getVerifyCode();HttpSession session = request.
49、getSession();try String verifyCode_server = (String) session.getAttribute(verifyCode);/判斷驗(yàn)證碼是否正確if (verifyCode_client.equals(verifyCode_server) IService iService = BeanFactory.getService();/判斷用戶是否是管理員if (loginForm.isManager() /管理員登陸 Adminadmin=iService.adminLogin(loginName, loginPassword);List roles
50、 = iService.getAllRoles();List products = iService.getAllProducts();session.setAttribute(products, products);session.setAttribute(roles, roles);session.setAttribute(admin, admin);return mapping.findForward(admin); else /普通用戶登陸User user = iService.userLogin(loginName, loginPassword);List roles = iSer
51、vice.getAllRoles();session.setAttribute(roles, roles);session.setAttribute(user, user);return mapping.findForward(customer); else session.setAttribute(message, 驗(yàn)證碼錯(cuò)誤!);return mapping.findForward(failed); catch (Exception e) e.printStackTrace();session.setAttribute(message, e.getMessage();return mapp
52、ing.findForward(failed);2. 用戶界面用戶信息驗(yàn)證通過(guò)后,直接進(jìn)入用戶操作界面,該界面包含用戶所有可操作信息。包括私人信息查詢和帳單查詢,資費(fèi)查詢,本系統(tǒng)主要實(shí)現(xiàn)用戶對(duì)帳單的查詢。用戶單擊鏈接“帳單查詢”,即可進(jìn)入帳單查詢界面。界面如圖32所示:圖32 用戶界面3.帳單查詢界面 用戶通過(guò)單擊“帳單查詢”進(jìn)入此界面。該界面包括用戶對(duì)個(gè)人帳單查詢的所有操作,用戶可以日清單查詢,日?qǐng)?bào)表,月報(bào)表,年帳單等的查詢。 單擊日清單查詢的提交按鈕,進(jìn)入日清單查詢界面,可以查詢用戶每日的登錄次數(shù)和個(gè)人消費(fèi)。 單擊日?qǐng)?bào)表查詢的提交按鈕,進(jìn)入月報(bào)表查詢界面,查詢用戶每日24小時(shí)的登錄次數(shù),并
53、統(tǒng)計(jì)出該日總計(jì)登錄時(shí)長(zhǎng),和用戶個(gè)人消費(fèi)。 單擊月報(bào)表查詢的提交按鈕,進(jìn)入月報(bào)表查詢界面,查詢用戶每個(gè)月31天中各天的登錄時(shí)長(zhǎng),并且統(tǒng)計(jì)該用戶一個(gè)月總的消費(fèi)。單擊年帳單查詢的提交按鈕,進(jìn)入月報(bào)表查詢界面,查詢用戶一年12個(gè)月每月的登錄時(shí)長(zhǎng),并且統(tǒng)計(jì)一年內(nèi)用戶的總消費(fèi)。界面如圖33所示:圖33 帳單查詢界面具體實(shí)現(xiàn)代碼如下: public class DoReckonAction extends Action public ActionForward execute(try /通過(guò)用戶名獲得用戶定購(gòu)的所有服務(wù)userServices = service.findUserServices(user.
54、getUserId();Collection labLoginName = new Vector();/使用迭代器循環(huán)輸出到界面各個(gè)標(biāo)簽里對(duì)應(yīng)的帳務(wù)帳號(hào),業(yè)務(wù)帳號(hào)和登錄的服務(wù)器for(Iterator it = userServices.iterator();it.hasNext();) UserService userService = (UserService)it.next();labLoginName.add(new LabelValueBean(userService.getLabLoginName()+:+ userService.getLabIp(),userService.ge
55、tLabLoginName();request.setAttribute(labLoginName,labLoginName);/通過(guò)request 服務(wù)器讀取用戶提交的內(nèi)容 Collectionresult=service.getUserreckon(user.getUserId(), rockdexForm.getYear(),rockdexForm.getMonth();request.setAttribute(userreckon,result);double totalCost = 0.0;for(Iterator it=result.iterator();it.hasNext();
56、) totalCost += (UserReckon)it.next().getCost();/取得用戶的消費(fèi)總計(jì) request.setAttribute(totalcost,new Double(totalCost);Calendar c = Calendar.getInstance();/創(chuàng)建日歷類的實(shí)例,實(shí)現(xiàn)統(tǒng)計(jì)日期顯示 if(c.get(Calendar.YEAR)=rockdexForm.getYear()& (c.get(Calendar.MONTH)+1)=rockdexForm.getMonth() request.setAttribute(currDay,Integer.t
57、oString (c.get(Calendar.DAY_OF_MONTH);else c.set(rockdexForm.getYear(),rockdexForm.getMonth()-1,1); request.setAttribute(currDay,Integer.toString (c.getActualMaximum(Calendar.DAY_OF_MONTH);return mapping.findForward(success); catch (Exception e) e.printStackTrace();return mapping.findForward(failure
58、);4.年報(bào)表查詢界面用戶通過(guò)單擊“帳單查詢”界面的年報(bào)表查詢列的“提交”按鈕,即進(jìn)入此界面。界面顯示出用戶一年內(nèi)各月的時(shí)長(zhǎng)統(tǒng)計(jì)和該年費(fèi)用總計(jì)等信息。界面如圖34所示:圖34 年報(bào)表界面主要實(shí)現(xiàn)過(guò)程代碼如下:public class ShowUserYearAction extends Action public ActionForward execute(ActionMapping mapping, ActionForm form,HttpServletRequest request, HttpServletResponse response) ShowUserMonthForm showU
59、serMonthForm = (ShowUserMonthForm) form;String year = showUserMonthForm.getYear();String name = showUserMonthForm.getBusinessName();List useryears = null;Radcheck radcheck = null;Double totalTime = 0D;/總時(shí)長(zhǎng)Double totalFlux = 0D;/總流量Double totalFee = 0D;/總費(fèi)用try IService iService = BeanFactory.getServi
60、ce();List list = iService.showUserYear(name, year);if (list.size() = 2) radcheck = (Radcheck) list.get(0);useryears = (List) list.get(1);Long productType = radcheck.getProduct().getProductType().getId();Iterator iter = useryears.iterator();while (iter.hasNext() Useryear useryear = (Useryear) iter.ne
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 課題申報(bào)參考:聚焦體育新課標(biāo)小學(xué)體育課運(yùn)動(dòng)負(fù)荷主觀測(cè)評(píng)路徑與調(diào)控策略研究
- 課題申報(bào)參考:教師教學(xué)洞察力的表現(xiàn)特征、生成機(jī)制及發(fā)展路徑研究
- 包含維修條款的2025年度二手手機(jī)買賣合同范本3篇
- 二零二五版桉樹(shù)種植與星海生態(tài)教育合作項(xiàng)目合同3篇
- 二零二五年度出國(guó)留學(xué)學(xué)費(fèi)支付及管理合同3篇
- 二零二五年度煤炭運(yùn)輸合同范本:多式聯(lián)運(yùn)與綜合物流服務(wù)協(xié)議4篇
- 二零二五版文化中心場(chǎng)地租賃協(xié)議書(shū)4篇
- 2025年度海洋工程聘用工程師及項(xiàng)目實(shí)施合同4篇
- 2025版充電樁安全風(fēng)險(xiǎn)評(píng)估與應(yīng)急預(yù)案制定合同3篇
- 二零二五版智慧醫(yī)療路演投資合同范本4篇
- 2025年度版權(quán)授權(quán)協(xié)議:游戲角色形象設(shè)計(jì)與授權(quán)使用3篇
- 心肺復(fù)蘇課件2024
- 《城鎮(zhèn)燃?xì)忸I(lǐng)域重大隱患判定指導(dǎo)手冊(cè)》專題培訓(xùn)
- 湖南財(cái)政經(jīng)濟(jì)學(xué)院專升本管理學(xué)真題
- 全國(guó)身份證前六位、區(qū)號(hào)、郵編-編碼大全
- 2024-2025學(xué)年福建省廈門市第一中學(xué)高一(上)適應(yīng)性訓(xùn)練物理試卷(10月)(含答案)
- 《零售學(xué)第二版教學(xué)》課件
- 廣東省珠海市香洲區(qū)2023-2024學(xué)年四年級(jí)下學(xué)期期末數(shù)學(xué)試卷
- 房地產(chǎn)行業(yè)職業(yè)生涯規(guī)劃
- 江蘇省建筑與裝飾工程計(jì)價(jià)定額(2014)電子表格版
- MOOC 數(shù)字電路與系統(tǒng)-大連理工大學(xué) 中國(guó)大學(xué)慕課答案
評(píng)論
0/150
提交評(píng)論