畢業(yè)論文-JSP精品課程網站_第1頁
畢業(yè)論文-JSP精品課程網站_第2頁
畢業(yè)論文-JSP精品課程網站_第3頁
畢業(yè)論文-JSP精品課程網站_第4頁
畢業(yè)論文-JSP精品課程網站_第5頁
已閱讀5頁,還剩50頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、 太原理工大學畢業(yè)設計(論文)用紙 緒論1.1 選題目的在Internet飛速發(fā)展的今天,互聯網成為人們快速獲取、發(fā)布和傳遞信息的重要渠道,它在人們政治、經濟、生活等各個方面發(fā)揮著重要的作用。Internet上發(fā)布信息主要是通過網站來實現的,獲取信息也是要在Internet“海洋”中按照一定的檢索方式將所需要的信息從網站上下載下來。因此網站建設在Internet應用上的地位顯而易見,它已成為政府、企事業(yè)單位信息化建設中的重要組成部分,從而倍受人們的重視。為了更好的辦學,增強學生和學校的互動性,加強學生與老師之間的溝通以及同學之間的交流和探討,給老師和學生提供一個教與學交流、共享資源的平臺,以達

2、到更好的教學效果,特構建一個基于struts及ajax技術的J2EE精品課程網站。精品課程網站就其表現形式看就是充分運用多媒體技術和web技術在web上建立一個全新的教學模式,可實現在線交流、資源的下載和共享。 (1)充分運用網絡課程資源 近年來,網絡課程資源越來越豐富,輔助教學的作用越來越突出。網絡課程資源大致有三方面的內容,在輔助教學活動中的作用各有側重。第一方面包括“課程介紹和教學內容”等項目,這些項目介紹了本課程的性質、特征、目的與任務及相關要求,以及本課程的教學內容、教學計劃、教學進度安排,有助于校內外師生對本課程有一個概略的了解,便于學生從中理解學習本課程的目的、意義和方法。第二方

3、面包括“電子講義、多媒體教案、動畫演示”等項目,這些項目提供了優(yōu)質教學資料,實現了文字與圖的有機結合。第三方面包括“作業(yè)習題、上機實踐、課程設計”等項目,這些項目對于課堂延伸、加強學生課后練習和上級實踐環(huán)節(jié)、檢測自己的學習效果等具有重要作用。(2)改進教學體系 本課程是一門實踐性很強的課程,深刻理解數據庫的各種概念需要豐富的實踐經驗。所以,要以培養(yǎng)基礎扎實、實踐動手能力強的高素質創(chuàng)新人才為目標,在大量調查研究的基礎上,確定全新的教學體系。 (3)有效激發(fā)學生的自主學習意識,培養(yǎng)創(chuàng)新精神。 在精品課程中,加大了教學過程中使用信息技術的力度,為學生主動自主學習創(chuàng)造條件。面對知識的迅猛增長和加速更新

4、,利用網絡充實自己必將成為今后個體發(fā)展的途徑之一,自主學習能力也將越來越體現在網絡學習之中,促進高校學生自主學習能力培養(yǎng)為目的,對精品課程網絡學習進行設計,可以作為學校教育中以課堂為主培養(yǎng)自主學習能力的有益補充,同時也對學生的創(chuàng)新能力起到不容忽視的作用。1.2 課題意義1.2.1 有利于基礎知識的理解 通過初中信息技術必修部分的學習,學生掌握了一些信息時代生存與發(fā)展必需的信息技術基礎知識和基本技能,具備了在日常生活與學習中應用信息技術解決問題的基本態(tài)度與基本能力。但是,學生對于程序、病毒的內涵,程序與文檔、數據的區(qū)別,計算機運行的機理等知識內容的理解比較膚淺。學生如果接觸了程度設計,就能真正理

5、解,從而進一步打破計算機的神秘感。 1.2.2 有利于邏輯思維的鍛煉 在許多常規(guī)學科的日常教學中,我們不難發(fā)現這樣一個現象,不少學生的思維常常處于混亂的狀態(tài)。寫起作文來前言不搭后語,解起數學題來步驟混亂,這些都是缺乏思維訓練的結果。程序設計是公認的、最能直接有效地訓練學生的創(chuàng)新思維,培養(yǎng)分析問題、解決問題能力的學科之一。即使一個簡單的程序,從任務分析、確定算法、界面布局、編寫代碼到調試運行,整個過程學生都需要有條理地構思,這中間有猜測設想、判斷推理的抽象思維訓練,也有分析問題、解決問題、預測目標等能力的培養(yǎng)。 1.2.3 有利于與其他學科的整合 在程序設計中,我們可以解決其它學科有關問題,也利

6、用其它課程的有關知識來解決信息技術中比較抽象很難理解的知識。在信息技術課中整合其它學科的知識,發(fā)揮信息技術的優(yōu)勢。例如,在編寫“一元二次方程求解”程序時,就復習了數學的相關知識。而在講解邏輯運算的知識時,我們又可以利用物理中的電路知識進行講解,起到意想不到的效果。 1.2.4 有利于治學態(tài)度的培養(yǎng)程序設計中,語句的語法和常量變量的定義都有嚴格的要求,有時輸了一個中文標點、打錯了一個字母,編譯就不通過,程序無法正常運行。因此,程序設計初學階段,學生經常會犯這樣的錯誤,可能要通過幾次乃至十多次的反復修改、調試,才能成功,但這種現象會隨著學習的深入而慢慢改觀。這當中就有一個嚴謹治學、一絲不茍的科學精

