助學系統(tǒng)設計_第1頁
助學系統(tǒng)設計_第2頁
助學系統(tǒng)設計_第3頁
助學系統(tǒng)設計_第4頁
助學系統(tǒng)設計_第5頁
已閱讀5頁,還剩72頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

1、沈陽理工大學學士學位論文摘 要本文主要介紹了西北民族大學助學系統(tǒng)設計。主要為軟件程序設計。主要實現(xiàn)兩大功能學生功能、老師功能和管理員。學生功能主要是現(xiàn)實用戶登錄、查看互動、刪除互動、創(chuàng)建互動,查看互動在細分出三個功能評價互動、舉報互動、修改互動。老師功能主要實現(xiàn)用戶登錄、查看互動兩大功能,查看互動里也細分出三個功能能回復互動、舉報互動、修改回復。管理員主要功能是允許修改所有用戶,增刪用戶,還有查看所有舉報互動和刪除舉報互動。此模塊是基于Java開發(fā)的,Java是由Sun Microsystems公司于1995年推出的面向?qū)ο蟪绦蛟O計語言。Java編程語言的特點是簡單、面向?qū)ο?、分布式、可擴展、

2、高性能和跨平臺的語言。本文開發(fā)工具使用MyEclipse,采用三層架構思想來完成,Web層,Service層(業(yè)務層),Dao層,視圖層這塊采用JSP、JavaScript、css技術來完成。Web層由Servlet來接收頁面?zhèn)鬟f的參數(shù)和調(diào)用Service層中的方法,Service層主要調(diào)用Dao層中方法做一些簡單邏輯判斷,Dao層功能是連接數(shù)據(jù)庫,進行數(shù)據(jù)的增、刪、改、查一系列操作。數(shù)據(jù)庫本設計采用Oracle,連接數(shù)據(jù)工具導入jdbc.jar包來連接數(shù)據(jù)庫。服務器本模塊使用Tomcat6.0版本Tomcat是一個開源而且免費的jsp服務器,將項目部署到服務器運行,只要在服務器中能正常運行,

3、運行結果正確,證明設計思路正確。關鍵詞:Java;Myeclipse;Tomcat服務器;Web3Abstract This paper mainly introduces the design of Northwest University for Nationalities system. The main design is for a software program. The main achievement of the two major functions of students, teachers and the administrator function.The stud

4、ent is the main function of real user login, view, delete, create interactioninteraction interaction, the interaction in three functional evaluation, report,modify the interaction interaction interaction in the subdivision. The teacher function mainly realizes the user login, view the interactive fu

5、nctions of the two,the interaction is divided into three function can reply the interaction, interaction, Ireport. The main functions of the administrator is allowed to modify all users, add and delete users, and view all report interaction and delete report interaction.This module is based on the d

6、evelopment of Java, Java is an object orientedprogramming language developed by Sun Microsystems in 1995. Characteristics of the Java programming language is simple, object-oriented, distributed,scalable, high performance and cross platform language. In this paper, using MyEclipse as the development

7、 tool, adopt three layer architecture to complete,Web layer, Service layer (business), Dao layer, view layer using JSP, theJavaScript, CSS technology to finish the. Methods Web layer by Servlet toreceive the page transfer parameters and invoke the Service layer, Service layermethod layer calls Dao t

8、o do some simple logic judgment, Dao layer function is toconnect to the database, the data add, delete, change, check a series of operations. Database design using the Oracle tool, connect the data into the jdbc.jar package to connect to the database. The server module uses the Tomcat6.0 version of

9、the Tomcat is an open source and free JSP server, the project will be deployed to the server is running, as long as the normal running on the server, the results correctly, that the design thought is correct.Keywords: Java;Myeclipse;Tomcat service; Web 3目 錄1 緒論11.1 開發(fā)背景11.2 課題現(xiàn)狀11.3 研究內(nèi)容11.4論文結構22 技

10、術背景32.1 Oracle數(shù)據(jù)庫介紹32.1.1發(fā)展32.1.2功能32.1.3特性32.2 MyEclipse開發(fā)工具介紹42.2.1 MyEclipse的分類42.2.2 MyEclipse的使用52.3 TOMCAT服務器介紹52.4 MVC框架介紹62.5 JSP技術介紹72.6 SERVLET技術介紹72.7開發(fā)環(huán)境83 系統(tǒng)設計93.1需求分析93.1.1前期工作93.1.2用例圖93.3概要設計113.4數(shù)據(jù)庫的設計123.5數(shù)據(jù)庫表與對應實體類設計163.6系統(tǒng)文件夾組織結構設計184 詳細設計194.1 編寫連接數(shù)據(jù)庫工具類194.2 界面設計234.3 管理員模塊設計與實

