【正文】
P Servlet technology, and SQL Server database to develop the perfect JAVA Web applications, the system is the bination of JSP Struts development and application of a typical Examples. Keyword: School Roll Management System。和以往的C/S模式相比,在服務的便捷性上有了無可比擬的提高,同時方便管理人員對系統(tǒng)的管理和維護。教學單位 計科系 本科畢業(yè)論文(設計)2008年05月28日基于J2EE平臺的高校學籍管理系統(tǒng)摘要:隨著Internet的發(fā)展,社會生活中越來越多的工作都實現(xiàn)了辦公自動化,用網(wǎng)絡解決生活和工作中問題成為這個時代的進步的標志。本系統(tǒng)通過B/S模式實現(xiàn)用戶與管理系統(tǒng)的信息交流及交互,所謂B/S模式即瀏覽器/服務器模式,用戶通過瀏覽器來訪問管理系統(tǒng)。關鍵字:學籍管理系統(tǒng);Struts框架;B/S模式;JSP技術;Servlet技術 College School Roll Management System Based on J2EEAbstract: With the Internet39。 JSP technology。學校如同企業(yè),如果沒有好的管理和來競爭力?在國際社會飛速發(fā)展的今天,我國也已成功加入世貿(mào)組織的今天,不得不讓我們認真對待每一個問題??梢允箤W生能夠合理安排時間,能夠盡快的知道自己的考試學籍,投入新的課程的學習或復習這次沒有考過的課程。對于一個學校而言,更應該運用一些本地資源,提高管理的力度,對學生負責,對自己的重任負責。而國內(nèi)高校信息化建設相對起步較晚。因此,教務管理軟件應充分依托校園網(wǎng),實現(xiàn)教務信息的集中管理、分散操作、信息共享,使傳統(tǒng)的教務管理朝數(shù)字化、無紙化、智能化、綜合化的方向發(fā)展,并為進一步實現(xiàn)完善的計算機教務管理系統(tǒng)和全校信息系統(tǒng)打下良好的基礎。J2EE教程對平臺特性、API和工具進行了有深度的介紹。面向?qū)ο蠹夹g代表了一種全新的程序設計思路和觀察、表述、處理問題的方法,與傳統(tǒng)的面向過程的開發(fā)方法不同,面向?qū)ο蟮某绦蛟O計和問題求解力求符合人們?nèi)粘W匀坏乃季S習慣,降低、分解問題的復雜性,提高整個求解過程的可控性、可監(jiān)測性和可維護性,從而達到以較小的代價和較高的效率獲得較滿意效果的目的。各大軟件廠商紛紛推出面向?qū)ο蟮某绦蛟O計語言,如C++,Dephi,Java,C等,和各種基于面向?qū)ο蠹夹g的可視化軟件開發(fā)環(huán)境,如PowerBuilder,VB,Dephi,Eclipse等。在軟件開發(fā)中,面向?qū)ο蠹夹g相對于之前的程序設計方法能夠更好地適應當今軟件開發(fā)在規(guī)模、復雜性、可靠性和質(zhì)量、效率上的種種需求,己經(jīng)成為軟件開發(fā)中的的基本方法。數(shù)據(jù)庫的發(fā)展按其數(shù)據(jù)模型也可分為四個階段:層次模型數(shù)據(jù)庫、網(wǎng)狀模型數(shù)據(jù)庫、關系模型數(shù)據(jù)庫和面向?qū)ο竽P蛿?shù)據(jù)庫。無論實體還是實體之間的聯(lián)系都用關系表示,對數(shù)據(jù)的檢索結(jié)果也是關系。因此為了提高性能,必須對用戶的查詢進行優(yōu)化,增加了開發(fā)數(shù)據(jù)庫系統(tǒng)的難度。研究了關系數(shù)據(jù)庫語言,開發(fā)出了關系數(shù)據(jù)庫管理系統(tǒng)的一些原型,是以IBM公司的SYSTEM R和Berkeley大學的Ingress為代表。這一時期開發(fā)了大量的商業(yè)RDBMS產(chǎn)品。其代表產(chǎn)品有Sybase和Microsoft公司1986年推出的SQL Server為代表。這些研究在上個世紀八十年代就初現(xiàn)端倪。Oracle是一個傳統(tǒng)的關系數(shù)據(jù)庫廠商,在對象化的道路上,Oracle當然采取追加對象化特征的道路,以侵入數(shù)據(jù)對象化的市場,保持Oracle在數(shù)據(jù)庫領域的領導地位。在這方面,主要以一些大學研究機構進行設計和開發(fā),有些也形成了產(chǎn)品,不過由于市場方面的原因(主要是關系數(shù)據(jù)庫的容易上手和市場絕對領導地位)和ODBMS先天的一些弱點(比如查詢引擎很難優(yōu)化),使ODBMS沒有象關系數(shù)據(jù)庫那樣流行起來。還有一些研究機構開發(fā)一些底層的面向?qū)ο髷?shù)據(jù)庫引擎,但只提供一些底層的API,不提供管理方面的功能,以及一些算法提供開放式接口,讓廠商去選擇和實現(xiàn)。這也是對象數(shù)據(jù)庫無法普及的一個重要原因。Model 2的目的和MVC一樣,也是利用控制器來分離模型和視圖,達到一種層間松散耦合的效果,提高系統(tǒng)靈活性、復用性和可維護性。既然Struts是基于Model 2之上,那它的底層機制也就是MVC,圖2是Struts中的MVC實現(xiàn)示意圖??刂破鹘邮誋TTP請求,并從ActionConfig中找出對應于該請求的Action子類,如果沒有對應的Action,控制器直接將請求轉(zhuǎn)發(fā)給JSP或者靜態(tài)頁面。此外,還可以在ActionForm類中調(diào)用validate方法來檢查請求參數(shù)的合法性,并且可以返回一個包含所有錯誤信息的ActionErrors對象。執(zhí)行完成之后,返回一個ActionForward對象,控制器通過該ActionForward對象來進行轉(zhuǎn)發(fā)工作。這些組件提供對國際化,接收用戶輸入的表單數(shù)據(jù),表單驗證和錯誤處理等的支持。在Struts應用中的JavaBean和普通的Java類很相似,不過,它應該遵守以下規(guī)范:a)必須提供不帶參數(shù)的構造方法。2)DTO數(shù)據(jù)傳輸對象JavaBean除了可以用來創(chuàng)建業(yè)務對象,實體業(yè)務對象包含了模型的狀態(tài)信息。b)有助于實現(xiàn)各個層之間的獨立,使每個層分工明確??刂茖涌梢詮腁ctionForm Bean中讀取用戶輸入的表單數(shù)據(jù),也可以把來自模型層的數(shù)據(jù)存放到AtionForm Bean中,然后把它返回給視圖。不過,Strtus允許使用其他模型框架來處理應用的業(yè)務領域,如EJB(Enterprise JavaBean)和JDO(Java Data Obiect),以及常規(guī)的JavaBean和ORM(ObjectRelation Mapping)等。在分層的框架結(jié)構中,位于上層的視圖和控制器依賴于下層的模型的實現(xiàn),而下層模型不應該依賴于上層的視圖的控制器的實現(xiàn)。在軟件開發(fā)的不同階段,需要為目標系統(tǒng)創(chuàng)建不同類型的模型。概念模型用來模擬問題域中的真實實體。b) 設計模型概念模型是在軟件分析階段創(chuàng)建的,它幫助開發(fā)人員對應用的需求獲得清晰精確的理解。如果類A引用類B,那么被引用的類B將被定義為類A的屬性。累積(Aggregation) 累積指的是整體與個體之間的關系,可以把累積看做一種強關聯(lián)關系。2) 業(yè)務對象(BO)業(yè)務對象,即Business Object(BO),是對對真實世界的實體的軟件抽象。它們可以直接地代表真實世界中的概念,開發(fā)小組的所有成員都能理解它們,如果針對同一個業(yè)務領域需要開發(fā)出多個應用,那么這些應用可以共享這些業(yè)務對象。最后,它們要么從內(nèi)在中清除,要么被持久化到數(shù)據(jù)存儲庫中。業(yè)務對象的持久化過程如圖5所示。例如對象之間的繼承關系就不能直接映射到關系型數(shù)據(jù)庫中。b)RequestProcessor組件:充當每個子應用模塊的請求處理器。由控制器組件來決定把合適的視圖組件返回給用戶,這可以減少視圖組件之間直接的、錯綜復雜的鏈接關系,使應用更加靈活,便于維護。3)獲取業(yè)務邏輯執(zhí)行結(jié)果。Servlet容器在啟動時,或者用戶首次請求ActionServlet時加載ActionServlet類。2)調(diào)用initOther()方法,如config參數(shù)。6)調(diào)用initModuleDataSources()方法,加載并初始化默認子應用模塊的數(shù)據(jù)源。2. ActionServlet的process()方法當ActionServlet實例接收到HTTP請求后,在doGet()或doPost()方法中都會調(diào)用process()方法來處理請求。在process()方法中,()類的selectModule()方法,這個方法選擇負責處理當前請求的子應用模塊,然后把與子應用模塊相關的MouduleConfig和MessageResources對象存儲到request范圍中,這使得框架的其余組件可以方便地從request范圍中讀取這些對象,從而獲取應用配置信息和消息資源。在ActionServlet的process()方法中,一旦選擇了正確的子應用模塊,就會調(diào)用子應用模塊的RequestProcessor實例的process()方法來處理請求。RequestProcessor類的process()方法負責實際的預處理請求操作,該方法依次執(zhí)行以下流程。2)調(diào)用processPath()方法,獲得請求URL的路徑,這一信息可用于選擇合適的Struts Action組件。If(contentType!=null){ (contentType)。(“Expires”, 1)。8)調(diào)用processRoles()方法,先判斷是否為Action配置了安全角色,如果配置了安全角色,就調(diào)用isUserInRole()方法判斷當前用戶是否具備必需的角色;如果不具備,就結(jié)束請求處理流程,向用戶返回恰當?shù)腻e誤消息。如果為ActionMapping配置了ActionForm,就先調(diào)用ActionForm的reset()方法,再把請求中的表單數(shù)據(jù)組裝到ActionForm中。12)調(diào)用processInclude()方法,判斷是否在ActionMapping中配置了include屬性。Execute()方法位于try/catch代碼中,以便捕獲異常。使開發(fā)者能更深入的了解其內(nèi)部實現(xiàn)機制。關于頁面導航,那將是今后的一個發(fā)展方向,事實上,這樣做,使系統(tǒng)的脈絡更加清晰。Struts將MVC的Controller一分為三,在獲得結(jié)構更加清晰的同時,也增加了系統(tǒng)的復雜度。系統(tǒng)設計面向最終用戶,操作界面友好、易用;系統(tǒng)管理簡潔、直觀,便于用戶管理和維護。系統(tǒng)對錄入的信息進行了客戶端驗證,同時對錄入的正確信息進行持久化(寫入數(shù)據(jù)庫)。1)功能描述此功能為用戶提供了學生信息的查詢顯示。在更新學籍信息時,學號作為唯一標識符是禁止修改的。當管理員輸錯學號而保存了信息后,因為不能對學號進行更新,所以就可以通過刪除功能實現(xiàn)信息的更正。 String url=jdbc:microsoft:sqlserver://localhost:1433。 Connection con=null。 con=(url,user,password)。 if(()) { //此處為查詢成功后所做的操作的代碼; ()。 } } catch(Exception e){ (())。整個系統(tǒng)運用Struts框架實現(xiàn)了MVC模式的B/S開發(fā),用戶可以很方便的通過瀏覽器來訪問系統(tǒng),可以查詢和錄入相關信息。雖然大多數(shù)用戶很樂于將 Eclipse 當作 Java IDE 來使用,但 Eclipse 的目標不僅限于此。盡管 Eclipse 是使用 Java 語言開發(fā)的,但它的用途并不限于 Java 語言;例如,支持諸如 C/C++、COBOL 和 Eiffel 等編程語言的插件已經(jīng)可用,或預計會推出。在結(jié)構上,MyEclipse的特征可以被分為7類:1. J2EE模型2. WEB開發(fā)工具3. EJB開發(fā)工具4. 應用程序服務器的連接器5. J2EE項目部署服務6. 數(shù)據(jù)庫服務7. MyEclipse整合幫助對于以上每一種功能上的類別,在Eclipse中都有相應的功能部件,并通過一系列的插件來實現(xiàn)它們。它的價格對于個人和企業(yè)開發(fā)人員來說都是非常有吸引力的。Tomcat是Apache 軟件基金會(Apache Software Foundation)的Jakarta 項目中的一個核心項目,由Apache、Sun 和其他一些公司及個人共同開發(fā)而成。Tomcat 是一個小型的輕量級應用服務器,在中小型系統(tǒng)和并發(fā)訪問用戶不是很多的場合下被普遍使用,是開發(fā)和調(diào)試JSP 程序的首選。另外,Tomcat和IIS、Apache等Web服務器一樣,具有處理HTML頁面的功能,另外它還是一個Servlet和JSP容器,獨立的Servlet容器是Tomcat的默認模式。由于Java的跨平臺特性,基于Java的Tomcat也具有跨平臺性。而classes目錄下則包含編譯好的Servlet類和Jsp或Servlet所依賴的其它類(如JavaBean)。編譯以后,訪問將會很快。Tomcat提供Realm支持。Tomcat提供三種Realm,1:JDBCRealm,這個Realm將用戶信息存在數(shù)據(jù)庫里,通過JDBC獲得用戶信息來進行驗證。Tomcat也提供其它的一些特征,如與SSL集成到一塊,實現(xiàn)安全傳輸。但如果與JBoss(一個開源的應用服務器)集成到一塊,則可以實現(xiàn)J2EE的全部功能。Tomcat也可以與其它一些軟件集成起來實現(xiàn)更多的功能。接著介紹了J2EE應用平臺,面向?qū)ο蠹夹g和數(shù)據(jù)庫技術。隨后介紹了學籍管理系統(tǒng)各部分功能的作用及實現(xiàn)過程,最后對開發(fā)工具做了簡單介紹,包括Eclipse、MyEclipse以及Tomcat服務