7、神的培養(yǎng),又有一個不怕失敗、百折不撓品格的鍛煉。1.3 設計思想J2EE精品課程網站的宗旨是培養(yǎng)學生利用信息技術的意識和能力,促進信息技術與學科課程的整合,逐步實現教學內容的呈現方式、學生的學習方式、教師的教學方式和師生互動方式的變革,充分發(fā)揮信息技術的優(yōu)勢,為學生的學習和發(fā)展提供豐富多彩的教育環(huán)境和有力的學習工具,它的主要功能如下:一、能夠提供豐富的教學資料,方便學生學習;二、能夠為學科教師提供網站管理的能力,如學生的注冊,對網站的相關信息進行有效管理(增加、刪除、修改);三、能夠實現師生互動;四、能夠提供相關信息的下載,如教學資料、軟件、課件等;五、開辟學生論壇、教師答疑,供師生交流;六、

8、能夠提供一定的安全機制,提供數據信息的授權訪問,防止隨意刪改。1.4 可行性分析 可行性分析也稱為可行性研究,是在調查的基礎上,針對新系統的開發(fā)是否具備必要性和可能性,對新系統的開發(fā)從技術、經濟、社會等方面進行分析和研究,以避免投資失誤,保證新系統的開發(fā)成功??尚行匝芯康哪康木褪怯米钚〉拇鷥r在盡可能短的時間內確定問題是否能夠解決。下面將分別從技術、經濟、社會三個方面對精品課程網站的建設進行分析和研究。1.4.1 技術可行性 根據學校提出的系統功能、性能及實現系統的各種約束條件,根據新系統目標來衡量所需的技術是否具備,本系統是一個數據庫管理和查詢的系統,現有的技術已較為成熟,硬件、軟件的性能要求

9、、環(huán)境條件等各項條件良好,估計利用現有技術條件應完全可以達到該系統的功能目標。同時,考慮給予的開發(fā)期限也較為充裕,預計系統是可以在規(guī)定期限內完成開發(fā)的。 由以上分析可知,精品課程網站的開發(fā)在技術上是可行的。1.4.2 經濟可行性 學校具有信息化的處理設施,并且擁有支持本系統的應用平臺。因此無需再投入資金購買其他設施。 系統的開發(fā)基于本人對程序開發(fā)的實踐學習而來,學校無需資金投入,并且軟件開發(fā)過程投入的成本不高,因此開發(fā)經費完全可以接受。 由以上分析可知,精品課程網站在經濟上是可行的。1.4.3 社會可行性本系統的社會可行性主要從法律因素、用戶使用可行性兩方面進行研究。(1)法律因素本系統是根據

10、精品課程網站的實際情況開發(fā)研制的,是通過大量的調研得出的,系統的軟件設計是在獨立的環(huán)境下完成的,無可供抄襲的軟件產品。(2)用戶使用可行性本系統對用戶的要求,除了需要具備在MicrosoftWindows平臺上使用個人電腦的知識外,并不需要特別的技術能力。使用系統的管理員,需要具備對Tomcat服務器的使用能力,在投入使用前,無需對操作系統的人員進行培訓。這樣既減少投入成本又簡化了操作環(huán)節(jié)。 由以上分析可知,本系統具有社會可行性。1.5 總體設計原則本系統為了設計、實現和后期維護的方便,以及系統用戶使用的便利,所以必須采取一定的設計原則。其主要設計原則有: 簡單性:在實現系統的功能的同時,盡量

11、讓系統操作簡單易懂,這對于一個系統來說是非常重要的。 針對性:本系統設計是針對精品課程網教學的需求定向開發(fā)設計,所以具有專業(yè)突出和很強的針對性。 實用性:要求本系統能夠滿足精品課程網教學的需求,因此具有良好的實用性。 一致性:頁面整體設計風格以及命名規(guī)則的一致性:整體頁面布局和用圖用色風格及變量、類名和其他元素的命名規(guī)則保持一致。功能一致性:完成同樣的功能應該盡量使用同樣的元素。 元素風格一致性:界面元素的美觀風格、擺放位置在同一個界面和不同界面之間都應該是一致的。變量命名規(guī)則的一致性:變量應該用統一的規(guī)則進行命名,做到任意變量均能從上下文推斷其義。 先進性:本系統采用JSP技術、SQL Se

12、rver2005等被廣泛采用系統開發(fā)技術和數據庫,因此本設計具有良好的先進性,具體表現在其具有良好的可擴展性,可開發(fā)性。 2 系統環(huán)境和主要技術2.1 系統開發(fā)環(huán)境和工具開發(fā)環(huán)境采用 Windows7的操作系統,使用Eclipse和Tomcat 6.0服務器作為主要開發(fā)工具。開發(fā)環(huán)境硬件配置如下: HP6450b 處理器2.67GHz; 3.0G 內存; 500G IDE硬盤; 開發(fā)環(huán)境的數據庫服務器也使用本機作為服務器。本系統主要使用JSP、Struts技術對系統進行設計和開發(fā)。JSP擁有Java程序設計語言“一次編寫,各處執(zhí)行”、“安全性、保密性高”等的特點;Struts框架為開放者提供了

13、一個統一的標準框架,通過使用Struts作為基礎,開發(fā)者能夠更專注于應用程序的商業(yè)邏輯,Struts能充分滿足應用開發(fā)的需求,簡單易用,敏捷迅速。JSP技術使用Java編程語言編寫類XML的tags和scriptlets,來封裝產生動態(tài)網頁的處理邏輯。網頁還能通過tags和scriptlets訪問存在于服務端的資源的應用邏輯。JSP將網頁邏輯與網頁設計和顯示分離,支持可重用的基于組件的設計,使基于Web的應用程序的開發(fā)變得迅速和容易。Web服務器在遇到訪問JSP網頁的請求時,首先執(zhí)行其中的程序段,然后將執(zhí)行結果連同JSP文件中的HTML代碼一起返回給客戶。插入的Java程序段可以操作數據庫、重