11、現(xiàn)234.4 系統(tǒng)主頁的實現(xiàn)說明254.4.1 top部分254.4.2 content部分254.4.3 bottom部分264.5 學生模塊的設計與實現(xiàn)264.5.1 創(chuàng)建互動264.5.2 創(chuàng)建互動活動圖284.5.3 查詢教師294.5.4 舉報互動294.5.5 刪除互動294.5.6 評價互動304.5.7 修改互動詳細信息304.5.8 學生登錄時序圖304.5.9 學生操作時序圖314.6 教師模塊實現(xiàn)314.7 一些細節(jié)問題的實現(xiàn)324.7.1 數(shù)據(jù)庫的連接324.7.2 數(shù)據(jù)庫的操作334.7.3 html中表單使用344.7.4 html中table標簽的簡單使用344.

12、7.5 javascript的簡單使用354.7.6 DIV+CSS的簡單使用354.7.7 網(wǎng)頁之間變量的傳值問題365 系統(tǒng)運行與測試375.1 系統(tǒng)部署375.2系統(tǒng)測試375.2.1登錄測試375.2.2互動管理測試395.2.3舉報管理測試405.2.4修改教師測試41總 結43致 謝44參考文獻45附錄A 英文附錄46附錄B 中文附錄58附錄C 主要程序清單66V沈陽理工大學學士學位論文1 緒論1.1 開發(fā)背景21世紀將是知識經(jīng)濟時代,以知識和信息的生產(chǎn)、傳播和應用為基礎的知識經(jīng)濟將占世界經(jīng)濟發(fā)展的主導地位。隨著現(xiàn)代科學技術的飛速發(fā)展,世界范圍內(nèi)的信息化浪潮勢不可擋,迅速延伸到國防

13、、科研、經(jīng)濟等各個領域,也不可避免地改變著傳統(tǒng)的教育模式信息和教育相結合毫無疑問地成為了當今世界教育改革和發(fā)展的有機組成部分,而當前蓬勃發(fā)展的以計算機和網(wǎng)絡為主導的現(xiàn)代信息技術是教育現(xiàn)代化必不可少的技術基礎。 校園師生交流系統(tǒng)是為師生提供教學、科研和綜合信息服務的寬帶網(wǎng)絡。校園網(wǎng)內(nèi)各計算機通過局域網(wǎng)進行連接,實現(xiàn)網(wǎng)絡信息管理、信息交流等。建設校園師生交流系統(tǒng)是現(xiàn)代教育制度發(fā)展的必然要求。校園師生交流系統(tǒng)應具有三大中心即學生中心,教師中心,管理中心。1.2 課題現(xiàn)狀校園師生系統(tǒng)的設計與實現(xiàn)是一項系統(tǒng)工程,要想科學、經(jīng)濟、實用地建設好校園師生交流系統(tǒng),應該在具備一定理論認識、一定資源的條件、一定師

14、資的前提下,處理好以下幾個關系:實用性與可擴充性的關系,硬件建設與管理開發(fā)的關系,網(wǎng)絡建設與隊伍建設的關系,按照“統(tǒng)籌規(guī)劃,分步實施”的指導原則,提高校園師生系統(tǒng)建設的功能與效益。網(wǎng)絡是信息化社會的重要物質(zhì)基礎,網(wǎng)絡無處不在,人類的活動將在很大程度上依賴于網(wǎng)絡。而新世紀的教育也離不開網(wǎng)絡,基于網(wǎng)絡的教育模式?jīng)_擊著傳統(tǒng)的教育模式,將成為新世紀的主流教育形式。1.3 研究內(nèi)容信息化的教學環(huán)境拓寬了學生接受知識的渠道。學生不僅可以從傳統(tǒng)的教學環(huán)境,即三中心教學模式(以教師、課堂和書本為中心的模式)中學習知識,而且還可以從網(wǎng)上進行學習或討論。這樣即從集體學習向個體化學習模式發(fā)展,學生通過計算機進教室,

15、通過校園師生交流系統(tǒng)與教師進行討論學習,使學生成為學習的主體,教師成為學生學習的指導者和幫助者。學生的學習過程已不再是被動地接受知識,而包含有更多的創(chuàng)造性活動內(nèi)容,因而實際上形成了以學生為中心的個體化學習模式。一些基礎比較差的同學因為覺得問題不夠有深度,不敢直接問老師,通過交流系統(tǒng),只有老師和自己看到問題,更加具有隱私化。使同學不會因為不會兒更不會。1.4論文結構在論文的組織結構部分:論文首先從開發(fā)背景、網(wǎng)站概況及發(fā)展趨勢進行闡述,然后描述了論文的意義,最后介紹了整篇論文的組織結構。接著介紹本課題項目開發(fā)過程中所用到的技術背景。簡單描述了軟硬件的配置情況。系統(tǒng)的需求分析,從系統(tǒng)的功能需求分析入

