jsp企业财务管理系统设计与实现(论文+PPT+源码
畢業設計(論文)任務書
第1頁
企業財務管理系統
摘要
對于企業集來說,財務管理的地位很重要。隨著計算機和網絡在企業中的廣泛應用,企業發展速度在不斷加快,在這種市場競爭沖擊下企業財務管理系統必須優先發展,這樣才能保證在競爭中處于優勢地位。對此企業必須實現財務管理系統的設計與開發。
在這個系統中綜合應用了MySQL、Servlet、JSP等知識。網頁界面的結構設計以實用性出發,具有易于操作、簡潔、方便等特點。在設計中,首先,運用HTML語言對網站的靜態頁面進行精細的加工并且在網站的美工方面取得了良好的效果。其次,對于Java編程、JSP的動態編程以及MySQL數據庫進行努力學習和大量實踐,并運用到了網站的建設中。
本論文就企業財務管理系統進行了詳細全面的論述。訪問本系統的用戶分為、管理員和員工兩種角色,管理員的功能有基礎信息管理、公司資產、經營、費用信息的管理及年終資產分析表的生成;員工的功能有查看個人工資、查看公司資產、經營、費用及年終資產分析表。
關鍵字?:?JSP;MySQL;Servlet
Enterprise Financial Management System
Abstract
For the enterprise, is an important financial management position. With the wide application of computer and network in the enterprise, enterprise development speed at a constant speed, in this competitive market impact of enterprise financial management system must give first priority to the development, so that we can guarantee in the advantage position in the competition. This enterprise must realize the financial management system design and development.
In this system the integrated application of MySQL, Servlet, JSP knowledge. Structure design of webpage interface to practicality, has the characteristics of easy operation, simple, convenient. In the design, first of all, has obtained the good effect of art using the static page HTML language on the website of the fine processing and in site. Secondly, to learn and practice a lot for the dynamic programming, JSP Java programming and MySQL database, and applied to the construction of the site.
Users to access the system is divided into two kinds of roles, administrators and staff, the administrator has the function of generating surface analysis of year-end assets management and basic information management, the assets of the company, management, cost information; staff function view individual wages, view the company assets, management, cost and year-end assets analysis table.
Key Words: JSP, MySQL, Servlet
目 錄
緒 論11
1 系統概述與技術介紹22
1.1 B/S結構介紹22
1.2 MySQL數據庫33
1.3 MyEclipse介紹44
1.4 JavaScrip語言44
1.5 JSP技術44
1.6 MVC模式55
2 系統需求分析88
2.1 開發環境88
2.2 需求分析88
2.3 可行性分析88
3 系統概要設計1010
3.1 系統設計概述1010
3.2 系統用例圖1111
3.3 系統流程圖1212
3.4 系統功能分析1313
3.5 數據庫結構設計1313
4 數據庫設計與實現1414
4.1 數據庫結構設計1414
4.1.1 表概要說明1414
4.1.2 數據表的結構1414
5 系統的詳細設計與實現1818
5.1 系統登陸頁面實現1818
5.2 管理員功能模塊1818
5.2.1 部門信息管理1919
5.2.2 員工信息管理2121
5.2.3 員工工資管理2222
5.2.4 資產類別管理2323
5.2.5 資產信息管理2525
5.2.6 經營信息管理2626
5.2.7 費用信息管理2727
5.2.8 年終資產分析2828
5.3 員工功能模塊2929
5.3.1 個人工資查看2929
5.3.2 公司資產查詢2929
5.3.3 公司經營查詢2929
5.3.4 公司費用查詢3030
5.3.5 資產分析查看3030
6 系統測試3131
6.1 測試方法3131
6.2 系統測試結果3232
總 結3434
參考文獻3535
致 謝3636
附錄3737
緒 論
財務管理工作隨著我國市場經濟的發展,在各個企業的管理中扮演著越來越重要的角色,漸漸起到不可替代的核心作用。對于大型企業集團來說,財務管理顯得更為重要,財務管理系統的建立將直接受到企業集團管理方式的影響,直接影響企業的管理效率的經濟效益。如何在現有經營環境下選擇最佳的財務管理模式,使用最優的財務管理系統,實現企業的管理目標,適應企業信息化發展的需要,是一個值得研究和探討的問題。
在信息時代,每個企業都緊跟步伐,逐漸轉變著經營模式、辦公模式。同時,各個企業的傳統的管理的模式也在逐步由人工管理向著自動化管理模式轉變,財務管理系統應運而生。無論是政府還是企事業單位,成員之間相互的信息溝通對于提高工作效率,更好完成工作顯得特別重要。此外,每個單位都希望能和異地的分支機構、各個部門等保持實時聯系,進行統一管理,因此,建立一個財務管理系統是可行的。在針對現有的系統進行調查之后,擬開發一套財務管理系統以適應信息化時代的財務管理需求。
我國的生產企業發展十分迅速。但企業的信息化管理一直是影響我國企業進一步發展的難點。企業信息化是企業應用信息化的主要過程,指的是在企業的各個層次,應用先進的通信、計算機、互聯網和軟件等信息化技術,并充分的整合、廣泛的利用企業內外信息的資源,提高企業的生產、經營和管理的水平,增強企業的競爭力和過程。結合我國目前的國情來看,改革開放以來,我國的中小企業得到了迅速發展。這些中小企業存在著一定的普遍特征:資金不是十分雄厚,管理不是非常完善,信息化基礎普遍較差,面臨著異常激烈的市場競爭。
隨著信息時代到來,企業的生存和競爭環境產生了根本性變化。當前中小型企業的信息化具有深刻的內容,其中管理信息化成為及其重要方面。如何運用信息的技術用來增強企業管理,對于如何制定企業信息化的發展戰略用來提升企業的核心競爭力,怎樣把信息化系統融入日常管理工作來為企業帶來效益,是當前我們所面臨的重要課題。
1 系統概述與技術介紹
作了一個管理系統,首先布局一定要新穎、有特色,只有這樣才能引起用戶的,最大限度的滿足人們的需求,而且要有很強的易用性,易用性差的管理系統會讓用戶產生厭煩情緒。當然一個好的管理系統還要有很完整的處理信息的功能。通過對用戶的調查和對現有的企業財務系統運行的流程分析,為了滿足大多數用戶的需求,我的目標是要構建一個頁面簡單清晰但包含信息相對全面、易用性強的中小型企業財務管理系統。
1.1 B/S結構介紹
B/S模式是一種以Web技術為基礎的新型的MIS系統平臺模式。把傳統C/S模式中的服務器部分分解為一個數據服務器與一個或多個應用服務器(Web服務器),從而構成一個三層結構的客戶服務器體系。
第一層客戶機是用戶與整個系統的接口。客戶的應用程序精簡到一個通用的瀏覽器軟件,如微軟公司的IE。瀏覽器將HTML代碼轉化成圖文并茂的網頁。網頁還具備一定的交互功能,允許用戶在網頁提供的申請表上輸入信息提交給后臺,并提出處理請求。這個后臺就是第二層的Web服務器。
第二層Web服務器將啟動相應的進程來響應這一請求,并動態生成一串HTML代碼,其中嵌入處理的結果,返回給客戶機的瀏覽器。如果客戶機提交的請求包括數據的存取,處理這一工作需要web服務器與數據庫服務器協同完成。
第三層數據庫服務器的任務類似于C/S模式,負責協調不同的服務器發出的請求,幫助管理數據庫。
B/S模式首先簡化了客戶端。它無需像C/S模式那樣在不同的客戶機上安裝不同的客戶應用程序,而只需安裝通用的瀏覽器軟件。這樣不但可以節省客戶機的硬盤空間與內存,而且使安裝過程更加簡便、網絡結構更加靈活。假設一個企業的決策層要開一個討論庫存問題的會議,他們只需從會議室的計算機上直接通過瀏覽器查詢數據,然后顯示給大家看就可以了。甚至與會者還可以把筆記本電腦聯上會議室的網絡插口,自己來查詢相關的數據。其次,它簡化了系統的開發和維護。系統的開發者無須再為不同級別的用戶設計開發不同的客戶應用程序了,只需把所有的功能都實現在Web服務器上,并就不同的功能為各個組別的用戶設置權限就可以了。各個用戶通過HTTP請求在權限范圍內調用Web服務器上不同處理程序,從而完成對數據的查詢或修改。現代企業面臨著日新月異的競爭環境,對企業內部運作機制的更新與調整也變得逐漸頻繁。相對于C/S,B/S的維護具有更大的靈活性。當形勢變化時,它無須再為每一個現有的客戶應用程序升級,而只需對Web服務器上的服務處理程序進行修訂。這樣不但可以提高公司的運作效率,還省去了維護時協調工作的不少麻煩。如果一個公司有上千臺客戶機,并且分布在不同的地點,那么便于維護將會顯得更加重要。
再次,它使用戶的操作變得更簡單。對于C/S模式,客戶應用程序有自己特定的規格,使用者需要接受專門培訓。而采用B/S模式時,客戶端只是一個簡單易用的瀏覽器軟件。無論是決策層還是操作層的人員都無需培訓,就可以直接使用。B/S模式的這種特性,還使 MIS系統維護的限制因素更少。
最后,B/S特別適用于網上信息發布,使得傳統的MIS的功能有所擴展。這是C/S所無法實現的。而這種新增的網上信息發布功能恰是現代企業所需的。這使得企業的大部分書面文件可以被電子文件取代,從而提高了企業的工作效率,使企業行政手續簡化,節省人力物力。
鑒于B/S相對于C/S的先進性,本系統采用B/S結構,即Browser/Server(瀏覽器/服務器)結構,此結構就是只安裝維護一個服務器(Server),而客戶端直接用瀏覽器(Browse)就可以運行軟件。它是隨著Internet技術的興起,對C/S結構的一種改進。主要利用了成熟的WWW瀏覽器的技術,結合多種Script語言(VBScript、JavaScript…)和ActiveX技術,是最新的系統構造技術。 在B/S體系結構系統中,用戶可以通過瀏覽器向服務器發出請求,服務器對請求進行處理,將用戶所需的信息返回到瀏覽器。而其余如數據請求、加工以及動態網頁的生成、對數據庫的訪問以及應用程序的執行等工作全部由Web Server完成。
1.2 MySQL數據庫
MySQL數據庫是一個關系數據庫管理系統,瑞典的MySQL AB公司是該數據庫的原開發者,該公司于2008年被升陽微系統(Sun Microsystems)收購。2009年,被甲骨文公司(Oracle)收購升陽微系統公司,MySQL成為Oracle旗下產品。MySQL在過去由于成本低、穩定性好等優點已經成為最實用的開源數據庫,被廣泛地應用在Internet上的網站中。
1.3 MyEclipse介紹
本系統是跨越平臺限制和跨越瀏覽器限制的充滿動感的網頁。構建財務管理系統所用的網頁器為MyEclipse, MyEclipse,是一個十分優秀的用于開發Java, J2EE的Eclipse插件集合,MyEclipse的功能非常強大,支持也十分廣泛,尤其是對開元產品十分不錯。MyEclipse企業級工作平臺(MyEclipse Enterprise Workbench ,簡稱MyEclipse)是對Eclipse IDE的擴展,利用它,我們完全可以在數據庫進行JavaEE的開發,以及對應用程序的服務器整合的極大提高了工作效率。它豐富了JavaEE的集成開發環境,并且包括了完整的編碼、調試和測試功能,完全支持HTML, Struts, JSP, CSS, Javascript, SQL, Hibernate。
1.4 JavaScrip語言
Javascript是基于對象的腳本語言,主要是基于客戶端運行的,用戶點擊帶有Javascript的網頁,網頁里的Javascript就傳到瀏覽器,由瀏覽器對此作處理。它的代碼可以直接嵌入到HTML命令中,最大特點是可以方便操縱網站上的元素,并與Web瀏覽器交互,同時JavaScrip可以捕捉用戶操作并作出反映。
JavaScript是一種基于對象和事件驅動并具有相對安全性的客戶端腳本語言。同時也是一種廣泛用于客戶端Web開發的腳本語言,常常用來給HTML網頁添加動態功能,比如響應用戶的各種操作。JavaScript的一個重要功能就是面向對象的功能,通過基于對象的程序設計,可以用更直觀、模塊化和可重復使用的方式進行程序開發。在HTML基礎上,使用Javascript可以開發交互式Web網頁。Javascript的出現使得網頁和用戶之間實現了一種實時的、動態的關系,使網頁中包含更多 的活躍元素和更加精彩的內容。在本系統中很多地方使用了javascript技術,比如說,檢驗用戶輸入數據的有效性,是否重復,是否為空等等。
1.5 JSP技術
JSP技術使用Java編程語言編寫類XML的tags和scriptlets,來封裝產生動態網頁的處理邏輯。網頁還能通過tags和scriptlets訪問存在于服務端的資源的應用邏輯。JSP將網頁邏輯與網頁設計和顯示分離,支持可重用的基于組件的設計,使基于Web的應用程序的開發變得迅速和容易。
Web服務器在遇到訪問JSP網頁的請求時,首先執行其中的程序段,然后將執行結果連同JSP文件中的HTML代碼一起返回給客戶。插入的Java程序段可以操作數據庫、重新定向網頁等,以實現建立動態網頁所需要的功能。JSP與Servlet一樣,是在服務器端執行的,通常返回給客戶端就是一個HTML文本,因此客戶端只要有瀏覽器能瀏覽。JSP頁面由HTML代碼和嵌入其中的Java代碼所組成。服務器在頁面被客戶端請求以后對這些Java代碼進行處理,然后將生成的HTML頁面返回給客戶端的瀏覽器。Servlet是JSP的技術基礎,而且大型的Web應用程序的開發需要Java Servlet和JSP配合才能完成。JSP具備了Java技術的簡單易用,完全的面向對象,具有平臺無關性且安全可靠,主要面向因特網的所有特點。JSP技術的優點:
(1)運行方便,編寫好之后,不用做任何修改就可在系統上運行。
(2)具有強大的適應性,支持多平臺并且可以再任意環境中進行部署。
(3)強大的可伸縮性。從只有一個小的Jar文件就可以運行Servlet/JSP,到由多臺服務器進行集群和負載均衡,到多臺Application進行事務處理,消息處理,一臺服務器到無數臺服務器,Java顯示了一個巨大的生命力。
(4)多樣化和功能強大的開發工具支持。Java已經有了許多非常優秀的開發工具,并且其中許多已經可以順利的運行于多種平臺之下
(5)支持服務器端的組件。web應用首先需要強大的服務器端的組件來支持,開發人員必須需要利用其他的工具設計來實現復雜功能的組件并供web頁面調用,來增強系統性能。JSP可以使用非常成熟的JAVA BEANS 組件來實現比較復雜商務功能。
1.6 MVC模式
為了滿足系統對先進性、安全性、跨平臺性、可擴展性、可移植性、分布式等方面的要求,系統總體架構設計采用先進的基于java的B/S的三層體系結構。MVC是三個單詞的縮寫,分別為: 模型(Model),視圖(View)和控制Controller)[9]。 MVC模式目的就是為了實現Web系統的職能的分工。Model層實現系統中業務的邏輯,通常可以用JavaBean或EJB來實現。 View層用于用戶交互,通常用JSP來實現。 Controller層是Model與View之間的溝通橋梁,它可以直接分派用戶請求并且選擇合適的視圖以用于顯示,同時它也可以解釋用戶輸入并將它們映射為模型層可執行的操作。Web瀏覽技術已經廣泛地應用于Internet,并被廣大用戶接受和使用。Web技術是隨http和html一起出現的。Web服務器利用http傳遞html文件,Web瀏覽器使用http檢索html文件。Web服務器一旦檢索到信息,Web瀏覽器就會以靜態和交互(如文本、圖像)方式顯示各種對象。在電子商務業務進行過程中,需要在各種貿易角色之間瀏覽和交換各種信息,此時就要使用Web瀏覽技術。 這種模型使系統結構更加清楚,分工更加明確,有利于整個系統后期的維護和升級。
MVC(Model View Controller)模型(model)-視圖(view)-控制器(controller)MVC本來是存在于Desktop程序中的,M是指數據模型,V是指用戶界面,C則是控制器。使用MVC 的目的是將同一個程序可以使用不同的表現形式M和V的實現代碼分離,。比如一批統計數據分別用柱狀圖、餅圖來表示。C存在的目是確保M和V的同步,一旦M改變,V應該同步更新。模型-視圖-控制器(MVC)是Xerox PARC在八十年代為編程語言Smalltalk-80發明的一種軟件設計模式,至今已被廣泛使用。最近幾年被推薦為Oracle旗下Sun公司Java EE平臺的設計模式,并且受到廣泛的使用 ColdFusion 和 PHP 的開發者的喜愛。模型-視圖-控制器模式是一個有用的模型,它的好處很多。
三層體系結構由瀏覽器、web服務器和數據庫組成,并結合HTML語言、jsp、JavaScript腳本語言、Ajax、ODBC等技術,后臺的數據庫采用微軟的SQL Server 2005,系統一般的MVC模型如圖1-1所示。
圖1-1 系統MVC結構圖
如圖1-1可知,用戶界面層是用戶和整個系統的接口,客戶端只需安裝通用的瀏覽器即可建立與本系統的連接。業務邏輯層負責處理用戶輸入的信息,或將這些信息發送給數據庫層進行保存,或調用數據庫層中的函數再次讀出這些數據。數據訪問層是整個體系的最底層,它主要實現與數據庫交互,即完成數據庫的增刪改查功能,MVC是一個設計模式,它強制性的使應用程序的輸入、處理和輸出分開。使用MVC應用程序被分成三個核心部件:模型、視圖、控制器。它們各自處理自己的任務。分層概念視圖,模型,控制器。
視圖是用戶看到并與之交互的界面。對老式的Web應用程序來說,視圖就是由HTML元素組成的界面,在新式的Web應用程序中,HTML依舊在視圖中扮演著重要的角色,但一些新的技術已層出不窮,它們包括Macromedia Flash和像HTML,XML/XSL,WML等一些標識語言和Web services。如何處理應用程序的界面變得越來越有挑戰性。MVC一個大的好處是它能為你的應用程序處理很多不同的視圖。在視圖中其實沒有真正的處理發生,不管這些數據是聯機存儲的還是一個雇員列表,作為視圖來講,它只是作為一種輸出數據并允許用戶操縱的方式。模型表示企業數據和業務規則。在MVC的三個部件中,模型擁有最多的處理任務。例如它可能用像EJBs和ColdFusion Components這樣的構件對象來處理數據庫。被模型返回的數據是中立的,就是說模型與數據格式無關,這樣一個模型能為多個視圖提供數據。MVC模型還可以實現軟件工程的高內聚,低耦合的終極目標。由于應用于模型的代碼只需寫一次就可以被多個視圖重用,所以減少了代碼的重復性。
控制器接受用戶的輸入并調用模型和視圖去完成用戶需求。所以當單擊網頁中的超鏈接或者發送表單時,控制器本身其實并不輸出任何東西也不做任何處理。它只是接收請求并決定調用哪個模型構件去處理請求自己本身并不參與業務邏輯處理,然后再確定用哪個視圖來顯示返回的數據。
MVC的優點:
2 系統需求分析
2.1 開發環境
本系統的開發環境為Windows 7,數據庫使用的是Oracle公司開發的的MySQL,發布使用MyEclipse工具。采用JSP為服務器端腳本環境,腳本語言使用JavaScript編寫的財務管理系統,不需要安裝客戶端程序,客戶端只需安裝瀏覽器即可,使用方便,方便升級維護,方便與Internet和Internet上的應用程序集成。
2.2 需求分析
需求分析是指理解用戶需求,估計軟件風險和評估項目代價,就軟件功能與客戶達成一致,最終形成開發計劃的過程。需求分析的重要性在于他具有決策性、方向性、策略性的作用,需求分析也就是軟件定義的最后一個階段,它的基本任務是回答“系統必須做什么” 這個問題。需求分析的任務是對目標系統提出完整、準確、清晰、具體的要求,而不是確定系統怎樣完成他的工作,它在軟件開發的過程中具有舉足輕重的地位。
本課題解決的是基于JSP的中小型企業財務管理系統,包括了員工的基本信息的添加和管理以及對部門信息的管理,對員工的工資管理,設置以及查詢功能公司的收入與支出金額的基本顯示和費用的具體使用原因,公司資產信息管理,并能夠根據公司今年的盈利情況初步計算出分紅等基本功能的實現。
細節:用戶登錄,用戶密碼管理,系統使用完畢可以注銷登錄,安全退出。
2.3 可行性分析
(1)經濟性
經濟可行性研究是對組織的經濟現狀和投資能力進行分析,對系統建設運行和維護費用進行估算,對系統建成后可能取得的社會和經濟效益進行估計。由于本系統是作為畢業設計由我自己開發的,在經濟上的投入甚微,系統完成之后為財務管理提供很大的方便,原因是服務器端的安裝簡潔明了,客戶機不需再裝任何軟件,直接通過瀏覽器就可以訪問,無論身在何處,只要可以訪問Internet都可以使用本系統。本系統對計算機配置的要求不高,企業機房更換下來的低配置電腦都可以完全滿足需要,所以在經濟上具有完全的可行性
(2)技術性
技術可行性要考慮現有的技術條件是否能夠順利完成開發工作,軟硬件配置是否滿足開發的需求等。通過原有系統和開發系統的系統流程圖和數據流圖,對系統進行比較,分析其優越性,以及運行后環境等隊其影響程度。軟件開發涉及多方面的技術,包括開發方法、軟硬件平臺、網絡結構、系統布局和結構、輸入輸出技術、系統相關技術等。應該全面和客觀地分析軟件開發所涉及的技術,以及這些技術的成熟度和現實性。在開發過程中,盡可能的采用成熟的技術,以便提高成功率,并且其優化程度好,可操作性強,鑒于以上原因,本系統開發工具是MyEclipse和MySQL數據庫,開發語言是Java,主要使用了J2EE的技術,java是一種面向對象編程語言,簡單易學而且靈活方便。大三時就學習了java課程,大四期間也系統的了解了J2EE的知識,財務管理系統總體上開發難度不高,數據庫的設計和操作是本系統設計的核心。在大學期間學習過軟件工程,軟件測試,UML統一建模語言等課程,每個學期也會完成對應的課程設計,具備一定的系統分析、設計和測試能力。因此,完成系統實現在技術上完全具有可行性。
(3)操作性
本系統的開發,主要是對數據進行處理,包括數據的提交,以及數據的各種報表形式的輸出,采用較為流行的JSP+MySQL的體系,操作相對簡單,輸入信息頁面大多數都是下拉框的選擇形式,在某些頁面,信息可以自動生成,無需輸入,時間的輸入也是用的日歷控件,操作簡便,對用戶的要求較低,只需對WINDOWS操作熟練,而且本系統可視性非常好,所以在技術上不會有很大難度。從時間上看,在三個月的時間里學習相關知識,并開發財務審批系統,時間上是有點緊,但是不是不可能實現,通過自己的努力實現基本功能。
(4)法律性
法律可行性是考慮開發系統是否存在任何侵犯、妨礙和責任問題。本系統是自行開發的管理系統,所有技術資料都為合法,開發過程中不存在知識產權問題,未抄襲任何已存在的的財務管理系統,不存在侵權問題,本系統是很有實際意義的系統,開發環境軟件和使用的數據庫都是開源代碼,所以開發這個系統即法律上是可行的。
3 系統概要設計
3.1 系統設計概述
系統設計是在系統分析基礎上通過抽象得到具體的過程,同時,還考慮到系統所實現的環境和主客觀條件。
系統設計階段主要目的是將系統分析階段所提出的反映用戶信息需求的系統邏輯方案轉換成可以實施的基于計算機與通信系統的物理方案。
這一階段的主要任務就是從管理信息系統的總體目標出發,根據系統分析階段對系統邏輯功能的需求,考慮到經濟、技術和環境等方面的條件,可以確定系統的總體結構和系統組成部分的方案,合理選擇計算機和通信設備,提出系統的實施計劃,確保系統總體目標的實現。
系統設計工作的特點:
系統設計原則
3.2 系統用例圖
員工的操作:
1、員工可以查看個人工資情況。
2、員工可以查詢公司資產情況。
3、員工可以查詢公司經營情況。
4、員工可以查詢公司費用情況。
5、員工可以查詢年終資產分析表。
員工用例圖,如圖3-1所示:
圖 3-1 員工的用例圖
管理員的操作:
1、管理員可以管理部門信息。
2、管理員可以管理員工信息。
3、管理員可以管理員工工資信息。
4、管理員可以管理資產信息。
5、管理員可以管理經營信息。
6、管理員可以管理費用信息。
管理員用例圖,如圖3-2所示:
圖 3-2 管理員用例圖
3.3 系統流程圖
當管理員進入本系統之后,管理員首先要登錄之后,才能管理后臺。登錄失敗,給管理員相關的提示,請管理員重新登錄。登錄成功之后,管理員可管理員工、公司資產、經營、費用等信息。管理員的后臺管理的基本流程如下圖3-3所示:
圖 3-3 管理員流程圖
3.4 系統功能分析
圖 3-4 系統后臺功能圖
管理員的所有模塊的功能分析:
部門信息管理模塊:對公司部門信息進行管理,包括部門信息的添加、修改、刪除等。
員工信息管理模塊:對公司員工信息進行管理,包括員工信息的添加、修改、刪除等。
員工工資管理模塊:對員工工資信息進行管理,包括員工工資的添加、修改等。
資產信息管理模塊:對公司資產信息進行管理,包括資產信息的添加、修改、刪除等。
經營信息管理模塊:對公司經營信息進行管理,包括經營信息的添加、修改、刪除等。
費用信息管理模塊:對公司費用信息進行管理,包括費用信息的添加、修改、刪除等。
年終資產分析模塊:對公司產終資產情況進行分析,查看分析報表。
修改個人密碼:管理員登錄系統,可以修改自己的登錄密碼。
3.5 數據庫結構設計
數據庫是“按照數據結構來組織、存儲和管理數據的倉庫”。作為網絡中的一個重要的應用,數據庫在網站建設中起著非常重要的作用,對于普通網站相對而言,具有數據庫功能的網站,我們通常稱為動態頁面,也就是說頁面是動態的,它可以根據數據庫中相應內容的調整而變化,使網站更新更便捷,維護更方便,內容更靈活。MySQL數據庫作為Oracle推出的以標準數據庫系統,由于具有操作簡單、界面友好等特點,具有較大的用戶群體。本系統數據庫采用MySQL數據庫,下面分別給出數據表概要說明。
4 數據庫設計與實現
4.1 數據庫結構設計
4.1.1 表概要說明
系統數據庫db_cwgl中含有8張數據表,部門信息表t_bumen、員工信息表t_zhigong、員工工資表t_gongzi、資產類別表t_catelog、資產信息表t_zichan、經營信息表t_jingying、費用信息表t_feiyong、管理員信息表t_admin,本章將簡單介紹其中一些表的結構。
4.1.2 數據表的結構
(1)t_bumen(部門信息表)
部門信息表主要用于保存單位的部門信息,如部門名稱、人數、工資系數,該表結構如表4-1所示。
表4-1 t_bumen的結構
| id | int | 4 | 是 | 自動編號 |
| mingcheng | varchar | 50 | 否 | 部門名稱 |
| renshu | int | 4 | 否 | 編制人數 |
| xishu | decimal | 8,2 | 否 | 工資系數 |
(2)t_zhigong(職工信息表)
職工信息表主要用于保存職工的基本信息,如職工所在部門、姓名、性別等,該表結構如表4-2所示:
表4-2 t_zhigong的結構
| id | int | 4 | 是 | 自動編號 |
| bumen_id | int | 4 | 否 | 所在部門 |
| bianhao | varchar | 50 | 否 | 編號 |
| loginpw | varchar | 50 | 否 | 登錄密碼 |
| xingming | varchar | 50 | 否 | 姓名 |
| xingbie | varchar | 50 | 否 | 性別 |
| ruzhi | varchar | 50 | 否 | 入職時間 |
(3)t_catelog(資產類別表)
資產類別表主要用于資產類別信息,如類別名稱,該表結構如表4-3所示:
表4-3 t_catlog的結構
| id | int | 4 | 是 | 自動編號 |
| name | varchar | 50 | 否 | 類別名稱 |
(4)t_zichan(資產信息表)
資產信息表主要用于保存資產基本信息,如資產類別、編號、名稱、添加時間等,通過主鍵編號和產品類別來隊公司的資產信息進行增刪改查,內容包括資產的名稱,修改時間,此資產的實際價值,資產的類型和本次資產產生的方式,例如出租,貸款等方式來反映。
(5)t_jingying(經營信息表)
經營信息表主要用于保存企業經營信息,如項目名稱、時間、投入等內容。該表結構如表4-5所示:
表4-5 t_jingying的結構
| id | int | 4 | 是 | 自動編號 |
| mingcheng | varchar | 50 | 否 | 名稱 |
| riqi | varchar | 4 | 否 | 日期 |
| touru | decimal | 8,2 | 否 | 投入 |
| shouri | decimal | 8,2 | 否 | 收益 |
| lirun | decimal | 8,2 | 否 | 利潤 |
(6)t_feiyong(費用信息表)
費用信息表主要用于保存日常費用信息,如費用名稱、發生時間、費用等內容。該表結構如表4-6所示:
表4-6 t_feiyong的結構
| id | int | 4 | 是 | 自動編號 |
| mingcheng | varchar | 50 | 否 | 名稱 |
| shijian | varchar | 4 | 否 | 日期 |
| feiyong | decimal | 8,2 | 否 | 金額 |
| leixing | int | 4 | 否 | 類型 |
(7)t_gongzi(工資信息表)
工資信息表主要用于保存職工工資信息,通過主鍵id使得員工能夠登陸后查詢自己的工資情況并且能使管理員對工資修改后,員工能夠正確的看到工資的情況,此表中包括了職工信息,基本工資情況,工齡對工資的加成,職務和補貼對總工資的影響。
(8)t_admin(管理員信息表)
管理員信息表主要用于保存管理員的基本信息,該表結構如表4-8所示。
表4-8 t_admin的結構
| id | int | 4 | 是 | 自動編號 |
| userName | varchar | 50 | 否 | 登錄賬號 |
| userPw | varchar | 50 | 否 | 登錄密碼 |
5 系統的詳細設計與實現
在管理系統的生命周期中,經過了需求分析、系統設計等階段之后,便開始了系統的設計實施階段。在系統分析和設計階段,系統開發的工作主要是集中在邏輯和技術設計上,系統的實施階段要繼承此前各個階段所實現的工作成果,將技術的設計轉化為物理的實現,因此系統實施的成果其實是系統的分析和設計階段的結晶。
5.1 系統登陸頁面實現
1.描述:為了保證系統的安全性,要先使用本系統必須先登陸到系統中,用戶需要正確的賬號和密碼登錄本系統。
2.程序運行效果圖如圖5-1所示:
圖5-1 系統登陸頁面設計
3.在登陸頁面輸入用戶名和密碼以后,當點擊提交按鈕后,就會跳轉到loginservice中,在該service中會對用戶名,密碼進行判斷,驗證通過進入對應的頁面。
5.2 管理員功能模塊
1.描述:管理員進入系統主頁面,左方頁面展示了管理員可操作的功能模塊,進入相關的管理頁面可以鏈接到子菜單,并且高亮顯示,每個管理模塊下面都有相應的子菜單。
2.程序運行效果圖如圖5-2所示:
圖5-2管理員主頁面
5.2.1 部門信息管理
1.部門信息錄入
(1)描述:管理員輸入部門信息相關正確信息后點擊錄入按鈕,如果是沒有輸入完整的部門信息,都會給出相應的錯誤提示,不能錄入成功。輸入數據都通過form表單中定義的方法οnsubmit=”return checkForm()”來檢查,checkForm()函數中是各種的校驗輸入數據的方式。
(2)程序效果圖如下圖5-3所示:
圖5-3 部門信息錄入
2. 部門信息管理
(1).描述:管理員點擊左側的菜單“部門信息管理”,頁面跳轉到部門信息管理界面,調用后臺的action類查詢出所有的部門信息,并把這些信息封轉到數據集合List中,綁定到request對象,然后頁面跳轉到相應的jsp,顯示出部門信息。
(2).程序效果圖如下圖5-4所示
圖5-4 部門信息管理
部門信息管理關鍵代碼:
public?void?bumenMana(HttpServletRequest req,HttpServletResponse res)?throws?ServletException, IOException
{
String sql=”select * from t_bumen where del=’no'”;
req.setAttribute(“bumenList”, getBumenList(sql));
req.getRequestDispatcher(“admin/bumen/bumenMana.jsp”).forward(req, res);
}
3.部門信息修改
(1)描述:先是點擊部門信息管理,頁面跳轉到部門信息管理界面,瀏覽所有的部門信息,點擊要修改的部門信息,跳轉到部門信息修改頁面修改該條部門信息。
(2)程序效果圖如下圖5-5所示
圖5-5 部門信息管理
4.部門信息刪除
(1).描述:先是點擊部門信息管理,頁面跳轉到部門信息管理界面,瀏覽所有的部門信息,點擊要刪除的部門信息,點擊確定按鈕,即可刪除該部門信息。
(2).程序效果圖如下圖5-6所示
圖5-6 部門信息刪除
5.2.2 員工信息管理
1.員工信息錄入
描述:管理員輸入員工正確信息后點擊錄入按鈕,如果沒有輸入正確的員工信息,都會給出相應的錯誤提示,不能錄入成功。輸入數據都通過form表單中定義的方法οnsubmit=”return checkForm()”來檢查,checkForm()函數中是全部校驗輸入數據的方式。
2.員工信息管理
(1).描述:管理員點擊左側的菜單“員工信息管理”,頁面跳轉到員工信息管理界面,調用后臺的action類查詢出所有的員工信息,并把這些信息封轉到數據集合List中,綁定到request對象,然后頁面跳轉到相應的jsp,顯示出員工信息。
(2).程序效果圖如下圖5-8所示
圖5-8 員工信息管理
員工信息管理關鍵代碼:
public?void?zhigongMana(HttpServletRequest req,HttpServletResponse res)?throws?ServletException, IOException
{
String sql=”select ta.*,tb.mingcheng bmmc,tb.xishu from t_zhigong ta,t_bumen tb ” +
“where ta.del=’no’ and ta.bumen_id=tb.id”;
req.setAttribute(“zhigongList”, getZhigongList(sql));
req.getRequestDispatcher(“admin/zhigong/zhigongMana.jsp”).forward(req, res);
}
3.員工信息修改
描述:先是點擊員工信息管理,頁面跳轉到員工信息管理界面,瀏覽所有的員工信息,點擊要修改的員工信息,跳轉到員工信息修改頁面修改該條員工信息。
4.員工信息刪除
(1).描述:先是點擊員工信息管理,頁面跳轉到員工信息管理界面,瀏覽所有的員工信息,點擊要刪除的員工信息,點擊確定按鈕,即可刪除該員工信息。
(2).程序效果圖如下圖5-10所示
圖5-10 員工信息刪除
5.2.3 員工工資管理
1.員工工資錄入
(1).描述:管理員輸入員工工資相關正確的信息后點錄入按鈕,如果沒有輸入正確的員工工資,一定會給出相應的錯誤提示,必定不能錄入成功。輸入數據都通過form表單中定義的方法οnsubmit=”return checkForm()”來檢查,checkForm()函數中是各種的校驗輸入數據的方式。
(2).程序效果圖如下圖5-11所示:
圖5-11 員工工資錄入
2.員工工資管理
(1).描述:管理員點擊左側的菜單“員工工資管理”,頁面跳轉到員工工資管理界面,調用后臺的action類查詢出所有的員工工資,并把這些信息封轉到數據集合List中,綁定到request對象,然后頁面跳轉到相應的jsp,顯示出員工工資。
(2).程序效果圖如下圖5-12所示
圖5-12 員工工資管理
3.員工工資修改
(1).描述:先是點擊員工工資管理,頁面跳轉到員工工資管理界面,瀏覽所有員工工資,點擊要修改的員工工資,跳轉到員工工資修改頁面修改該員工工資。
(2).程序效果圖如下圖5-13所示
圖5-13 員工工資修改界面
5.2.4 資產類別管理
1.資產類別錄入
(1).描述:管理員輸入資產類別相關正確信息后點擊錄入按鈕,如果是沒有輸入完整的資產類別,都會給出相應的錯誤提示,不能錄入成功。輸入數據都通過form表單中定義的方法οnsubmit=”return checkForm()”來檢查,checkForm()函數中是各種的校驗輸入數據的方式。
(2).程序效果圖如下圖5-14所示:
圖5-14 資產類別錄入
2.資產類別管理
(1).描述:管理員點擊左側的菜單“資產類別管理”,頁面跳轉到資產類別管理界面,調用后臺的action類查詢出所有的資產類別,并把這些信息封轉到數據集合List中,綁定到request對象,然后頁面跳轉到相應的jsp,顯示出資產類別。
(2).程序效果圖如下圖5-15所示
圖5-15 資產類別管理
資產類別管理關鍵代碼:
public?void?catelogMana(HttpServletRequest req,HttpServletResponse res)?throws?ServletException, IOException
{
List catelogList=new?ArrayList();
String sql=”select * from t_catelog where del=’no'”;
Object[] params={};
DB mydb=new?DB();
try
{
mydb.doPstm(sql, params);
ResultSet rs=mydb.getRs();
while(rs.next())
{
TCatelog catelog=new?TCatelog();
catelog.setId(rs.getInt(“id”));
catelog.setName(rs.getString(“name”));
catelogList.add(catelog);
}
rs.close();
}
catch(Exception e)
{
e.printStackTrace();
}
mydb.closed();
req.setAttribute(“catelogList”, catelogList);
req.getRequestDispatcher(“admin/catelog/catelogMana.jsp”).forward(req, res);
}
3.資產類別刪除
(1).描述:先是點擊資產類別管理,頁面跳轉到資產類別管理界面,瀏覽所有的資產類別,點擊要刪除的資產類別,點擊確定按鈕,即可刪除該資產類別。
(2).程序效果圖如下圖5-16示
圖5-16資產類別刪除
5.2.5 資產信息管理
1.資產信息錄入
描述:管理員輸入資產信息相關正確信息后點擊錄入按鈕,如果是沒有輸入完整的資產信息,都會給出相應的錯誤提示,不能錄入成功。輸入數據都通過form表單中定義的方法οnsubmit=”return checkForm()”來檢查,checkForm()函數中是各種的校驗輸入數據的方式。
2.資產信息管理
(1).描述:管理員點擊左側的菜單“資產信息管理”,頁面跳轉到資產信息管理界面,調用后臺的action類查詢出所有的資產信息,并把這些信息封轉到數據集合List中,綁定到request對象,然后頁面跳轉到相應的jsp,顯示出資產信息。
(2).程序效果圖如下圖5-18所示
圖5-18 資產信息管理
資產信息管理關鍵代碼:
public?void?zichanMana(HttpServletRequest req,HttpServletResponse res)?throws?ServletException, IOException
{
String sql=”select ta.*,tb.name lbmc from t_zichan ta,t_catelog tb ” +”where ta.catelog_id=tb.id”;
req.setAttribute(“zichanList”, getZichanList(sql));
req.getRequestDispatcher(“admin/zichan/zichanMana.jsp”).forward(req, res);
}
5.2.6 經營信息管理
1.經營信息錄入
描述:管理員輸入經營信息相關正確信息后點擊錄入按鈕,如果是沒有輸入完整的經營信息,都會給出相應的錯誤提示,不能錄入成功。輸入數據都通過form表單中定義的方法οnsubmit=”return checkForm()”來檢查,checkForm()函數中是各種的校驗輸入數據的方式。
2.經營信息管理
(1).描述:管理員點擊左側的菜單“經營信息管理”,頁面跳轉到經營信息管理界面,調用后臺的act ion類查詢出所有的經營信息,并把這些信息封轉到數據集合List中,綁定到request對象,然后頁面跳轉到相應的jsp,顯示出經營信息。
(2).程序效果圖如下圖5-20所示
圖5-20 經營信息管理
經營信息管理關鍵代碼:
public?void?jingyingAdd(HttpServletRequest req,HttpServletResponse res)
{
String mingcheng=req.getParameter(“mingcheng”);
String riqi=req.getParameter(“riqi”);
String touru=req.getParameter(“touru”);
String shouyi=req.getParameter(“shouyi”);
String lirun=req.getParameter(“lirun”);
String sql=”insert into t_jingying (mingcheng,riqi,touru,shouyi,lirun) values(?,?,?,?,?)”;
Object[] params={mingcheng,riqi,touru,shouyi,lirun};
DB mydb=new?DB();
mydb.doPstm(sql, params);
mydb.closed();
req.setAttribute(“message”, “操作成功”);
req.setAttribute(“path”, “jingying?type=jingyingMana”);
String targetURL = “/common/success.jsp”;
dispatch(targetURL, req, res);
}
5.2.7 費用信息管理
1. 費用信息錄入
描述:管理員輸入費用信息相關正確的信息后點錄入按鈕,如果是沒有輸入正確的完整的費用信息,則都會給出對應的錯誤提示,如果不能錄入成功。輸入數據都通過form表單中定義的方法οnsubmit=”return checkForm()”來檢查,checkForm()函數中是各種的校驗輸入數據的方式。
2.費用信息管理
(1).描述:管理員點擊左側的菜單“費用信息管理”,頁面跳轉到費用信息管理界面,調用后臺的action類查詢出所有的費用信息,并把這些信息封轉到數據集合List中,綁定到request對象,然后頁面跳轉到相應的jsp,顯示出費用信息。
(2).程序效果圖如下圖5-20所示
圖5-20 費用信息管理
費用信息管理關鍵代碼:
public?void?feiyongAdd(HttpServletRequest req,HttpServletResponse res)
{
String mingcheng=req.getParameter(“mingcheng”);
String shijian=req.getParameter(“shijian”);
String feiyong=req.getParameter(“feiyong”);
String leixing=req.getParameter(“leixing”);
String sql=”insert into t_feiyong (mingcheng,shijian,feiyong,leixing) values(?,?,?,?)”;
Object[] params={mingcheng,shijian,feiyong,leixing};
DB mydb=new?DB();
mydb.doPstm(sql, params);
mydb.closed();
req.setAttribute(“message”, “操作成功”);
req.setAttribute(“path”, “feiyong?type=feiyongMana”);
String targetURL = “/common/success.jsp”;
dispatch(targetURL, req, res);
}
public?void?feiyongMana(HttpServletRequest req,HttpServletResponse res)?throws?ServletException, IOException
{
String sql=”select * from t_feiyong”;
req.setAttribute(“feiyongList”, getfeiyongList(sql));
req.getRequestDispatcher(“admin/feiyong/feiyongMana.jsp”).forward(req, res);
}
5.2.8 年終資產分析
1.描述:管理員點擊左側的菜單“年終資產分析”,頁面跳轉到年終資產分析界面,調用后臺的action類查詢公司的資產信息,包括總資產,總收益及總費用,綁定到request對象,然后頁面跳轉到相應的jsp,顯示年終資產分析表。
5.3 員工功能模塊
5.3.1 個人工資查看
1.描述:員工點擊左側的菜單“個人工資查看”,頁面跳轉到個人工資查看界面,調用后臺的action類查詢出當前登錄職工的工資信息,并把這些信息封轉到數據集合List中,綁定到request對象,然后頁面跳轉到相應的jsp,顯示出工資信息。
2.程序效果圖如下圖5-22所示
圖5-22 個人工資查看管理
5.3.2 公司資產查詢
1.描述:員工點擊左側的菜單“公司資產查詢”,頁面跳轉到公司資產查詢界面,調用后臺的action類查詢出當前公司的資產信息,并把這些信息封轉到數據集合List中,綁定到request對象,然后頁面跳轉到相應的jsp,顯示出資產信息。
2.程序效果圖如下圖5-23所示
圖5-23 公司資產查詢
5.3.3 公司經營查詢
1.描述:員工點擊左側的菜單“公司經營查詢”,頁面跳轉到公司經營查詢界面,調用后臺的action類查詢出當前公司經營信息,并把這些信息封轉到數據集合List中,綁定到request對象,然后頁面跳轉到相應的jsp,顯示出經營信息。
2.程序效果圖如下圖5-24所示
圖5-24 公司經營查詢
5.3.4 公司費用查詢
1.描述:員工點擊左側的菜單“ 公司費用查詢”,頁面跳轉到公司費用查詢界面,調用后臺的action類查詢出公司費用信息,并把這些信息封轉到數據集合List中,綁定到request對象,然后頁面跳轉到相應的jsp,顯示出費用信息。
5.3.5 資產分析查看
1.描述:員工點擊左側的菜單“資產分析查看”,頁面跳轉到資產分析查看界面,調用后臺的action類查詢出資產分析信息,并把這些信息封轉到數據集合List中,綁定到request對象,然后頁面跳轉到相應的jsp,顯示出資產分析信息。
2.程序效果圖如下圖5-26所示
圖5-26 資產分析查看
6 系統測試
系統測試這一模塊是系統開發過程的重要部分,是用來評定一個系統的品質或性能是否符合開發前所提出的部分要求。系統測試的目的是在系統投入運行前,對系統需求分析、設計說明和編碼的最終復審,是系統的質量保證的關鍵。系統測試是為了發現錯誤而執行的程序過程。
在設計系統的過程中,存在一些錯誤是必然的。對于語句的語法錯誤,在程序運行時自動提示,并請求立即糾正,因此,這類錯誤比較容易發現和糾正。但另一類的錯誤是在程序執行的時候,由于不正確的操作或著對某些數據的計算公式運用錯誤導致的結果。這類錯誤隱蔽性極強,有時會直接出現,有時又不直接出現,因此,排查這一類動態的錯誤的是耗時費力的。
對于軟件來講,不論采用何種技術或方法,軟件中仍然會有錯。采用新的語言、新的開發方式、完善的開發過程,可有效減少錯誤的引入,但并是不可能完全杜絕軟件中的錯誤,這些引入的錯誤則需要測試來找出,軟件中錯誤的密度也需要測試來進行具體的估計。測試是所有工程學科的基本組成單元,是軟件開發的重要部分。自有程序設計的那天起測試就一直伴隨著。統計表明,在典型的軟件開發項目中,軟件測試工作量往往占軟件開發總工作量的40%以上。而在軟件開發的總成本中,用在測試上的開銷要占30%到50%。如果把維護階段也考慮在內,討論整個軟件生存期時,測試的成本比例也許會有所降低,但實際上維護工作相當于二次開發,乃至多次開發,其中必定還包含有許多測試工作。
6.1 測試方法
測試的方法可分三種:傳統測試方法、功能驗證、系統測試。
傳統測試方法包括簡單的單元測試,通常由開發人員來執行。設計這些測試需要了解系統內部知識,并且這些測試幾乎是針對產品的特定的部分。這些類型的測試非常適合與其他代碼組件極少交互,甚至沒有交互的簡單部分。
功能驗證也是一種測試過程,在這個過程中,對產品源代碼了解有限的設計者進行測試以確認產品或服務的核心功能。設計這種測試是為了證明這個核心功能符合某個規范。舉個例子,登錄時輸入的郵箱錯誤時是不是有提示?如果測試失敗,通常就意味著檢測到了系統的一個基本問題。這種測試也是適合簡單的 Web 服務,使您可以檢查服務是否能夠正確執行它的各個功能。
系統測試通常是在功能驗證階段完成,驗證了核心功能后進行。它傾向于把整個系統作為一個整體來查找問題。弄清Web服務作為系統的一部分怎樣運作,以及Web服務之間如何的交互。由于系統測試實際是在開發生命周期快結束時才進行,所以經常不能給它分配充足的時間來完成。系統測試階段常常被忽略,并且一些通常都可以發現的、極為少見的錯誤都不能被發現。即使發現了這種錯誤,這時也來不及確定錯誤的原因并設法修復它們了。因此,在查找代碼錯誤時,必需把系統測試應用設計得盡可能高效。
6.2 系統測試結果
在系統開發完成后,對系統進行了測試,所用方法是系統測試和功能測試,
主要內容包括:
功能測試。即測試系統的功能是否正確,它的依據是需求的文檔,如《產品需求規格說明書》。軟件最重要的質量因素,所以功能測試肯定是必不可少的。
健壯性測試。即測試軟件系統在異常情況下能否正常運行的能力。健壯性有兩層含義:一是容錯的能力,二是恢復的能力。
測試如表6-1測試表所示:
表 6-1測試結果表
| 功能測試方法 | 測試錄入功能的正確性 | 有出錯并彈出警告 | 在設置用戶信息中并未填寫任何內容,直接提交 | 無法保存,有出錯警告 | 與預期結果相當 | 正確 |
| 功能測試方法 | 登錄功能的正確性 | 有出錯彈出警告,并返回登陸界面 | 在設置用戶信息中并未填寫任何內容,直接提交 | 登錄出錯,有出錯警告,返回登錄界面 | 與預期結果相當 | 正確 |
| 功能測試方法 | 修改信息功能的正確性 | 修改完成,提示完成并錄入數據庫 | 在修改用戶信息處修改信息并提交 | 修改成功,并修改數據庫中內容 | 與預期結果相當 | 正確 |
系統總體情況如下:
(1) 各功能模塊都可以正常進行,基本實現了系統設計時的各項功能要求;
(2) 界面簡潔,操作簡單,系統使用方便;
本系統的下一步開發方向如下:
(1) 加強網站個性化設計;
(2) 加強網站人性化服務功能;
總之,本此系統開發圓滿成功,各模塊運行正常。本次的設計開發為下一步的完善提供了重要的幫助和支持,將會更加提高我們的系統的功能。
總 結
在畢業設計和開發期間,經過老師的指導和三個多月的認真學習,同時翻閱了大量的資料,終于完成了中小型企業財務管理系統的開發設計。其功能基本符合用戶需求,能夠完成課題的提交。我感覺自己從理論到實踐都有了長足的進步和很大的提高,使我在數據庫設計方面、JSP編程技術方面有了長足的進步,對中小型企業財務管理系統開發過程、步驟有了比較深刻的認識。
在系統開發之前,作為開發人員,必須要對開發系統有全方位的認識,例如該系統的特點、適用范圍等,通過對系統的了解作為基礎再對客戶或使用者所需實現的功能進行分析并按照客戶要求寫出需求分析并設計初步方案。系統開發不僅僅是對代碼的準確性的要求,而且要考慮系統的穩定性,實用性,開發過程中及時與客戶交流,在開發過程中不斷地改進代碼,更加貼近客戶需求。
設計實踐上的體會:在這次做畢業設計的過程中,我對JSP、servlet等編程知識又有了更深層次的了解和應用,認識到自己很多的不足和對知識的不成熟,還需要多加鍛煉并深入學習,在本次設計過程中所遇到的問題我盡量通過自己的方式進行解決,很大的提高了自己的自學能力,在沒辦法解決的情況下,對基地和學校老師進行認真的詢問并解決問題,學到了很多知識,在這感謝老師對我的指導起到了畫龍點睛的作用。
通過畢業設計,我還明白了一點,合作是至關重要的。雖然我是自己一個人為一組,但是在設計過程中也經常和同學們商量,相互借鑒。一個完整軟件程序需要若干個人的通力合作。在中小型企業財務管理系統開發過程中,我加強和同學們的溝通和交流,使得對每一個問題的解決獲得較優的方案,從而保證中小型企業財務管理系統系統的合理性、完整性,為該平臺的進一步完善和擴充打下了良好的基礎。
撰寫畢業論文期間,我深刻體會到,實踐到理論的重要性。在實踐到理論的轉化中,我將自己的工作過程清晰的展現在面前,而且增強了自己查閱資料的能力,獲得了一些必要的知識。
總之,在整個畢業設計期間,我既有收獲,也發現了自己的不足。今后,我一定更加努力,彌補自己的不足,提高自己的水平。
參考文獻
[1] 張孝祥、徐明華, JAVA基礎與案例開發詳解, 清華大學出版社, 2009.
[2] 康牧,JSP動態網站開發實用教程,清華大學出版社,2009.
[3] 劉亞賓,精通Eclipse–JAVA技術大系,電子工業出版社,2005.
[4] 于萬波,網站開發與應用案例教程,清華大學出版社,2009.
[5] 楊學瑜,高立軍,軟件開發過程與項目管理,電子工業出版社,2008.
[6] 張潔才,Java web應用開發教程,科學出版社,2005.
[7] 戴維爾,JavaScript程序員教程,電子工業出版社,2010.
[8] 黎連業、王華、李淑春,軟件測試與測試技術,清華大學出版社,2009.
[9] 黃梯云著.管理信息系統.北京.電子工業出版社.2006 .
[10](美)John J.Patrick著.SQL基礎(第二版).清華大學出版社.2004.
[11](美)David flanagan著. 《Java技術手冊》(《Java in a Nutshell》) 《Java技術手冊》(《Java in a Nutshell》)《Java in a Nutshell》.東南大學出版社.2006.
[12]黃裴、徐汀榮,電子商務原理與技術(第二版),科學出版社,2006年10月
[13] Juan Lipson Vuong.A semantics-based routing scheme for grid resource discovery[M].E-Science: First International Conference on E-Science and GridComputing,2005:58-70,90.
[14]Watts D J.Small Worlds. The dynamics of networks between order and randomness[P].America: 56A2579BB6,l999-05-13.
[15]Peter Rob, Carlos Coronel .Database Systems[M]. Cengage Learning EMEA, 2008
[16]BurgessR. S. DESIGNING CODASYL DATABASE PROGRAMS USING JSP[C].Information and Software Technology,Vol29,No3,1987:151-158
致 謝
在本次畢業設計過程中,得到了基地許換老師和學校曹棣老師的指導與幫助。在此特別感謝指導老師在結構和功能的把握上給予了我非常大的幫助,并對我在編程、數據庫設計等細節工作上給予了耐心的指導,對于我順利完成這次畢業設計起到了關鍵性的作用。
我還要感謝我的母校,以及在大學四年的生活中給予我關心的同學和老師,是他們讓懂得我專業的知識。通過這次畢業設計我還深刻認識到作為一名軟件工程專業的大學應屆畢業生,我要學會的不僅僅是對專業知識的熟練掌握,更重要的是需要全面的理解統籌項目的能力,在以后我一定會不斷的完善自己。
轉眼間,大學生活即將結束,回首過去四年的大學生活,是有苦有樂,然而更多的是收獲,感謝母校的各位老師不但無私地傳授給我們知識,也教會了我們如何做人。財務審批流程的畢業設計任務繁重,但正是這幾個月的時間讓我自己提升到一個新的高度,我相信:我的畢業設計會給我的四年大學畫上一個圓滿的句號。
附錄
外文原文
THE TECHNIQUE DEVELOPMENT HISTORY OF JSP
By:Kathy Sierra and Bert Bates
Source: Servlet&JSP
The Java Server Pages( JSP) is a kind of according to web of the script plait distance technique, similar carries the script language of Java in the server of the Netscape company of server- side JavaScript( SSJS) and the Active Server Pages(ASP) of the Microsoft. JSP compares the SSJS and ASP to have better can expand sex, and it is no more exclusive than any factory or some one particular server of Web. Though the norm of JSP is to be draw up by the Sun company of, any factory can carry out the JSP on own system.
The After Sun release the JS P( the Java Server Pages) formally, the this kind of new Web application development technique very quickly caused the people’s concern. JSP provided a special development environment for the Web application that establishes the high dynamic state. According to the Sun parlance, the JSP can adapt to include the Apache WebServer, IIS4.0 on the market at inside of 85% server product.
This chapter will introduce the related knowledge of JSP and Databases, and JavaBean related contents, is all certainly rougher introduction among them basic contents, say perhaps to is a Guide only, if the reader needs the more detailed information, pleasing the book of consult the homologous JSP.
1.1 GENER ALIZE
The JSP(Java Server Pages) is from the company of Sun Microsystems initiate, the many companies the participate to the build up the together of the a kind the of dynamic the state web the page technique standard, the it have the it in the construction the of the dynamic state the web page the strong but the do not the especially of the function. JSP and the technique of ASP of the Microsoft is very alike. Both all provide the ability that mixes with a certain procedure code and is explain by the language engine to carry out the procedure code in the code of HTML. Underneath we are simple of carry on the introduction to it.
JSP pages are translated into servlets. So, fundamentally, any task JSP pages can perform could also be accomplished by servlets. However, this underlying equivalence does not mean that servlets and JSP pages are equally appropriate in all scenarios. The issue is not the power of the technology, it is the convenience, productivity, and maintainability of one or the other. After all, anything you can do on a particular computer platform in the Java programming language you could also do in assembly language. But it still matters which you choose.
JSP provides the following benefits over servlets alone:
? It is easier to write and maintain the HTML. Your static code is ordinary HTML: no extra backslashes, no double quotes, and no lurking Java syntax.
? You can use standard Web-site development tools. Even HTML tools that know nothing about JSP can be used because they simply ignore the JSP tags.
? You can divide up your development team. The Java programmers can work on the dynamic code. The Web developers can concentrate on the presentation layer. On large projects, this division is very important. Depending on the size of your team and the complexity of your project, you can enforce a weaker or stronger separation between the static HTML and the dynamic content.
Now, this discussion is not to say that you should stop using servlets and use only JSP instead. By no means. Almost all projects will use both. For some requests in your project, you will use servlets. For others, you will use JSP. For still others, you will combine them with the MVC architecture . You want the apGFDGpropriate tool for the job, and servlets, by themselves, do not complete your toolkit.
1.2 SOURCE OF JSP
The technique of JSP of the company of Sun, making the page of Web develop the personnel can use the HTML perhaps marking of XML to design to turn the end page with format. Use the perhaps small script future life of marking of JSP becomes the dynamic state on the page contents.( the contents changes according to the claim of)
The Java Servlet is a technical foundation of JSP, and the large Web applies the development of the procedure to need the Java Servlet to match with with the JSP and then can complete, this name of Servlet comes from the Applet, the local translation method of now is a lot of, this book in order not to misconstruction, decide the direct adoption Servlet but don’t do any translation, if reader would like to, can call it as” small service procedure”. The Servlet is similar to traditional CGI, ISAPI, NSAPI etc. Web procedure development the function of the tool in fact, at use the Java Servlet hereafter, the customer need not use again the lowly method of CGI of efficiency, also need not use only the ability come to born page of Web of dynamic state in the method of API that a certain fixed Web server terrace circulate. Many servers of Web all support the Servlet, even not support the Servlet server of Web directly and can also pass the additional applied server and the mold pieces to support the Servlet. Receive benefit in the characteristic of the Java cross-platform, the Servlet is also a terrace irrelevant, actually, as long as match the norm of Java Servlet, the Servlet is complete to have nothing to do with terrace and is to have nothing to do with server of Web. Because the Java Servlet is internal to provide the service by the line distance, need not start a progress to the each claimses, and make use of the multi-threading mechanism can at the same time for several claim service, therefore the efficiency of Java Servlet is very high.
But the Java Servlet also is not to has no weakness, similar to traditional CGI, ISAPI, the NSAPI method, the Java Servlet is to make use of to output the HTML language sentence to carry out the dynamic state web page of, if develop the whole website with the Java Servlet, the integration process of the dynamic state part and the static state page is an evil-foreboding dream simply. For solving this kind of weakness of the Java Servlet, the SUN released the JSP.
A number of years ago, Marty was invited to attend a small 20-person industry roundtable discussion on software technology. Sitting in the seat next to Marty was James Gosling, inventor of the Java programming language. Sitting several seats away was a high-level manager from a very large software company in Redmond, Washington. During the discussion, the moderator brought up the subject of Jini, which at that time was a new Java technology. The moderator asked the manager what he thought of it, and the manager responded that it was too early to tell, but that it seemed to be an excellent idea. He went on to say that they would keep an eye on it, and if it seemed to be catching on, they would follow his company’s usual “embrace and extend” strategy. At this point, Gosling lightheartedly interjected “You mean disgrace and distend.”
Now, the grievance that Gosling was airing was that he felt that this company would take technology from other companies and suborn it for their own purposes. But guess what? The shoe is on the other foot here. The Java community did not invent the idea of designing pages as a mixture of static HTML and dynamic code marked with special tags. For example, Cold Fusion did it years earlier. Even ASP (a product from the very software company of the aforementioned manager) popularized this approach before JSP came along and decided to jump on the bandwagon. In fact, JSP not only adopted the general idea, it even used many of the same special tags as ASP did.
The JSP is an establishment at the model of Java servlets on of the expression layer technique, it makes the plait write the HTML to become more simple.Be like the SSJS, it also allows you carry the static state HTML contents and servers the script mix to put together the born dynamic state exportation. JSP the script language that the Java is the tacit approval, however, be like the ASP and can use other languages( such as JavaScript and VBScript), the norm of JSP also allows to use other languages.
1.3JSP CHARACTERISTICS
Is a service according to the script language in some one language of the statures system this kind of discuss, the JSP should be see make is a kind of script language. However, be a kind of script language, the JSP seemed to be too strong again, almost can use all Javas in the JSP.
Be a kind of according to text originally of, take manifestation as the central development technique, the JSP provided all advantages of the Java Servlet, and, when combine with a JavaBeans together, providing a kind of make contents and manifestation that simple way that logic separate. Separate the contents and advantage of logical manifestations is, the personnel who renews the page external appearance need not know the code of Java, and renew the JavaBeans personnel also need not be design the web page of expert in hand, can use to take the page of JavaBeans JSP to define the template of Web, to build up a from have the alike external appearance of the website that page constitute. JavaBeans completes the data to provide, having no code of Java in the template thus, this means that these templates can be written the personnel by a HTML plait to support. Certainly, can also make use of the Java Servlet to control the logic of the website, adjust through the Java Servlet to use the way of the document of JSP to separate website of logic and contents.
Generally speaking, in actual engine of JSP, the page of JSP is the edit and translate type while carry out, not explain the type of. Explain the dynamic state web page development tool of the type, such as ASP, PHP3 etc., because speed etc. reason, have already can’t satisfy current the large electronic commerce needs appliedly, traditional development techniques are all at to edit and translate the executive way change, such as the ASP → ASP+;PHP3 → PHP4.
In the JSP norm book, did not request the procedure in the JSP code part( be called the Scriptlet) and must write with the Java definitely. Actually, have some engines of JSP are adoptive other script languages such as the EMAC- Script, etc., but actually this a few script languages also are to set up on the Java, edit and translate for the Servlet to carry out of. Write according to the norm of JSP, have no Scriptlet of relation with Java also is can of, however, mainly lie in the ability and JavaBeans, the Enterprise JavaBeanses because of the JSP strong function to work together, so even is the Scriptlet part not to use the Java, edit and translate of performance code also should is related with Java.
1.4JSP MECHANISM
To comprehend the JSP how unite the technical advantage that above various speak of, come to carry out various result easily, the customer must understand the differentiation of” the module develops for the web page of the center” and” the page develops for the web page of the center” first.
The SSJS and ASP are all in several year ago to release, the network of that time is still very young, no one knows to still have in addition to making all business, datas and the expression logic enter the original web page entirely heap what better solve the method. This kind of model that take page as the center studies and gets the very fast development easily. However, along with change of time, the people know that this kind of method is unwell in set up large, the Web that can upgrade applies the procedure. The expression logic write in the script environment was lock in the page, only passing to shear to slice and glue to stick then can drive heavy use. Express the logic to usually mix together with business and the data logics, when this makes be the procedure member to try to change an external appearance that applies the procedure but do not want to break with its llied business logic, apply the procedure of maintenance be like to walk the similar difficulty on the eggshell. In fact in the business enterprise, heavy use the application of the module already through very mature, no one would like to rewrite those logics for their applied procedure.HTML and sketch the designer handed over to the implement work of their design the Web plait the one who write, make they have to double work- Usually is the handicraft plait to write, because have no fit tool and can carry the script and the HTML contents knot to the server to put together. Chien but speech, apply the complexity of the procedure along with the Web to promote continuously, the development method that take page as the center limits sex to become to get up obviously.
At the same time, the people always at look for the better method of build up the Web application procedure, the module spreads in customer’s machine/ server the realm. JavaBeans and ActiveX were published the company to expand to apply the procedure developer for Java and Windows to use to come to develop the complicated procedure quickly by” the fast application procedure development”( RAD) tool. These techniques make the expert in the some realm be able to write the module for the perpendicular application plait in the skill area, but the developer can go fetch the usage directly but need not control the expertise of this realm.
Be a kind of take module as the central development terrace, the JSP appeared. It with the JavaBeans and Enterprise JavaBeans( EJB) module includes the model of the business and the data logic for foundation, provide a great deal of label and a script terraces to use to come to show in the HTML page from the contents of JavaBeans creation or send a present in return. Because of the property that regards the module as the center of the JSP, it can drive Java and not the developer of Java uses equally. Not the developer of Java can pass the JSP label( Tags) to use the JavaBeans that the deluxe developer of Java establish. The developer of Java not only can establish and use the JavaBeans, but also can use the language of Java to come to control more accurately in the JSP page according to the expression logic of the first floor JavaBeans.
See now how JSP is handle claim of HTTP. In basic claim model, a claim directly was send to JSP page in. The code of JSP controls to carry on hour of the logic processing and module of JavaBeanses’ hand over with each other, and the manifestation result in dynamic state bornly, mixing with the HTML page of the static state HTML code. The Beans can be JavaBeans or module of EJBs. Moreover, the more complicated claim model can see make from is request other JSP pages of the page call sign or Java Servlets.
The engine of JSP wants to chase the code of Java that the label of JSP, code of Java in the JSP page even all converts into the big piece together with the static state HTML contents actually. These codes piece was organized the Java Servlet that customer can not see to go to by the engine of JSP, then the Servlet edits and translate them automatically byte code of Java.
Thus, the visitant that is the website requests a JSP page, under the condition of it is not knowing, an already born, the Servlet actual full general that prepared to edit and translate completes all works, very concealment but again and efficiently. The Servlet is to edit and translate of, so the code of JSP in the web page does not need when the every time requests that page is explain. The engine of JSP need to be edit and translate after Servlet the code end is modify only once, then this Servlet that editted and translate can be carry out. The in view of the fact JSP engine auto is born to edit and translate the Servlet also, need not procedure member begins to edit and translate the code, so the JSP can bring vivid sex that function and fast developments need that you are efficiently.
Compared with the traditional CGI, the JSP has the equal advantage. First, on the speed, the traditional procedure of CGI needs to use the standard importation of the system to output the equipments to carry out the dynamic state web page born, but the JSP is direct is mutually the connection with server. And say for the CGI, each interview needs to add to add a progress to handle, the progress build up and destroy by burning constantly and will be a not small burden for calculator of be the server of Web. The next in order, the JSP is specialized to develop but design for the Web of, its purpose is for building up according to the Web applied procedure, included the norm and the tool of a the whole set. Use the technique of JSP can combine a lot of JSP pages to become a Web application procedure very expediently.
中文翻譯:JSP技術發展史
作者: Kathy Sierra and Bert Bates
來源: Servlet&JSP
Java Server Pages(JSP)是一種基于web的腳本編程技術,類似于網景公司的服務器端Java腳本語言—— server-side JavaScript(SSJS)和微軟的Active Server Pages(ASP)。與SSJS和ASP相比,JSP具有更好的可擴展性,并且它不專屬于任何一家廠商或某一特定的Web服務器。盡管JSP規范是由Sun公司制定的,但任何廠商都可以在自己的系統上實現JSP。
在Sun正式發布JSP(Java Server Pages)之后,這種新的Web應用開發技術很快引起了人們的。JSP為創建高度動態的Web應用提供了一個獨特的開發環境。按照Sun的說法,JSP能夠適應市場上包括Apache WebServer、IIS4.0在內的85%的服務器產品。
本文將介紹JSP相關的知識,以及JavaBean的相關內容,當然都是比較粗略的介紹其中的基本內容,僅僅起到拋磚引玉的作用,如果讀者需要更詳細的信息,請參考相應的JSP的書籍。
1.1 概述
JSP(Java Server Pages)是由Sun Microsystems公司倡導、許多公司參與一起建立的一種動態網頁技術標準,其在動態網頁的建設中有其強大而特別的功能。JSP與Microsoft的ASP技術非常相似。兩者都提供在HTML代碼中混合某種程序代碼、由語言引擎解釋執行程序代碼的能力。下面我們簡單的對它進行介紹。
JSP頁面最終會轉換成servlet。因而,從根本上,JSP頁面能夠執行的任何任務都可以用servlet來完成。然而,這種底層的等同性并不意味著servlet和JSP頁面對于所有的情況都等同適用。問題不在于技術的能力,而是二者在便利性、生產率和可維護性上的不同。畢竟,在特定平臺上能夠用Java編程語言完成的事情,同樣可以用匯編語言來完成,但是選擇哪種語言依舊十分重要。
和單獨使用servlet相比,JSP提供下述好處:
JSP中HTML的編寫與維護更為簡單。JSP中可以使用常規的HTML:沒有額外的反斜杠,沒有額外的雙引號,也沒有暗含的Java語法。
能夠使用標準的網站開發工具。即使是那些對JSP一無所知的HTML工具,我們也可以使用,因為它們會忽略JSP標簽(JSP tags)。
可以對開發團隊進行劃分。Java程序員可以致力于動態代碼。Web開發人員可以將經理集中在表示層(presentation layer)上。對于大型的項目,這種劃分極為重要。依據開發團隊的大小,及項目的復雜程度,可以對靜態HTML和動態內容進行弱分離(weaker separation)和強分離(stronger separation)。
此處的討論并不是說人們應該放棄使用servlet而僅僅使用JSP。事實上,幾乎所有的項目都會同時用到這兩種技術。在某些項目中,更適宜選用servlet,而針對項目中的某些請求,我們可能會在MVC構架下組合使用這兩項技術。我們總是希望用適當的工具完成相對應的工作,僅僅是servlet并不一定能夠勝任所有工作。
1.2 JSP的由來
Sun公司的JSP技術,使Web頁面開發人員可以使用HTML或者XML標識來設計和格式化最終頁面。使用JSP標識或者小腳本來生成頁面上的動態內容(內容是根據請求來變化的)。
Java Servlet是JSP技術的基礎,而且大型的Web應用程序的開發需要Java Servlet和JSP配合才能完成,Servlet這個名稱源于Applet,現在國內的翻譯方式很多,本書為了避免誤會,決定直接采用Servlet而不做任何翻譯,讀者如果愿意,可以稱之為“小服務程序”。Servlet其實和傳統的CGI、ISAPI、NSAPI等Web程序開發工具的作用是相似的,在使用Java Servlet以后,用戶不必再使用效率低下的CGI方式,也不必使用只能在某個固定Web服務器平臺運行的API方式來動態生成Web頁面。許多Web服務器都支持Servlet,即使不直接支持Servlet的Web服務器也可以通過附加的應用服務器和模塊來支持Servlet。得益于Java的跨平臺的特性,Servlet也是平臺無關的,實際上,只要符合Java Servlet規范,Servlet是完全與平臺無關且是與Web服務器無關的。由于Java Servlet內部是以線程方式提供服務,不必對于每個請求都啟動一個進程,并且利用多線程機制可以同時為多個請求服務,因此Java Servlet效率非常高。
但Java Servlet也不是沒有缺點,和傳統的CGI、ISAPI、NSAPI方式相同,Java Servlet是利用輸出HTML語句來實現動態網頁的,如果用Java Servlet來開發整個網站,動態部分和靜態頁面的整合過程會非常難以實現。為了解決Java Servlet的這種缺點,SUN推出了JSP。
許多年前,Marty受到邀請,參加一個有關軟件技術的小型研討會.坐在Marty旁邊的人是James Gosling— Java編程語言的發明者。隔幾個位置,是來自華盛頓一家大型軟件公司的高級經理。在討論過程中,研討會的主席提出了Jini的議題,這在當時是一項新的Java技術。主席向該經理詢問他的想法.他回答說,雖然現在言之過早,但這看起來會是非常有前途的一項技術。他們會持續這項技術,如果這項技術變得流行起來,他們會遵循公司的“接受并擴充(embrace and extend)”的策略.此時, Gosling隨意地插話說“你的意思其實就是不接受且不擴充(disgrace and distend)。”
在此, Gosling的抱怨顯示出,他感到這個公司會從其他公司那里拿走技術,用于他們自己的目的.出人意料的是,形勢已經完全不同。Java團隊并沒有發明這一思想—-將頁面設計成由靜態HTML和用特殊標簽標記的動態代碼混合組成.。ColdFusion多年前就已經這樣做了。甚至ASP(來自于前述經理所在公司的一項產品)都在JSP出現之前推廣了這種方式。實際上,JSP不只采用了這種通用概念,它甚至使用許多和ASP相同的特殊標簽。
JSP是建立在Java servlets模型之上的表達層技術,它使編寫HTML變得更簡單。像SSJS一樣,它也允許你將靜態HTML內容與服務器端腳本混合起來生成動態輸出。JSP把Java作為默認的腳本語言,然而,就像ASP可以使用其他語言(如JavaScript和VBScript)一樣,JSP規范也允許使用其他語言。
1.3 JSP的特點
按照腳本語言是服務于某一個子系統的語言這種論述,JSP應當被看作是一種腳本語言。然而,作為一種腳本語言,JSP又顯得過于強大了,在JSP中幾乎可以使用全部的Java類。
作為一種基于文本的、以顯示為中心的開發技術,JSP提供了Java Servlet的所有好處,并且,當與一個JavaBeans類結合在一起時,JSP提供了一種使內容和顯示邏輯分開的簡單方式。分開內容和顯示邏輯的好處是,更新頁面外觀的人員不必懂得Java代碼,而更新JavaBeans類的人員也不必是設計網頁的行家里手,就可以用帶JavaBeans類的JSP頁面來定義Web模板,以建立一個由具有相似的外觀的頁面組成的網站。JavaBeans類完成數據提供,這樣在模板中就沒有Java代碼,這意味著這些模板可以由一個HTML編寫人員來維護。當然,也可以利用Java Servlet來控制網站的邏輯,通過Java Servlet調用JSP文件的方式來將網站的邏輯和內容分離。
一般來說,在實際的JSP引擎中,JSP頁面在執行時是編譯式,而不是解釋式的。解釋式的動態網頁開發工具如ASP、PHP3等由于速度等原因已經滿足不了當前大型電子商務應用的需要了,傳統的開發技術都在向編譯執行的方式改變,如ASP→ASP+;PHP3→PHP4。
在JSP規范書中,并沒有明確要求JSP中的程序代碼部分(稱為Scriptlet)一定要用Java來寫。實際上,有一些JSP引擎就是采用的其他腳本語言,如EMAC-Script、WebL等,但實際上這幾種腳本語言也是構建在Java上面,編譯為Servlet來實現的。按照JSP規范書寫,和Java沒有任何關系的Scriptlet也是可以的,不過,由于JSP的強大功能主要在于能和JavaBeans、Enterprise JavaBeans共同運轉,所以即使是Scriptlet部分不使用Java,編譯成的執行代碼也應該是與Java相關的。
1.4 JSP的機制
要理解JSP怎樣聯合以上各種所提到的技術的優點,從而輕而易舉地實現各種效果,用戶必須首先了解“組件為中心的網頁開發”和“頁面為中心的網頁開發”的區別。
SSJS和ASP都是在幾年前推出的,那時網絡還很年輕,沒有人知道除了把所有的商務、數據和表達邏輯統統堆進原始網頁中之外還有什么更好的解決方法。這種以頁面為中心的模型容易學習并且得到相當快速的發展。然而,隨著時間的推移,人們認識到這種方法不適于構建大型的、可升級的Web應用程序。在腳本環境中書寫的表達邏輯被鎖在頁面內,只有通過剪切和粘貼才能被重用。表達邏輯通常和商務及數據邏輯混在一起,這使得當程序員試圖改變一個應用程序的外觀而不想破壞與之緊密結合的商務邏輯時,應用程序的維護就變得十分艱難。其事實上,企業中可重用組件的應用早已經很成熟,沒有人愿意為它們的應用程序重寫那些邏輯。HTML和圖形設計師把它們的設計的實施工作交給了Web編寫者,使他們不得不加倍工作—— 常常是手工編寫,因為沒有合適的工具可以把服務器端腳本與HTML內容結合起來。簡而言之,隨著Web應用程序的復雜性不斷提升,以頁面為中心的開發方式的局限性變得明顯起來。
與此同時,人們一直在尋找建立Web應用程序的更好方法,組件在客戶機/服務器領域流行起來。JavaBeans和ActiveX被“快速應用程序開發”(RAD)工具發行商推廣給Java和Windows應用程序開發者用來快速開發復雜的程序。這些技術使某領域內的專家可以為本領域內的垂直應用編寫組件,而開發者可以直接拿來使用而不必掌握這一領域的專門技術。
作為一種以組件為中心的開發平臺,JSP出現了。它以JavaBeans和Enterprise JavaBeans(EJB)組件包含商務和數據邏輯的模型為基礎,提供大量標簽和一個腳本平臺用來在HTML頁中顯示由JavaBeans產生或回送的內容。由于JSP的以組件為中心的性質,它可以被Java和非Java開發者同樣使用。非Java開發者可以通過JSP的標簽(Tags)來使用高級Java開發者創建的JavaBeans。Java開發者不僅可以創建和使用JavaBeans,還能在JSP頁中使用Java語言來更精密地控制基于底層JavaBeans的表達邏輯。
現在來看看JSP是如何處理HTTP請求的。在基本請求模型中,一個請求直接被送到JSP頁中。JSP代碼控制著進行邏輯處理時與JavaBeans組件的交互,并在動態生成的、混合了靜態HTML代碼的HTML頁中顯示結果。Beans 可以是JavaBeans 或EJB組件。另外,更加復雜的請求模型可看作從被請求頁呼叫其他JSP頁或Java Servlets。
JSP引擎實際上要把JSP標簽、JSP頁中的Java代碼甚至連同靜態HTML內容都轉換為大塊的Java代碼。這些代碼塊被JSP引擎組織到用戶看不到的Java Servlet中去,然后Servlet自動把它們編譯成Java字節碼。這樣,當網站的訪問者請求一個JSP頁時,在它不知道的情況下,一個已經生成的、預編譯過的Servlet實際上將完成所有的工作,非常隱蔽而又高效。因為Servlet是編譯過的,所以網頁中的JSP代碼不需要在每次請求該頁時被解釋一遍。JSP引擎只需在Servlet代碼最后被修改后編譯一次,然后這個編譯過的Servlet就可以被執行了。由于是JSP引擎自動生成并編譯Servlet,不用程序員動手編譯代碼,所以JSP能帶給你高效的性能和快速開發所需的靈活性。
和傳統的CGI相比較,JSP有相當的優勢。首先,在速度上,傳統的CGI程序需要使用系統的標準輸入輸出設備來實現動態網頁的生成,而JSP是直接和服務器相關聯的。而且對于CGI來說,每一個訪問就需要新增加一個進程來處理,進程不斷地建立和銷毀對于作為Web服務器的計算機將是不小的負擔。其次,JSP是專門為Web開發而設計的,其目的是為了建立基于Web的應用程序,其中包含了一整套的規范和工具。使用JSP技術可以很方便地將一大堆JSP頁面組合成為一個Web應用程序。
總結
以上是生活随笔為你收集整理的jsp企业财务管理系统设计与实现(论文+PPT+源码的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【财务】FMS财务管理系统---日常数据
- 下一篇: OICQ 99c版本加密方法研究报告