14、新定向網頁等,以實現建立動態(tài)網頁所需要的功能。JSP與JavaServlet一樣,是在服務器端執(zhí)行的,通常返回給客戶端的就是一個HTML文本,因此客戶端只要有瀏覽器就能瀏覽。JSP的1.0規(guī)范的最后版本是1999年9月推出的,12月又推出了1.1規(guī)范。目前較新的是JSP1.2規(guī)范,JSP2.0規(guī)范的征求意見稿也已出臺。JSP頁面由HTML代碼和嵌入其中的Java代碼所組成。服務器在頁面被客戶端請求以后對這些Java代碼進行處理,然后將生成的HTML頁面返回給客戶端的瀏覽器。JavaServlet是JSP的技術基礎,而且大型的Web應用程序的開發(fā)需要JavaServlet和JSP配合才能完成。J

15、SP具備了Java技術的簡單易用,完全的面向對象,具有平臺無關性且安全可靠,主要面向因特網的所有特點。自JSP推出后,眾多大學校都支持JSP技術的服務器,如IBM、Oracle、Bea學校等,所以JSP迅速成為商業(yè)應用的服務器端語言。使用MicrosoftSQLServer2005數據庫作為后臺數據庫,SQLServer2005系統具有強大的網上功能,可以在互聯網上發(fā)布數據庫中的數據。在SQLServer2005系統中,允許用戶簡單的使用一些向導和工具把數據庫的數據發(fā)布到網絡上,并且可以根據需要來調度修改已經發(fā)布的數據。在大家所了解數據庫系統中,MicrosoftSQLServer2005,經

16、過三十多年的發(fā)展,已經成為最重要的數據處理技術,被廣泛應用到多種項目的開發(fā)與設計中,決定采用此數據庫系統來完成系統的設計。2.2 系統運行環(huán)境 根據系統的平臺無關性,開發(fā)過程中的易于測試與維護等特點,集服務器與客戶機于一體,均用本機作測試。運行環(huán)境使用SQL Server + Tomcat作為應用服務器。服務器運行環(huán)境如下: 服務器解譯引擎:Apache Tomcat/6.0.12; JDK版本:1.6.0_12; 服務器操作系統:Windows7; HTTP解譯引擎:HTTP/1.1; 服務器名(IP):localhost; 服務器端口:8888;2.3 Struts技術Struts最早是作

17、為Apache Jakarta項目的組成部分,項目的創(chuàng)立者希望通過對該項目的研究,改進和提高JavaServer Pages 、Servlet、標簽庫以及面向對象的技術水準。Struts這個名字來源于在建筑和舊式飛機中使用的支持金屬架。這個框架之所以叫Struts,是為了提醒我們記住那些支撐我們房屋,建筑,橋梁,甚至我們踩高蹺時候的基礎支撐。這也是一個解釋Struts在開發(fā)Web應用程序中所扮演的角色的精彩描述。當建立一個物理建筑時,建筑工程師使用支柱為建筑的每一層提供支持。同樣,軟件工程師使用Struts為業(yè)務應用的每一層提供支持。它的目的是為了幫助我們減少在運用MVC設計模型來開發(fā)Web應

18、用的時間。我們仍然需要學習和應用該架構,不過它將可以完成其中一些繁重的工作。如果想混合使用Servlets和JSP的優(yōu)點來建立可擴展的應用,Struts是一個不錯的選擇。Struts的目的是為了減少在運用MVC設計模型來開發(fā)Web應用的時間。你仍然需要學習和應用該架構,不過它將可以完成其中一些繁重的工作。Struts跟Tomcat、Turbine等諸多Apache項目一樣,是開源軟件,這是它的一大優(yōu)點,使開發(fā)者能更深入的了解其內部實現機制。除此之外,Struts的優(yōu)點主要集中體現在兩個方面:Taglib和頁面導航。Taglib是Struts的標記庫,靈活動用,能大大提高開發(fā)效率。另外,就目前國

19、內的JSP開發(fā)者而言,除了使用JSP自帶的常用標記外,很少開發(fā)自己的標記,或許Struts是一個很好的起點。關于頁面導航,我認為那將是今后的一個發(fā)展方向,事實上,這樣做,使系統的脈絡更加清晰。通過一個配置文件,即可把握整個系統各部分之間的聯系,這對于后期的維護有著莫大的好處。尤其是當另一批開發(fā)者接手這個項目時,這種優(yōu)勢體現得更加明顯。2.4 AJAX技術AJAX全稱為“Asynchronous JavaScript and XML”(異步JavaScript和XML),是指一種創(chuàng)建交互式網頁應用的網頁開發(fā)技術。Ajax(Asynchronous JavaScript + XML)的定義 :基于

20、web標準(standards-based presentation)XHTML+CSS的表示; 使用 DOM(Document Object Model)進行動態(tài)顯示及交互; 使用 XML 和 XSLT 進行數據交換及相關操作; 使用 XMLHttpRequest 進行異步數據查詢、檢索; 使用 JavaScript 將所有的東西綁定在一起。 HYPERLINK /view/170434.htm t _blank 英文參見Ajax的提出者Jesse James Garrett的原文,原文題目(Ajax: A New Approach to Web Applications)。類似于DHTML