16、手,通過數(shù)據(jù)流圖和UML圖更直觀的對系統(tǒng)功能做進一步的分析,為之后的系統(tǒng)實現(xiàn)做好準備。然后系統(tǒng)的設計與MVC的實現(xiàn),通過數(shù)據(jù)庫和核心模塊來對系統(tǒng)進行介紹,在其中附上了核心代碼作為參考。接著系統(tǒng)的測試,闡述系統(tǒng)模塊測試的關鍵工作。最后對課題仍存在的問題及不足做了總結和致謝,為之后的工作總結經(jīng)驗。712 技術背景2.1 Oracle數(shù)據(jù)庫介紹2.1.1發(fā)展Oracle Database,又名Oracle RDBMS,或簡稱Oracle。是甲骨文公司的一款關系數(shù)據(jù)庫管理系統(tǒng)。到目前仍在數(shù)據(jù)庫市場上占有主要份額。勞倫斯·埃里森和他的朋友,之前的同事Bob Miner和Ed Oates在197

17、7年建立了軟件開發(fā)實驗室咨詢公司(SDL,Software Development Laboratories)。2.1.2功能ORACLE數(shù)據(jù)庫系統(tǒng)是美國ORACLE公司(甲骨文)提供的以分布式數(shù)據(jù)庫為核心的一組軟件產(chǎn)品,是目前最流行的客戶/服務器(CLIENT/SERVER)或B/S體系結構的數(shù)據(jù)庫之一。比如SilverStream就是基于數(shù)據(jù)庫的一種中間件。ORACLE數(shù)據(jù)庫是目前世界上使用最為廣泛的數(shù)據(jù)庫管理系統(tǒng),作為一個通用的數(shù)據(jù)庫系統(tǒng),它具有完整的數(shù)據(jù)管理功能;作為一個關系數(shù)據(jù)庫,它是一個完備關系的產(chǎn)品;作為分布式數(shù)據(jù)庫它實現(xiàn)了分布式處理功能。但它的所有知識,只要在一種機型上學習了O

18、RACLE知識,便能在各種類型的機器上使用它。2.1.3特性1、完整的數(shù)據(jù)管理功能:1)數(shù)據(jù)的大量性;2)數(shù)據(jù)的保存的持久性;3)數(shù)據(jù)的共享性;4)數(shù)據(jù)的可靠性。2、完備關系的產(chǎn)品:1)信息準則-關系型DBMS的所有信息都應在邏輯上用一種方法,即表中的值顯式地表示;2)保證訪問的準則;3)視圖更新準則-只要形成視圖的表中的數(shù)據(jù)變化了,相應的視圖中的數(shù)據(jù)同時變化;4)數(shù)據(jù)物理性和邏輯性獨立準則。3、分布式處理功能:ORACLE數(shù)據(jù)庫自第5版起就提供了分布式處理能力,到第7版就有比較完善的分布式數(shù)據(jù)庫功能了,一個ORACLE分布式數(shù)據(jù)庫由ORACLERDBMS、SQL*Net、SQL*CONNEC

19、T和其他非ORACLE的關系型產(chǎn)品構成。34、用ORACLE能輕松的實現(xiàn)數(shù)據(jù)倉庫的操作。優(yōu)點1) 可用性強;2) 可擴展性強;3) 數(shù)據(jù)安全性強。2.2 MyEclipse開發(fā)工具介紹MyEclipse企業(yè)級工作平臺(MyEclipseEnterprise Workbench ,簡稱MyEclipse)是對EclipseIDE的擴展,利用它我們可以在數(shù)據(jù)庫和JavaEE的開發(fā)、發(fā)布以及應用程序服務器的整合方面極大的提高工作效率。它是功能豐富的JavaEE集成開發(fā)環(huán)境,包括了完備的編碼、調(diào)試、測試和發(fā)布功能,完整支持HTML,Struts,JSP,CSS,Javascript,Spring,SQ

20、L,Hibernate。2.2.1 MyEclipse的分類在結構上,MyEclipse的特征可以被分為7類:1)JavaEE模型;2)WEB開發(fā)工具;3)EJB開發(fā)工具;4)應用程序服務器的連接器;5)JavaEE項目部署服務;6)數(shù)據(jù)庫服務;7)MyEclipse整合幫助。對于以上每一種功能上的類別,在Eclipse中都有相應的功能部件,并通過一系列的插件來實現(xiàn)它們。MyEclipse結構上的這種模塊化,可以讓我們在不影響其他模塊的情況下,對任一模塊進行單獨的擴展和升級。簡單而言,MyEclipse是Eclipse的插件,也是一款功能強大的JavaEE集成開發(fā)環(huán)境,支持代碼編寫、配置、測試

21、以及除錯,MyEclipse5.5以前版本需先安裝Eclipse。MyEclipse5.5以后版本安裝時不需安裝Eclipse。2.2.2 MyEclipse的使用此次畢業(yè)設計采用MyEclipse8.5工具來搭建開發(fā)環(huán)境,完成整個項目。MyEclipse 功能強大,是一款十分優(yōu)秀的,深受廣大java程序員好評的開發(fā)軟件。MyEclipse 是一個用于開發(fā)java和j2ee的eclipse組件的集合,并且它的支持非常廣泛,特別是對各類開源產(chǎn)品的支持非常不錯。MyEclipse Enterprise Workbench 即MyEclipse企業(yè)級工作平臺,簡稱MyEclipse,是對Eclips

22、eIDE的擴展,使用它可以讓我們在j2ee和數(shù)據(jù)庫的開發(fā),發(fā)布,和服務器的部署上面提高很大的工作效率。MyEclipse包含了一套完整的項目開發(fā)框架的搭建,運行,調(diào)試,還有發(fā)布服務器功能等,并且支持JSP,Servlet,js,CSS,JQuery,SQL以及現(xiàn)在比較流行的三大框架struts,spring,Hibernate。因此,簡而言之,MyEclipse的本質(zhì)其實就是Eclipse的一個組件,是一個功能非常強大的java,j2ee集成開發(fā)平臺,并且它能支持一套完整的編碼、配置、調(diào)試、測試和發(fā)布功能。利用MyEclipse可以完成各種軟件開發(fā)工作。2.3 TOMCAT服務器介紹此次畢業(yè)設

23、計所采用的是Tomcat服務器,項目部署在Tomcat服務器上運行,然后客戶端瀏覽器通過網(wǎng)址,訪問網(wǎng)站。Tomcat是一個開源而且免費的jsp服務器,它是apache的一個核心項目,由多個公司和個人聯(lián)合共同開發(fā)完成的一個服務器。并且因有了Sun公司的介入,Tomcat可以運行剛出來的jsp和servlet最新規(guī)范。因為Tomcat功能完善、而且是開源,免費的,所以深受目前大部分java程序開發(fā)人員的喜愛,獲得了很多公司的稱贊和發(fā)揚,因此成為市面上軟件開發(fā)人員用的最多的服務器。Tomcat服務器深受目前大部分程序開發(fā)人員的喜歡其中當然也包括我,因為Tomcat啟動的時候它所運用到的系統(tǒng)資源很小,

24、而且可以擴展的方面也很好,并能夠支持郵件服務與負載平衡等應用開發(fā)系統(tǒng)中常用的功能,最重要的是Tomcat還一直在不停的修改和完善之中,所以只要你對它感興趣,并且你是個程序員,你都可以更改它在里面加新功能。Tomcat服務器是一個功能完善,并且規(guī)模比較小的服務器,所以在很多項目不是很大或者用戶在同一段時間訪問不是很多前提下,Tomcat是最好的選擇,是對JSP/SERVLET 程序進行開發(fā)和測試的首選。對于一個剛進入開發(fā)工作的人員來說,可以這么認為,當在你的電腦上配置好Tomcat服務器的時候,可利用它響應對JSP頁面的訪問請求。42.4 MVC框架介紹此次畢業(yè)設計所采用的是MVC開發(fā)框架。MV

25、C中的model模型對應的是entity實體和DAO方法,view視圖對應的是JSP,controller控制器Servlet。MVC實現(xiàn)的原理是:通過JSP發(fā)出請求后,由Servlet接收請求,然后Servlet判斷該請求的功能是什么,接著調(diào)用DAO中相應的方法去處理,這個時候會就用到MODE里面entity的數(shù)據(jù)和DAO方法,當經(jīng)過Servlet處理完成后可以得到相應的結果,并由Servlet決定讓哪個視圖來顯示。MVC是一個典范的軟件開發(fā)框架,其中JSP技術加上Servlet技術再加上JavaBean的技術是最經(jīng)典的MVC開發(fā)模式。它的目的是將model和view實現(xiàn)代碼分離。三個組件:

26、模型(model)、視圖(view)、控制器(controller),它們都在各自處理自己的事情。 視圖:即view,是呈現(xiàn)給用戶看的并讓用戶操作的界面,本次畢業(yè)設計采用的是JSP頁面來提供用戶輸入,系統(tǒng)輸出。模型:即mode,表示系統(tǒng)的數(shù)據(jù)(entity)和操作的方法(DAO),用來處理業(yè)務??刂破鳎杭碿ontroller,用來協(xié)調(diào)處理view 和model,他本身不做人任何的輸出和處理,只是當用戶發(fā)送請求后,由Servlet接受,然后Servlet進行處理調(diào)用DAO方法是entity實體,最后將響應返回給JSP顯示。4開發(fā)工具采用MyEclipse 8.5實用開發(fā)軟件與Oracle數(shù)據(jù)庫,