21、或LAMP,AJAX不是指一種單一的技術,而是有機地利用了一系列相關的技術。事實上,一些基于AJAX的“派生/合成”式(derivative/composite)的技術正在出現,如“AFLAX”。 AJAX的應用使用支持以上技術的web瀏覽器作為運行平臺。2.4.1 AJAX工作原理 與傳統的Web應用不同,Ajax采用異步交互過程。Ajax在用戶與服務器之間引入一個中間媒介,從而消除了網絡交互過程中的處理、等待缺點。即相當于在用戶和服務器之間加了個中間層,使用戶操作與服務器響應異步化。這樣把以前的一些服務器負擔的工作轉嫁到客戶端,利于客戶端閑置的處理能力來處理,減輕服務器和帶寬的負擔,從而達

22、到節(jié)約ISP的空間及帶寬租用成本的目的。用戶的瀏覽器在執(zhí)行任務時即裝載了Ajax引擎。Ajax引擎用JavaScript語言編寫,通常藏在一個隱藏的框架中。它負責編譯用戶界面及與服務器之間的交互。Ajax引擎允許用戶與應用軟件之間的交互過程異步進行,獨立于用戶與網絡服務器間的交流?,F在,可以用JavaScript調用Ajax引擎來代替產生一個HTTP的用戶動作,內存中的數據編輯、頁面導航、數據校驗這些不需要重新載入整個頁面就可以交給Ajax來執(zhí)行。在Ajax技術中,當在客戶端界面輸入一個數據進行請求時,該數據就會被交給Ajax引擎中間層,中間層獲取數據后,將該數據信息發(fā)送給服務器端程序。服務器

23、端程序獲取數據后,進行處理。在處理過程中,如果需要數據庫中的數據,就會向數據層發(fā)送信息。服務器端處理完信息,會將響應信息交給Ajax引擎中間層,而不是原來的將數據直接交給客戶端界面顯示。Ajax引擎獲取了數據之后,就會將數據和數據顯示樣式共同交給客戶端界面顯示。這里我們會發(fā)現,Ajax中間層位于客戶端,故其運行速度要遠遠大于從服務器端將所有數據發(fā)送過來再顯示。2.4.2 AJAX的基本原則 我們用到的很多框架中都已經固化了基于頁面的傳統應用模式,同時這些應用模式也已經深深進入了我們的思想中。我們需要以Ajax的角度重新思考一下Ajax的一些核心概念。 瀏覽器中的是應用而不是內容 服務器交付的是

24、數據而不是內容 用戶交互變得流暢而連續(xù) 有紀律的嚴肅編程2.5 SQL SEVER2005SQLSEVER2005,數據庫設計軟件。SQLSEVER是微軟系列軟件中用來專門管理數據庫的應用軟件。所謂數據庫是指經過組織的、關于特定主題或對象的信息集合。數據庫管理系統分為兩類:文件管理系統和關系型管理系統。SQLSEVER2005應用程序就是一種功能強大且使用方便的關系型數據庫管理系統,一般也稱關系型數據庫管理軟件。它可運行于各種Microsoft Windows系統環(huán)境中。SQLSEVER使用標準的SQL(Structured Query Language,結構化查詢語言)作為它的數據庫語言,從

25、而提供了強大的數據處理能力和通用性。一個SQLSEVER數據庫中可以包含表、查詢、窗體、報表、宏、模塊以及數據訪問頁。不同于傳統的桌面數據庫(dbase、 FoxPro、Paradox),這種針對數據庫集成的最優(yōu)化文件結構不僅包括資料本身,也包括了它的支持對象。更新數據庫中的數據,可以使用SQL語句的UPDATE、INSERT和DELETE操作,然后將包含UPDATE、INSERT、DELETE的SQL語句交給Statement對象executeUpdate()方法執(zhí)行。Statement對象用于執(zhí)行不帶參數的簡單SQL語句。在JSP程序中,由于外部環(huán)境的變化,后臺連接數據庫中的數據每隔一段時

26、間,就需要更新。我們不可能直接打開MySQL數據庫進行更新,一般情況下都是借助JSP程序進行更新。顯示和查詢數據庫的操作,與執(zhí)行更新的操作基本相似。不同的是使用的SQL語句不同,并且操作完成后往往需要對查詢的結果集進行處理。2.6 JDBC概述在JSP技術中,對數據庫的操作都是通過JDBC組件完成的。JDBC在Java腳本程序和數據庫之間充當了一個橋梁的作用。Java腳本程序可以通過JDBC組件向數據庫發(fā)出命令,數據庫管理系統獲得命令后,執(zhí)行請求,并將請求結果通過JDBC返回給Java程序。JDBC是Sun公司提供的一套數據庫編程接口API函數,由Java語言編寫的類。使用JDBC開發(fā)的程序能

27、夠自動地將SQL語句傳送給相應的數據庫管理系統。不但如此,使用Java編寫的應用程序可以在任何支持Java的平臺上運行,不必在不同的平臺上編寫不同的應用。Java和JDBC的結合可以讓開發(fā)人員在開發(fā)數據庫應用程序時真正實現“Write Once,Run Everywhere!”。通過JDBC組件,向各種關系數據庫發(fā)送SQL語句就是一件很容易的事。換言之,有了JDBC API,就不必為訪問Sybase數據庫專門寫一個程序,為訪問Oracle數據庫又專門寫一個程序,為訪問Informix數據庫又寫另一個程序等。只須用JDBC API寫一個程序就夠了,它可以向相應數據庫發(fā)送SQL語句。而且,使用Ja

28、va編程語言編寫的應用程序,無須考慮要為不同的平臺編寫不同的應用程序。將Java和JDBC結合起來將使程序員只須寫一遍程序就可讓它在任何平臺上運行。通過JDBC組件對數據庫進行操作所需的類庫JDBC API,包含在兩個包里。第一個包是java.sql,包含了JDBC API的核心Java數據對象,包括為DBMS(數據庫管理系統)連接和存儲在DBMS里的數據進行交互而提供的Java數據對象。另外一個包含JDBC API的包是javax.sql,它擴展了java.sql,是J2EE/Java EE的一部分。除其他高級JDBC特性外,javax.sql還包含了那些與Java命名與目錄接口(JNDI)

29、進行交互的Java數據對象,以及管理連接池的Java數據對象。在java.sql包中,只包括少量具體類。API中的大部分被描述為數據庫的中樞接口類,它們指定具體操作而不提供任何實現。實際的實現由第三方提供商提供。獨立的數據庫系統通過一個實現java.sql.Driver接口的特定JDBC驅動程序被接收。驅動程序支持幾乎所有流行的RDBMS(關系數據庫管理)系統,但不是都可以免費獲得。Sun公司將一個免費的JDBC-ODBC橋驅動程序綁定在JDK上以支持標準ODBC數據源。2.7 Web數據庫的發(fā)展歷程數據庫技術從最早的單機模式、主從體系,發(fā)展到近年來應用較廣的客戶機/服務器(Client/Se

30、rver,以下簡稱C/S)模式,又到目前最流行也最實用的瀏覽器/服務器(Browser/Server,以下簡稱B/S)模式.在設計一個系統時,我們首先要考慮的是系統的體系結構,采用哪種結構取決于系統的網絡環(huán)境、應用需求等因素。2.7.1 主機/終端結構早期由于主機價格昂貴,為了共享主機資源,一臺主機要同時為多個用戶服務,但這種系統由于沒有和通信相結合,所連接的終端往往離主機的距離很近。這種結構的終端不需要做什么處理工作,一切數據處理都交給了主機去完成。由于主機包攬了數據處理的一切工作,這就要求它具有十分高的性能。這種結構中,服務器存儲所有數據,進行所有處理運算,資源也得到了充分的共享,但是用戶

31、界面不友好,主機負載過大。如圖2. 1所示:圖2. 1 主機/終端結構 圖2. 1 主機/終端結構2.7.2 客戶機/服務器結構傳統的C/S結構是兩層的,基本思想是:服務器提供數據的存取和管理等,客戶端運行相應的應用,通過網絡獲得服務器的服務,使用服務器上的數據庫資源。與主機/終端模式相比,C/S結構更容易擴充,更加靈活。當信息系統的規(guī)模擴大或需求改變時,不必重新設計便可在原有基礎上進行擴充和調整,從而保護了己有投資。為了應用客戶機/服務器這種體系結構,原來完全放在主機上的應用程序被分成了兩部分:客戶機端的應用程序和服務器端的應用程序。如圖2. 2所示:圖2.2 二層結構圖2.2 二層結構隨著

32、Internet技術的普及和電子商務技術的發(fā)展,客戶機/服務器結構的數據庫系統正由2層向3層或多層發(fā)展。在如圖3. 3所示的層結構中,應用程序的任務在邏輯上被劃分為3種服務:用戶服務、業(yè)務服務(中間層服務)和數據服務。用戶服務在客戶機上,提供了可視化的用戶界面來表示信息和收集數據:業(yè)務服務在一個或多個業(yè)務服務器上,是聯系用戶服務和數據服務的“橋梁”,它們響應用戶發(fā)來的請求,實施業(yè)務規(guī)則,處理和分析業(yè)務數據,獲得業(yè)務結果:數據服務在數據庫服務器上,負責數據的組織管理,包括數據的定義、維護、訪問和更新以及管理并響應業(yè)務服務的數據請求。如圖2.3所示:圖2.3 三層結構圖2.3 三層結構2.7.3

33、瀏覽器/服務器結構 典型的C/S結構不僅要求為客戶端安裝前端應用程序,而且限制客戶端的工作環(huán)境只能基于Windows或UNIX操作系統,這些限制條件都不切實際。人們不能開發(fā)那種只能用于特定計算環(huán)境的軟件,且在自己的Web站點上同時保存某個應用程序的多個特定平臺的版本是不可行的,因為這樣不但使軟件開發(fā)成本大幅度上漲,而且客戶端的計算環(huán)境可能是千變萬化的,無法預知客戶端的計算環(huán)境會怎樣改變。不過可以要求在客戶機上安裝某種具有一定“翻譯”功能的統一的構件,這個構件便是瀏覽器。 于是基于B/S的系統就應運而生了,B/S結構是在C/S結構基礎上發(fā)展起來的,各個客戶端只需安裝一個簡單的Web瀏覽器,用戶面

34、對的將是簡單統一的瀏覽器,而不是一個復雜的軟件,這就降低了用戶的使用難度。 (1)、瀏覽器/服務器結構的工作原理瀏覽器/服務器模式的數據庫體系是利用Web服務器和JSP(ActiveServer Pages即動態(tài)服務器網頁)作為數據庫操作的中間層,將客戶機/服務器模式的數據庫結構與Web技術密切結合,從而形成具有三層Web結構的瀏覽器/服務器模式的數據庫體系。具體結構如圖2.4所示:圖2.4 三層Web結構的數據庫體系 圖2.4 三層Web結構的數據庫體系瀏覽器/服務器結構的工作原理是:在前端采用IE瀏覽器將用戶提交的操作信息向Web服務器發(fā)出HTTP請求,Web服務器通過JSP和一些中間組件