27、系統(tǒng)設計采用MVC框架。其中:(1)model對應的是entity實體和DAO方法 包括:舉報信息(BbTlAccusation),課程(Course),互動(Interact),用戶(User)4個實體和4個實體對應的DAO的增刪改查的方法。 (2)view對應的為JSP技術,主要用于頁面的展示,包括前臺用戶登錄,創(chuàng)建互動,互動詳細信息,查詢教師等都是用JSP頁面顯示。(3)controllert對應的是Servlet技術,主要用來處理業(yè)務邏輯,JSO發(fā)出請求后,由Servlet接收請求,然后Servlet判斷該請求的功能是什么,接著調(diào)用service層中相應的DAO層方法方法去處理,這個時

28、候會就用到model里面entity的數(shù)據(jù)和DAO方法,當經(jīng)過Servlet處理完成后可以得到相應的結果,并由Servlet決定讓哪個視圖來顯示。綜上所述,本系統(tǒng)運用J2EE中的相關技術JSP,Servlet等開發(fā)完成一個供用戶瀏覽和分享電影信息的網(wǎng)站。其中頁面展現(xiàn)方式運用了JavaScript和div+CSS等技術。2.5 JSP技術介紹 此次畢業(yè)設計采用的是JSP頁面展示技術。包括用戶登錄,學生首頁顯示,學生互動顯示,學生互動詳情頁面,創(chuàng)建互動以及教師首頁顯示,教師互動顯示,教師互動詳情頁面,教師查詢都是用JSP頁面完成的。JSP是一種動態(tài)建立網(wǎng)站的技術,它實現(xiàn)了HTML語法中的java擴

29、張,它的根本其實就是Servlet的簡化設計。JSP編譯以后就是轉(zhuǎn)換成HTML,然后呈現(xiàn)給用戶的客戶端瀏覽器查看,所以這樣只要用戶裝個瀏覽器就可以查看界面了。當tomcat接受JSP網(wǎng)頁請求并進行編譯的時候,它首先執(zhí)行的其實是JSP頁面里面程序員所寫的java代碼,然后把最后的結果編譯結果呈現(xiàn)給用戶。其中里面插入的java代碼程序段可以實現(xiàn)對數(shù)據(jù)庫的各種操作。6JSP九大內(nèi)置對象是:request,response,session,application,out,page,config,exception,pageContext。相對于其他頁面技術,比如ASP,ASP是微軟出的動態(tài)web語言,

30、但是它是綁定在微軟平臺下的,所以它只能夠在windows下使用,因此可移植性不高,開發(fā)工具為微軟提供的Microsoft Visual Studio。還有PHP,PHP是近年來web動態(tài)開發(fā)的新星,因為它是開源的,并且完全免費,而且語法簡單,入門容易,安全性能也好,可移植性高,所以它的出現(xiàn),受到很多人的喜歡,成為了現(xiàn)在國內(nèi)一個比較主流的web開發(fā)語言。而JSP,JSP是相對于java來說的,它要求比較高,所以比較適合大項目,開發(fā)工具為:MyEclipse。2.6 SERVLET技術介紹 此次畢業(yè)設計還采用了Servlet技術。Servlet是在服務端運行的,是一個java小程序,它其實就是一個

31、java類。Servlet用來協(xié)調(diào)頁面展示技術(即視圖)和模型,Servlet主要是用來做用戶發(fā)送請求的邏輯處理,然后將響應返回給客戶端瀏覽器展現(xiàn)。Servlet的生命周期3個階段,分別為:初始化,運行,銷毀。其中Servlet的初始化發(fā)生一次,銷毀階段也只發(fā)生一次,而service方法使用的次數(shù)主要由Servlet被訪問的次數(shù)決定。7Servlet執(zhí)行的原理是:通過JSP發(fā)出請求后,由Servlet接收請求,然后Servlet判斷該請求的功能是什么,接著調(diào)用DAO中相應的方法去處理,這個時候會就用到mode里面entity的數(shù)據(jù)和DAO方法,當經(jīng)過Servlet處理完成后可以得到相應的結果,

32、并由Servlet決定讓哪個視圖來顯示。8Servlet控制器和頁面展示技術JSP的根本區(qū)別就是:1)JSP經(jīng)編譯后就是Servlet,也可以說JSP等于Servlet。2)JSP主要是用來做界面展現(xiàn)用的,而Servlet用來協(xié)調(diào)視圖跟模型的。 3)Servlet主要是用來做邏輯處理,經(jīng)過處理后由JSP來呈現(xiàn)。4)JSP位于MVC設計模式的視圖層,而Servlet位于控制層。2.7開發(fā)環(huán)境 操作系統(tǒng):Windows平臺 ; 開發(fā)工具:MyEclipse;數(shù)據(jù)庫:Oracle ;服務器:Tomcat ;瀏覽器:IE9,google瀏覽器等;設計相關的jar包:Oracle5.jar:連接Orac

33、le數(shù)據(jù)庫的驅(qū)動。3 系統(tǒng)設計3.1需求分析3.1.1前期工作用戶需求描述用戶使用產(chǎn)品必須要完成的任務。只有滿足了用戶的需求,這樣才有他存在的價值。通過調(diào)查設計了一款基于三層架構,面向?qū)ο蟮腏2EE的校園師生交流系統(tǒng)。系統(tǒng)主要有三個模塊(1) 學生功能需求;(2) 教師功能需求;(3)管理員功能需求。3.1.2 用例圖(1) 學生的用例圖,如圖3.1 a、 互動:學生登入系統(tǒng)后,創(chuàng)建互動,查找到你想要提問的教師,進行提問; b、 評價:對于教師對問題的回復可以進行評價; c、 舉報:一旦教師超過7天沒有進行回復可以進行舉報; d、 刪除互動:可以刪除自己創(chuàng)建的互動,但是已經(jīng)恢復的互動不能刪除。

34、圖3.1 學生的用例圖(2) 教師的用例圖,如圖3.2: a、 回復互動:對學生對教師的提問進行回答; b、 舉報互動:對學生提的不合理的問題進行舉報。 c、 修改互動:老師對回復內(nèi)容進行補充或修改。 d、 查看互動:老師查看互動內(nèi)容。 e、 刪除互動:對不滿意互動進行刪除。 圖3.2 教師的用例圖(3)管理員的用例圖,如圖3.3: a、 對學生教師進行增刪改; b、 查看舉報信息,可以進行刪除; c、 對互動信息進行刪除。圖3.3 管理員用例圖3.3概要設計師生交流系統(tǒng)主要有三個模塊:學生模塊,教師模塊和管理員模塊。(一)學生功能需求: 1)互動:學生登入系統(tǒng)后,創(chuàng)建互動,查找到你想要提問的

35、教師,進行提問; 2)評價:對于教師對問題的回復可以進行評價; 3)舉報:一旦教師超過7天沒有進行回復可以進行舉報; 4)刪除互動:可以刪除自己創(chuàng)建的互動,但是已經(jīng)恢復的互動不能刪除; 5)修改互動詳細信息; 6)修改舉報信息; 7)查找教師。(二)教師功能需求: 1)回復互動:對學生進行的提問進行回復; 2)修改回復信息; 3)舉報互動:學生所問問題并不適宜,可以進行舉報; 4)修改舉報信息; 5)刪除互動。三、管理員功能需求: 1)對學生教師進行增刪改; 2)查看舉報信息,可以進行刪除,互動也可以刪除。功能模塊介紹圖,如圖3.4:圖3.4 功能模塊圖3.4數(shù)據(jù)庫的設計在進行需求分析以后明確

36、了該網(wǎng)站主要實現(xiàn)的功能和模塊,因此下面對系統(tǒng)開發(fā)所用到的數(shù)據(jù)庫進行設計。本設計主要使用oracle關系數(shù)據(jù)庫進行數(shù)據(jù)的設計,因為系統(tǒng)各個模塊功能(包括管理員管理,學生互動管理,教師互動管理)實現(xiàn)增刪改查的時候要多次連接到數(shù)據(jù)庫,因此開發(fā)的時候?qū)懥艘粋€連接數(shù)據(jù)庫的工具類 JdbcUtil,用來返回數(shù)據(jù)庫連接和釋放連接資源,連接數(shù)據(jù)庫采用JDBC方式。整個系統(tǒng)的用戶名為:hr密碼為:hr整個系統(tǒng)共有5張表,分別為interact_23cl,bb_tl_accusation ,user_23cl,course_23cl,course_user_23cl下面進行詳細說明:圖3.5 數(shù)據(jù)類圖(1) 互動

37、表(interact_23cl),如表3.6:表3.6 互動表列名類型可否為空列名注釋interact_id integer 主鍵/NOT NULL互動IDinteract_name varchar2(50)NOT NULL互動標題interact_detail varchar2(2000)NULL互動詳細內(nèi)容flag_answer char(1)NULL是否回復answer_content varchar2(2000)NULL回答內(nèi)容flag_estimate char(1)NULL是否評價estimate_content varchar2(2000)NULL評價內(nèi)容tuid integer

38、NULL老師idsid integerNULL學生idcreate_date dateNULL互動創(chuàng)建時間answer_time dateNULL回復時間answer_time dateNULL評價時間flag_teacher_accusation char(1)NULL老師是否舉報flag_student_accusation char(1)NULL學生是否舉報(2)用戶表(user_23cl):其中該系統(tǒng)只有一個管理員,帳號為admin,密碼為admin。教師和學生同在用戶表中。包括學生,教師,管理員所有用戶,登錄時通過servlet來區(qū)分是教師還是學生,還是管理員,如表3.7:表3.7

39、用戶表列名類型可否為空列名注釋user_id integer 主鍵/NOT NULL用戶IDusername varchar2(50)NOT NULL用戶名password varchar2(50)NOT NULL用戶密碼realname varchar2(10)NULL真實姓名department varchar2(50)NULL院系(3)課程表(course_23cl):學校所有的課程,如表3.8:表3-8 課程表列名類型可否為空列名注釋course_id number(5)主鍵/NOT NULL課程IDcourse_name nvarchar2(50)NOT NULL課程名(4) 課程關