35、訪問后臺數據庫,并將操作結果以HTML頁面的形式返回給前端瀏覽器。 (2)、瀏覽器/服務器模式的優(yōu)點從本質上講,B/S模式與傳統C/S都是以同一種請求和應答方式來執(zhí)行應用的。但傳統的C/S是一種二層或三層結構模式,其客戶端集中了大量應用軟件,而B/S客戶端僅需單一的瀏覽器軟件,是一種全新的體系結構。3 系統開發(fā)與設計3.1 本網站建設的原則3.1.1 以學生為目的的原則精品課程網站建設的目的是實現優(yōu)質資源共享,共享分為兩方面,一是為教師共享先進的教學理念,先進的教學方法,優(yōu)秀的教學參考資源。二是學生的共享,也是精品課程網站建設的最主要目的,使優(yōu)質教學資源全國的學生都能分享,從面達到全面提升我國

36、高校教學質量的目的。因此,我們在J2EE精品課程網站的設計及規(guī)劃中,充分考慮學生學習網上資源的重要性, 以學生為中心,強調通過學生的自主發(fā)現去掌握知識,培養(yǎng)學生對知識的興趣與愛好,使學生把語言的學習看作自身內在的需要。學生的角色從接受者轉變?yōu)榉治稣?、探究者。在網站中設計有J2EE網絡課程,學生通過該網絡課程可以學會其理論知識。同時,學生登陸精品課程網站可以與教師進行在線的交流和討論,也可以下載最新上傳的軟件及相關內容。3.1.2 網站設計與評價指標相統一原則網站設計與評價指標相統一原則指的是供專家評審的前臺網站部分,為了便于專家的評審,我們在設計前臺網站時要根據課程評價指標的要求進行相關的模塊

37、設置,每一模塊與課程的一級評價指標相對應,這樣既便于專家的評審,也方便學習者進入相關模塊學習。如J2EE精品課程網站主頁模塊分為課程介紹、教學資源、實驗資源、實踐互動、技術動態(tài)、軟件下載6大模塊。3.1.3 教學內容與教學設計相結合原則精品課程網站建設的評價指標中要求課程必須體現現代教育思想。因此,我們在組織精品課程網站時要注重教學內容與教學設計理念相結合, 以人本主義和建構主義作為網站建設的兩大理論建設支柱。在教學內容的組織、教學環(huán)節(jié)的安排上注重對學生的內在情感教育的培養(yǎng),注重對學生的創(chuàng)新意識、創(chuàng)新思維、創(chuàng)造能力的培養(yǎng)。3.1.4 教學實用性原則精品課程網站的主要功能是為教學服務。因此,我們

38、在組織和制作課程資源時要力求精品,不要盲目追求“大而全”。在介紹學科知識體系、提供教學參考資料、相關題集的基礎上,結合實際情況,凸現本學科的特色欄目。在制作和組織教學資源時要與教學實用相結合,使學生通過網站能真正學到知識。3.1.5 交互設計原則交互性的意義在于學生的參與性、主動性學習。精品課程網站是為學習者提供遠程教育服務,師生身處異地,師生之間的溝通交流尤為重要,為此,我們在設計精品課程網站時充分考慮交互方式,如:學生留言欄互動交流空間,實現老師與學生、學生與學生之間的教與學的交互。3.2 網站設計的方法 精品課程網站是學生自主學習、教學互動、學習交流的重要平臺。建設一個美觀實用、內容豐富