40、系表(course_user_23cl):教師用戶所教的課程,如表3.9:表3.9 課程關系表列名類型可否為空列名注釋u_id integer 主鍵/外鍵/NOT NULL用戶IDc_id integer 主鍵/外鍵/NOT NULL課程ID(5) 舉報信息表(bb_tl_accusation):學生舉報和教師舉報的信息,如表3.10:表3.10 舉報信息表列名類型可否為空列名注釋accusation_idinteger 主鍵/NOT NULL舉報IDteacher_accusation_contentvarchar2(2000)NULL老師舉報內(nèi)容student_accusation_con

41、tentvarchar2(2000)NULL學生舉報內(nèi)容i_idinteger 外鍵/NOT NULL舉報的互動idstudent_accusation_timedateNULL學生舉報時間teacher_accusation_timedateNULL老師舉報時間3.5數(shù)據(jù)庫表與對應實體類設計設計完數(shù)據(jù)庫表,將數(shù)據(jù)表整體內(nèi)容對應的設計封裝成相應的對象有利于調(diào)用和源代碼的開發(fā)。在這里我們采用典型的E-R進行表述。用戶ID 用戶表用戶ID 外鍵約束 對應課程表course_23cl用戶ID用戶ID 用戶表與課程關系表用戶ID 對應用戶與課程關系表course_user_23cl 外鍵約束 用戶名

42、密碼用戶ID 用戶表 真名 院系對應用戶表user_23cl用戶表bb_tl_accusation用于存放老師舉報和學生互動的信息內(nèi)容?;訕祟}詳細內(nèi)容 互動ID老師舉報學生院系學生舉報老師院系是否回復老師名稱 互動表學生名稱回復內(nèi)容評價時間是否評價評價內(nèi)容回復時間創(chuàng)建時間 老師ID 學生ID學生評分 對應用戶表bb_tl_accusation用于存放老師舉報和學生舉報的信息內(nèi)容。舉報ID學生舉報內(nèi)容老師舉報內(nèi)容 舉報表學生舉報時間老師舉報時間互動標題 3.6系統(tǒng)文件夾組織結構設計在開發(fā)程序之前,可以把系統(tǒng)中可能用到的文件夾先創(chuàng)建出來(例如,如何分層,如何分類CSS、JS的文件夾),這樣不僅可

43、以方便以后的程序開發(fā)工作,也可以規(guī)范網(wǎng)站的整體結構,方便于日后的維護。在開發(fā)“互動系統(tǒng)”時,設計如圖所示的文件夾架構圖。在開發(fā)時,只需要將創(chuàng)建的文件保存在相應的文件夾中即可。 4 詳細設計4.1 編寫連接數(shù)據(jù)庫工具類在com.zpark.soft.tool包下有一個叫JavaTool.java的工具類。該類主要是負責加載數(shù)據(jù)庫連接驅(qū)動程序,以及創(chuàng)建連接和關閉連接。為了最大程度地應用每一個已經(jīng)創(chuàng)建的數(shù)據(jù)庫連接,這里將其保存到了TreadLocal類的對象中。如果數(shù)據(jù)庫不存在,還負責建立數(shù)據(jù)庫,同時加入連接池保證多用戶同時訪問數(shù)據(jù)庫,減少創(chuàng)建連接負擔,提高性能。 首先在數(shù)據(jù)庫連接累中定義一些常量,

44、包括連接數(shù)據(jù)庫使用的驅(qū)動程序、連接數(shù)據(jù)庫的路徑,并且定義一個TreadLocal類的對象,用來保存已經(jīng)創(chuàng)建的數(shù)據(jù)庫連接。具體代碼如下:/ 批處理public static final int batchSize;/ 讀取配置文件 , 避免修改Java源代碼private static Properties prop = new Properties();/ 定義中介接口 用泛型定義類型 泛型是用來表示要存取的對象類型private static ThreadLocal<Connection> t1 = new ThreadLocal<Connection>();然后編寫

45、用來加載數(shù)據(jù)庫驅(qū)動程序的代碼。通常情況下將其放到靜態(tài)代碼塊中,這樣做的好處是只是在該類第一次被加載(即第一次被調(diào)用)時執(zhí)行加載數(shù)據(jù)庫驅(qū)動程序以及創(chuàng)建數(shù)據(jù)庫的動作,避免了反復加載數(shù)據(jù)庫驅(qū)動程序,或者是反復判斷數(shù)據(jù)庫是否已經(jīng)存在,從而提高軟件的性能。具體代碼如下:static InputStream is = null;try is = JavaTool.class.getResourceAsStream("/com/zpark/soft/conf/perties");prop.load(is); / 讀取配置文件中的內(nèi)容至Properties對象batchSi

46、ze = Integer.valueOf(prop.getProperty("batchSize"); catch (Exception e) throw new RuntimeException(e); finally if (is != null) try is.close(); catch (Exception e) e.printStackTrace(); 編寫用來創(chuàng)建連接和關閉數(shù)據(jù)庫連接的方法。這里將這兩個方法均定義為靜態(tài)的,這樣通過類名就可以調(diào)用方法,方便調(diào)用。在這兩個方法中首先TreadLocal類的對象中獲得連接,然后判斷是否存在可用的數(shù)據(jù)庫連接,在判斷連接

47、池的狀態(tài),判斷是否要從連接池中獲得連接還是重新創(chuàng)建鏈接。然后在執(zhí)行如果連接存在則直接返回或關閉連接,否則重新建立連接。具體代碼如下:/獲得連接方法public static Connection getConnection() Connection conn = null;try conn = t1.get(); / 從當前線程中獲得存儲的connif (conn = null) / 第一次,線程中還沒有connif (Boolean.valueOf(prop.getProperty("useDataSource") / 使用連接池創(chuàng)建創(chuàng)建Context context =

48、 new InitialContext();DataSource ds = (DataSource) context.lookup("java:/com/env/jdbc/myoracle");conn = ds.getConnection();/ 使用原始辦法,直接從數(shù)據(jù)庫獲得連接 else Class.forName(prop.getProperty("classforname");/ 創(chuàng)建新連接conn=DriverManager.getConnection(prop.getProperty("drivermanagergetconnec

49、tion"),prop.getProperty("username"), prop.getProperty("password");t1.set(conn);/ 存儲conn至當前線程return conn; catch (Exception e) e.printStackTrace();throw new RuntimeException(e);/ 保留原始異常的信息/ 在DAO層關閉的方法public static void close(PreparedStatement stmt, ResultSet rs) if (rs != null

50、) try rs.close(); catch (SQLException e) if (stmt != null) try stmt.close(); catch (SQLException e) / 關閉連接時,應當從當前線程清除 原先存儲的conn/ 在業(yè)務層中關閉的連接public static void closeConnection() Connection conn = t1.get();/ 取得當前線程的connif (conn != null) try conn.close();/ 關閉連接 catch (SQLException e) e.printStackTrace()

51、;t1.set(null);/ 從當前線程清除conn4.2 界面設計<%page pageEncoding="gbk" contentType="text/html; charset=gbk" %><%page isELIgnored="false" %><%taglib prefix="c" uri=" %><html lang="zh"> <meta name="content-type" content=

52、"text/html; charset=GBK"><meta name="author" content="1003030123 馬傳蘇" /><meta name="Copyright" content="Copyright (c) 2014 | 1003030123" /> <head> <title>我的全部互動</title> 基于J2EE的師生交流系統(tǒng),要求界面友好,美觀,讓用戶更方便使用。 用戶登錄網(wǎng)站,首先展示在面前

53、的就是網(wǎng)站的界面風格,一個好的界面風格對用戶的體驗起著至關重要的作用。在進行系統(tǒng)開發(fā)的時候,頁面展示這塊主要使用JSP技術來完成,包括前臺用戶登錄,首頁顯示,互動顯示,詳情頁面,修改互動信息,添加用戶,查看用戶,修改用戶,查看舉報等都是用JSP頁面完成的。4.3 管理員模塊設計與實現(xiàn)管理員模塊完成的主要功能是后臺:添加用戶(包括學生和教師),查看用戶信息(包括修改學生信息,刪除學生,修改教師信息,刪除教師),管理員登錄后臺管理系統(tǒng)。具體的MVC實現(xiàn)過程包括以下部分,如圖4.1:5、響應返回1、發(fā)送請求2、調(diào)用3、調(diào)用user實體adminService層方法adminDao層方法admin:

54、servlet4、調(diào)用admin: jsp 圖4.1 管理員MVC實現(xiàn)過程 管理員通過系統(tǒng)的登錄界面(login.jsp)進入到后臺管理系統(tǒng),然后當前登錄成功的管理員的名稱會顯示在管理員主界面的上方,管理員通過點擊導航欄,來實現(xiàn)對各個的模塊的管理,如圖4.2。圖4.2 后臺管理系統(tǒng)的主界面(舉報信息)管理員模塊的導航條共有6項內(nèi)容,下面進行一一說明。(1) 首頁(/bb/common/QueryAllInteractAction) 此頻道是連接至管理員登陸后的主頁;顯示所有被學生或教師舉報的互動,可以刪除互動,可以查看舉報詳細信息,然后選擇刪除舉報。(2) 關于(about.jsp)顯示系統(tǒng)的主要是做什么;(3) 聯(lián)系我們(contact.jsp)聯(lián)系我們的方式;(4) 學生管理添加學生(/bb/admin/createUser.jsp?from=student)修改和刪除學生(/bb/common/QueryAllTeacherOrStudent?

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論