39、、特色鮮明的精品課程網站,不是學科教師的獨立行為,而是教師、技術人員、教學設計人員合作的結晶。因此,我們在設計網站之前先要對網站的整體風格、模塊設置、欄目架構、技術應用等進行規(guī)劃?!澳サ恫徽`砍柴工”,只有在周密的前期工作完成后,技術的制作才能又快又好地完成。J2EE精品課程網站整體風格體現出簡介明了的風格,欄目設置圍繞J2EE教學要求進行設計,教學資源豐富多彩,主要技術采用struts及ajax技術。3.3 系統功能模塊劃分 3.3.1 功能模塊圖圖3.1 功能模塊圖 圖3.1 功能模塊圖功能模塊HYPERLINK /doc/189464.html是指數據HYPERLINK /doc/5332

40、482.html說明、可執(zhí)行語句等程序元素HYPERLINK /doc/2166799.html的集合,它是指單獨命名的可通過名HYPERLINK /doc/4108438.html字HYPERLINK /doc/4332348.html來訪問的過程、函數、子程序或宏調用。功能模塊化是將程序劃分成若干個功能模塊,每個功能模塊完成HYPERLINK /doc/1256195.html了一個子功能,再軟件結構圖示把這些功能模塊總起來組成一個整體。以滿足所要求的整個系統的功能。功能模塊化的根據是,如果一個問題有多個問題組合而成,那么這個組合問題的復雜程度將大于分別考慮這個問題時的復雜程度之和。這個結

41、論使HYPERLINK /doc/5333507.html得HYPERLINK /doc/5346202.html人們樂于利用功能模塊化方法將復雜的問題分解成許多容易解決的局部問題。功能模塊化方法HYPERLINK /doc/2369424.html并HYPERLINK /doc/2408597.html不等于無限制HYPERLINK /doc/5333504.html地分割軟件,因HYPERLINK /doc/4666687.html為隨著功能模塊的增多,雖然開發(fā)單個功能模塊的工HYPERLINK /doc/3044521.html作量減少了,但是設計功能模塊間接口所需的工作量也將增加,而且

42、會出現意想不到的軟件缺陷。因此,只有選擇合適的功能模塊數目才會使整個系統的開發(fā)成本最小。 本系統功能模塊包括: 課程介紹包括:課程描述、課程教育特色、實踐教學、培養(yǎng)目標; 教學資源包括:教學大綱、教學日歷、電子課件、實踐項目; 實驗資源包括:實驗申請書、教學大綱、教學日歷、實驗樣本、實驗解析; 實踐互動包括:學生留言板;答案公示欄; 技術動態(tài)包括:J2SE、J2EE、J2ME; 課程介紹管理包括:課程描述管理、課程教育特色管理、實踐教學管理、培養(yǎng)目標 管理; 教學資源管理包括:教學大綱管理、教學日歷管理、電子課件管理、實踐項目管理; 實驗資源管理包括:實驗申請書管理、教學大綱管理、教學日歷管理

43、、實驗樣本管理、實驗解析管理; 實踐互動管理包括:學生留言板管理;答案公示欄管理、回復留言; 技術動態(tài)管理包括:J2SE管理、J2EE管理、J2ME管理; 系統用戶管理包括:密碼修改、修改用戶名、添加系統用戶、管理系統用戶; 軟件下載管理包括:添加軟件、軟件管理。3.3.2 系統模塊介紹 (1) 普通用戶如果你是普通用戶進入本站,你只能做一些簡單的操作,比如瀏覽網站上的內容,觀看在線視頻,下載課件,一些更高級的操作在這里是不能執(zhí)行的,只有輸入密碼跟用戶名時才能進行課程的添加、修改、刪除等操作。 (2) 管理者如果你是一名管理者,你不但可以看到普通用戶能看到的一切內容,而且還可以進行一系列的更高

44、級的操作,比如,可以進行留言管理,對學生提出的問題進行解答,對一些重復的留言或者是跟本站無關的留言進行刪除,類別管理是管理者可以重新加一個新的類,公告管理是管理者對已經過時的公告進行刪除,添加新的公告,管理者還可以對課程進行添加刪除修改的操作。從技術實現角度模塊又可劃分為: A 登陸模塊主要是實現管理者的登陸。登錄模塊至少需要以下幾個頁面:1.檢查Cookie頁面;2.輸入用戶信息頁面;3.用戶合法性驗證頁面;4.登錄成功歡迎頁面;5.登錄失敗提示頁面;6.注銷登錄頁面。 B 讀取模塊主要是從數據庫中把符合條件的數據讀取出來,顯示在瀏覽器中。只要是從數據空 中度數據就必須用到這個模塊。 C 添

45、加模塊主要是實現管理者對課程的添加功能。通過連接數據庫后通過代碼把相應的信息寫到數據庫里面。 D 修改模塊主要是實現管理者對已發(fā)課程進行修改的功能。 E 刪除模塊主要是實現對需要刪除的功能進行刪除操作。對課程或留言進行刪除管理,如果有多余的信息,或者留言中一些跟本站無關的信息出現在網站中,就必須對這些內容、留言進行刪除。 F 查詢模塊對符合條件的信息進行查詢并顯示。3.4 數據庫設計 一個優(yōu)秀的信息系統離不開一個完備的數據庫,所以數據庫的設計就顯得非常重要,因為數據庫設計的好壞直接影響系統的可操作性,首先對數據庫設計進行需求分析,確定數據庫中所需的數據表,然后應用模式圖對信息進行組織和連接,最

46、后確定每個數據表的字段屬性、含義和主鍵等信息。3.4.1 數據庫設計需求分析根據系統設計和功能分析,本系統設計建立了五個表,管理員具有最高的權限,因此將管理員的信息單獨設置一個表:admin,主要包括用戶名admin和密碼Password。由于需要存儲各種信息,因此根據系統需要,設置了以下幾個信息表,包括課程信息表(data):存儲課程的基本信息 ,留言信息表(message):存儲留言的基本信息 ,課程分類信息表(sorts):存儲課程分類基本信息 。3.4.2 系統E-R圖E-R圖為實體-聯系圖,提供了表示HYPERLINK /doc/1296100.html實體型、屬性和聯系的方法,用來

47、描述現實世界的概念模型E-R模型的組成元素有:實體、屬性、聯系。E-R模型用E-R圖表示。實體是用戶工作環(huán)境中所涉及的事務,屬性是對實體特征的描述。(1)模型中的實體相當于實體集、一個表,而不是單個實體或表中的一行。實體用矩形框表示,實體名稱標注在矩形框內。用菱形表示實體間的聯系,菱形框內寫上聯系名,用無向邊把菱形分別與有關實體相連接,在無向邊旁標上聯系的類型。(2)屬性是實體的性質。用橢圓框表示,與實體之間用一條線相連表的主碼是關鍵屬性,關鍵屬性項加下劃線。(3)各子系統模塊中主鍵相同的字段之間存在著相互關聯的關系。(4)在程序中實現對他們的完整性和一致性控制。 從數據需求分析中得出系統的實

48、體屬性圖,遵循三范式原則,對實體之間的依賴關系進行了整合,得出系統E-R圖。 本網站學生用戶E-R如圖3.2所示:圖3.2 學生E-R圖 圖3.2 學生E-R圖 本網站管理員E-R如圖3.3所示:圖3.3 管理員E-R圖圖3.3 管理員E-R圖 3.5 系統模塊設計簡要介紹以下模塊主要是從技術實現角度來劃分的,主要是實現了系統的登陸,課程的讀取,課程的添加,課程的刪除,課程的修改,查詢模塊。3.5.1 登陸模塊登錄驗證是登錄的關鍵,由于在輸入學號和密碼過程中的不確定性,可能不小心輸入各種字符或者是輸錯學號和密碼,所以進行驗證必不可少。我通過chkadmin.JSP頁面進行驗證:首先判斷用戶名和

49、密碼是否為空,如果為空則顯示“您的管理帳戶或密碼有誤!”,接著轉向登陸頁面。3.5.2 讀取模塊雖然這個模塊不是管理者的范圍之內,但是對于實現系統來說卻有著舉足輕重的作用,它主要是把數據庫中的內容讀取出來顯示在瀏覽器上,只要是從數據空中度數據就必須用到這個模塊。3.5.3 添加模塊本系統中的幾個模塊,都涉及了數據的添加,比如課程的添加,發(fā)表留言,都是運用的添加功能來實現的,添加功能主要是通過連接數據庫后通過代碼把相應的信息寫到數據庫里面。3.5.4 刪除模塊本模塊主要是對課程或留言進行刪除管理,如果有多余的信息,或者留言中一些跟本站無關的信息出現在網站中,就必須對這些內容、留言進行刪除。3.5

50、.5 修改模塊本模塊主要是對課程內容進行修改。3.5.6 搜索模塊為了方便用戶查詢,J2EE精品課程網站增加了搜索功能,這樣可以使用戶及時高效的查詢到自己所需要的內容,使網站更體現交互性的一面。3.6 界面設計3.6.1 首頁首頁,是整個網站的門面,當然要把它打扮得漂漂亮亮的,并且要將網站所要展示的重要信息顯示出來,使瀏覽網站的用戶能夠方便的找到他們所需要的東西。 生成界面如圖3.4所示:圖3.4 網站首頁 圖3.4 網站首頁主要代碼如下:package bean;import java.sql.Connection;import java.sql.ResultSet;import java.

51、sql.SQLException;import java.sql.Statement;import java.util.ArrayList;import util.DBConn;public class SelectBean Connection conn = null;Statement st = null;ResultSet rs = null;/* * * param sql * param args * return ArrayList * 獲取多條信息 */public ArrayList select(String sql,String args)ArrayList al = ne

52、w ArrayList();conn = DBConn.getConn();try st = conn.createStatement();rs = st.executeQuery(sql);while(rs.next() /在數組列表中獲取多條信息ArrayList alRow = new ArrayList();for(int i = 0;i args.length;i+)alRow.add(rs.getString(argsi);al.add(alRow); catch (SQLException e) / TODO 自動生成 catch 塊e.printStackTrace(); fi

53、nallyDBConn.close(conn,st,rs);return al; /返回獲取的信息/* * * param sql * param args * return ArrayList * 獲取一條信息 */public ArrayList select(String args,String sql)ArrayList al = new ArrayList();conn = DBConn.getConn(); /數據庫連接try st = conn.createStatement();rs = st.executeQuery(sql);rs.next();for(int i = 0;

54、i args.length;i+)al.add(rs.getString(argsi); catch (SQLException e) / TODO 自動生成 catch 塊 finallyDBConn.close(conn,st,rs);return al;3.6.2 教學大綱用戶在網頁左側點擊教學大綱欄及出現此界面,此界面包括瀏覽課程描述,課程教學特色,實踐教學,培養(yǎng)目標等功能。根據用戶不同的需要來顯示其課程內容。生成界面如圖3.5所示:圖圖3.5 教學大綱界面 主要代碼如下:package bean;import java.util.ArrayList;public class AllB

55、ean SelectBean sb = new SelectBean();ArrayList al = null;/各方法獲取相應數據public ArrayList getUsers()String sql = select * from users order by id desc; String args = id,name,age,sex,phone,address,yearcard,begindate,enddate,amount,loss;al = sb.select(sql, args);return al;public ArrayList getUsers(String id)

56、String sql = select * from users where id=+id; /users的取數邏輯,通過id匹配獲取相應數據String args = id,name,age,sex,phone,address,yearcard,begindate,enddate,amount,loss;al = sb.select(args, sql);return al;public ArrayList getUsersId(String id)String sql = select * from users where id=+id; / usersid的取數邏輯String args

57、 = id,name,age,sex,phone,address,yearcard,begindate,enddate,amount,loss;al = sb.select(sql, args);return al;public ArrayList getUsersName(String name)String sql = select * from users where name like %+name+% order by id desc;/ UsersName的取數邏輯String args = id,name,age,sex,phone,address,yearcard,begind

58、ate,enddate,amount,loss;al = sb.select(sql, args);return al;/教學項目取數邏輯public ArrayList getItem()String sql = select * from item order by id desc;String args = id,name,price;al = sb.select(sql, args);return al;public ArrayList getItem(String id)String sql = select * from item where id=+id;String args

59、= id,name,price;al = sb.select(args, sql);return al;/包年用戶取數邏輯public ArrayList getYearcard()String sql = select * from yearcard where id=1; String args = id,price;al = sb.select(args, sql);return al;public ArrayList getFlaw(String id)String sql = select * from flaw where id=+id;String args = id,softw

60、areid,usersid,content,reason,restoration,times;al = sb.select(args, sql);return al;3.6.3 學生留言欄精品課程網站是為學習者提供遠程教育服務,師生身處異地,師生之間的溝通交流尤為重要,為此,我們在設計精品課程網站時充分考慮交互方式,實現老師與學生、學生與學生之間的教與學的交互。生成界面如下圖3.6所示:圖圖3.6 學生留言界面 主要代碼如下:public class PageBean SelectBean selectBean = new SelectBean();/* * 獲取分頁總條數 * param s

溫馨提示

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

評論

0/150

提交評論