基于java的學(xué)生信息管理系統(tǒng)設(shè)計報告_第1頁
基于java的學(xué)生信息管理系統(tǒng)設(shè)計報告_第2頁
基于java的學(xué)生信息管理系統(tǒng)設(shè)計報告_第3頁
基于java的學(xué)生信息管理系統(tǒng)設(shè)計報告_第4頁
基于java的學(xué)生信息管理系統(tǒng)設(shè)計報告_第5頁
已閱讀5頁,還剩24頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、南華大學(xué)計算機科學(xué)與技術(shù)學(xué)院課程設(shè)計報告 ( 2005 2006學(xué)年度 第 1 學(xué)期 )課程名稱:網(wǎng)絡(luò)編程技術(shù)題 目:基于java的學(xué)生信息管理系統(tǒng)姓名:劉亮學(xué)號:專業(yè):計算機科學(xué)與技術(shù)班級:03級04班地點:專業(yè)實驗室教師:譚敏生 前 言隨著計算機科學(xué)的發(fā)展,數(shù)據(jù)庫技術(shù)在Internet中的應(yīng)用越來越廣泛,為廣大網(wǎng)絡(luò)用戶提供了更加周到和人性化的服務(wù)。個性化已逐漸成為當(dāng)今Web應(yīng)用的潮流。本課程設(shè)計研究了一種基于數(shù)據(jù)關(guān)聯(lián)規(guī)則的網(wǎng)絡(luò)學(xué)生信息管理系統(tǒng),此方案與現(xiàn)今網(wǎng)上已采用的一些方案相比,具有用戶使用更簡單、界面更直觀等優(yōu)點。在設(shè)計中我們發(fā)現(xiàn)這樣一個事實,一個用戶或管理員在登陸這個網(wǎng)站時一般來講只

2、對該網(wǎng)站的部分內(nèi)容感性趣,而且這種興趣會持續(xù)一段時間。這點啟發(fā)了我們,如果能根據(jù)用戶活管理員的喜好為不同的用戶顯示其個性化的頁面,即著重顯示該用戶感興趣的內(nèi)容,將為用戶節(jié)約大量的檢索時間,而且這樣的網(wǎng)頁顯然是更具有吸引力的。一些站點已經(jīng)在這方面作出了一定的嘗試,通常采用的方法是,在用戶登陸時為其提供一系列的選項,使用戶能夠?qū)φ军c進行一些自主的設(shè)置。這樣做能夠使站點呈現(xiàn)一定程度的個性化,但是對用戶來講,還是比較煩瑣,而且在用戶了解一個站點前讓其對站點進行設(shè)置,其結(jié)果未免有些粗糙。于是我們構(gòu)想了這樣一種方案,對用戶登陸后的動作進行跟蹤,分析,發(fā)掘用戶點擊的規(guī)律,即用戶先后點擊的關(guān)聯(lián)規(guī)則,這樣,在用

3、戶點擊一個主題(鏈接)之后,系統(tǒng)能夠自動生成一頁面,其中包含了該主題下用戶經(jīng)常關(guān)注的內(nèi)容(若干鏈接),這樣便在無須用戶作出任何額外工作的情況下實現(xiàn)了為用戶量身訂做的個性化頁面。要實現(xiàn)這樣的功能,離不開后臺數(shù)據(jù)庫的支持。管理員驗證信息,收集到的用戶點擊信息,主題層次信息,分析得出的關(guān)聯(lián)規(guī)則表等大量的數(shù)據(jù)都由數(shù)據(jù)庫管理系統(tǒng)管理。本文中數(shù)據(jù)庫服務(wù)器端采用了SQL Server 2000數(shù)據(jù)庫作為ODBC(Open DataBase Connectivity )數(shù)據(jù)源,并以先進的JDBC-ODBC橋接技術(shù)進行數(shù)據(jù)庫存取等操作,使Web與數(shù)據(jù)庫緊密聯(lián)系起來。整個個性化頁面生成系統(tǒng)主要由使用Dreamwe

4、aver_MX開發(fā)的關(guān)聯(lián)規(guī)則采掘系統(tǒng)和利用JSP技術(shù)實現(xiàn)的個性化Web頁面生成器兩部分組成。關(guān)聯(lián)規(guī)則采掘系統(tǒng)對數(shù)據(jù)庫中的歷史記錄進行分析,產(chǎn)生用戶關(guān)聯(lián)規(guī)則表;頁面生成器則負責(zé)記錄管理員的行為動態(tài)生成管理員個性化Web頁面。二者通過數(shù)據(jù)庫服務(wù)器和Web服務(wù)器連接。SQL Server 2000前端瀏覽器JDK+TOMCATJDBC-ODBC橋接后端數(shù)據(jù)庫數(shù)據(jù)庫服務(wù)器JSP瀏覽器 為能更好的設(shè)計系統(tǒng),我們在設(shè)計時將組內(nèi)成員主要分成了兩組:一組主要負責(zé)后臺數(shù)據(jù)庫的設(shè)計;一組主要負責(zé)前臺瀏覽器的設(shè)計。 基于Java的學(xué)生信息管理系統(tǒng) -后臺數(shù)據(jù)庫設(shè)計報告1.課程設(shè)計目的及要求設(shè)計目的:使用JDBC-O

5、DBC橋接驅(qū)動程序?qū)⑶芭_瀏覽器與后臺數(shù)據(jù)庫(本系統(tǒng)用的是SQL Server)結(jié)合位為一體。利用SQL語句接口來調(diào)用數(shù)據(jù)庫,以存取或更新數(shù)據(jù)庫中的數(shù)據(jù),特別是實現(xiàn)對數(shù)據(jù)庫中學(xué)生照片的存取,這是我們后臺數(shù)據(jù)可設(shè)計的重點。在文檔中就新增、刪除、修改與查詢等幾個基本的數(shù)據(jù)庫操作,外加這些操作相關(guān)的一些項目作了簡單的陳述。設(shè)計要求:1.要求在前臺主界面上顯示數(shù)據(jù)庫中存放的學(xué)生的基本信息,一般的普通用戶可以在系統(tǒng)中查看所有學(xué)生的信息;而由特定權(quán)限的管理員可以通過按鈕或菜單對學(xué)生的信息進行錄入、修改、查詢、刪除等功能。 2.利用JDBC驅(qū)動程序連接數(shù)據(jù)庫,修改、存儲學(xué)生的基本信息。2. 課程設(shè)計軟硬件環(huán)境

6、 2.1系統(tǒng)開發(fā)工具的選擇后臺數(shù)據(jù)庫:本系統(tǒng)后臺數(shù)據(jù)庫選擇SQL Server 2000。2.2性能需求 2.2.1硬件環(huán)境 處理器:InterCR300或更高。 內(nèi)存:128MB(建議256MB)。 硬盤空間:30MB。 2.2.2軟件環(huán)境 操作系統(tǒng):Windows98 或Windows2000 / Windows NT Server 4.0/window XP。 數(shù)據(jù)庫:SQL Server 2000。3. 課程設(shè)計內(nèi)容3.1 熟悉java 與數(shù)據(jù)庫系統(tǒng) 3.1.1 數(shù)據(jù)庫系統(tǒng)簡介數(shù)據(jù)庫系統(tǒng)是一個信息核心,也是任何企業(yè)單位非常重視的運營主體。但隨著科技的進步,多元化的需求,促使數(shù)據(jù)庫扮演的

7、角色愈來愈復(fù)雜,也愈來愈重視數(shù)據(jù)庫系統(tǒng)相關(guān)程序開發(fā)工具的簡便及性能。由于java的特性,對這方面需求能夠發(fā)揮相當(dāng)多的優(yōu)勢,因而java系統(tǒng)的應(yīng)用越來越多。JDBC是java與數(shù)據(jù)庫連接的一項規(guī)范,用于提供統(tǒng)一的SQL語言的關(guān)系數(shù)據(jù)庫系統(tǒng)訪問接口,與Java應(yīng)用的相關(guān)程序取得數(shù)據(jù)庫連接之后,便可依照SQL語言去執(zhí)行各項語句命令的運行。 3.1.2 JDBC數(shù)據(jù)庫連接Java數(shù)據(jù)庫連接體系結(jié)構(gòu)是用于Java應(yīng)用程序連接數(shù)據(jù)庫的標(biāo)準(zhǔn)方法。JDBC對Java程序員而言是API,對實現(xiàn)與數(shù)據(jù)庫連接的服務(wù)提供商而言是接口模型。作為API,JDBC為程序開發(fā)提供標(biāo)準(zhǔn)的接口,并為數(shù)據(jù)庫廠商及第三方中間件廠商實

8、現(xiàn)與數(shù)據(jù)庫的連接提供了標(biāo)準(zhǔn)方法。JDBC使用已有的SQL標(biāo)準(zhǔn)并支持與其它數(shù)據(jù)庫連接標(biāo)準(zhǔn),如ODBC之間的橋接。JDBC實現(xiàn)了所有這些面向標(biāo)準(zhǔn)的目標(biāo)并且具有簡單、嚴格類型定義且高性能實現(xiàn)的接口。目前比較常見的JDBC驅(qū)動程序可分為以下四個種類:(1)JDBC-ODBC橋接ODBC驅(qū)動程序利用ODBC驅(qū)動程序提供JDBC訪問。注意,必須將ODBC二進制代碼(許多情況下還包括數(shù)據(jù)庫客戶機代碼)加載到使用該驅(qū)動程序的每個客戶機上。因此,這種類型的驅(qū)動程序最適合于企業(yè)網(wǎng)(這種網(wǎng)絡(luò)上客戶機的安裝不是主要問題),或者是用Java編寫的三層結(jié)構(gòu)的應(yīng)用程序服務(wù)器代碼。(2)本地API半Java驅(qū)動程序這種類型的

9、驅(qū)動程序把客戶機API上的JDBC調(diào)用轉(zhuǎn)換為Oracle、Sybase、Informix、DB2或其它DBMS的調(diào)用。注意,象橋驅(qū)動程序一樣,這種類型的驅(qū)動程序要求將某些二進制代碼加載到每臺客戶機上。(3)JDBC-NET純Java驅(qū)動程序這種驅(qū)動程序?qū)DBC轉(zhuǎn)換為與DBMS無關(guān)的網(wǎng)絡(luò)協(xié)議,之后這種協(xié)議又被某個服務(wù)器轉(zhuǎn)換為一種DBMS協(xié)議。這種網(wǎng)絡(luò)服務(wù)器中間件能夠?qū)⑺募僇ava客戶機連接到多種不同的數(shù)據(jù)庫上。所用的具體協(xié)議取決于提供者。通常,這是最為靈活的JDBC驅(qū)動程序。有可能所有這種解決方案的提供者都提供適合于Intranet用的產(chǎn)品。為了使這些產(chǎn)品也支持Internet訪問,它們必須

10、處理Web所提出的安全性、通過防火墻的訪問等方面的額外要求。幾家提供者正將JDBC驅(qū)動程序加到他們現(xiàn)有的數(shù)據(jù)庫中間件產(chǎn)品中。(4)本地協(xié)議純Java驅(qū)動程序這種類型的驅(qū)動程序?qū)DBC調(diào)用直接轉(zhuǎn)換為DBMS所使用的網(wǎng)絡(luò)協(xié)議。這將允許從客戶機機器上直接調(diào)用DBMS服務(wù)器,是Intranet訪問的一個很實用的解決方法。由于許多這樣的協(xié)議都是專用的,因此數(shù)據(jù)庫提供者自己將是主要來源,有幾家提供者已在著手做這件事了。據(jù)專家預(yù)計第(3)、(4)類驅(qū)動程序?qū)⒊蔀閺腏DBC訪問數(shù)據(jù)庫的首方法。第(1)、(2)類驅(qū)動程序在直接的純Java驅(qū)動程序還沒有上市前會作為過渡方案來使用。對第(1)、(2)類驅(qū)動程序可

11、能會有一些變種,這些變種要求有連接器,但通常這些是更加不可取的解決方案。第(3)、(4)類驅(qū)動程序提供了Java的所有優(yōu)點,包括自動安裝(例如,通過使用JDBC驅(qū)動程序的appletapplet來下載該驅(qū)動程序)。3.1.3 建立JDBC連接步驟數(shù)據(jù)庫連接對動態(tài)網(wǎng)站來說是最為重要的部分。很多數(shù)據(jù)庫系統(tǒng)都帶有JDBC驅(qū)動程序,Java程序就通過JDBC驅(qū)動程序與數(shù)據(jù)庫相連,執(zhí)行查詢和提取數(shù)據(jù)等。Sun公司還開發(fā)了JDBC-ODBC bridge,用此技術(shù),Java程序就可以訪問帶有ODBC驅(qū)動程序的數(shù)據(jù)庫,目前大多數(shù)據(jù)庫系統(tǒng)都帶有ODBC驅(qū)動程序,所以Java程序能訪問諸如Oracle、Syba

12、se、MS SQL Server和MS Access等。在本系統(tǒng)中采用的是SQL Server 2000,利用JDBC-ODBC橋接將jsp與數(shù)據(jù)庫連接,主要的數(shù)據(jù)庫連接步驟如下:首先,建立一個SQL Server數(shù)據(jù)庫,其中設(shè)計了兩個表:學(xué)生信息表aa,用戶表b,在學(xué)生信息表中保存有學(xué)生的姓名、學(xué)號(設(shè)為主鍵)、性別和照片(因為我們在設(shè)計系統(tǒng)時,主要考慮實現(xiàn)通過前臺瀏覽器對數(shù)據(jù)庫中學(xué)生的基本信息進行管理,所以我們在數(shù)據(jù)庫中只保存了學(xué)生的一般信息,沒有對學(xué)生資料更好的進行歸類,但是主要的編程思想都是一樣的),用戶管理表中保存有管理員的用戶名和密碼,管理員需要通過密碼驗證才能進入管理員主界面。然

13、后,在Control Panel(控制面板)的ODBC Datasource 模塊中,加入System DSN, 取名為xf,并指向test.mdb。最后,創(chuàng)建JSP程序訪問數(shù)據(jù)庫。在Java中,關(guān)鍵的java.sql、javax.sql等類庫,提供了JDBC相關(guān)及接口程序,因為JDBC是執(zhí)行SQL的標(biāo)準(zhǔn)應(yīng)用程序接口規(guī)范,所以如何建立一個使用JDBC的應(yīng)用程序,除應(yīng)了解前述概念外,還有幾個簡單而重要的步驟需要掌握。下示為一個JDBC程序,關(guān)鍵部分對應(yīng)的步驟說明與語句范例。 步驟說明 語句范例 引進所要的JDBC package import java.sql.*;新建適用的JDBC驅(qū)動類程序C

14、lass.forName(“sun.jdbc.odbc.JdbcOdbcDriver”);通過JDBC URL取得數(shù)據(jù)連接Connection conn=DriverManager.getConnection(jdbc:odbc:xf)建立SQL語句對象Statement stmt=conn.createStatement();執(zhí)行SQL語句及接收返回結(jié)果resultSet rs=stmt.executeQuery(“SELECT * FROM ”); 至此可利用返回結(jié)果進行相關(guān)程序設(shè)計 關(guān)閉查詢結(jié)果集ResultSetrs.close();關(guān)閉SQL語句連接Stmt.close();關(guān)閉數(shù)據(jù)

15、庫連接Conn.close();3.2 SQL Server 2000和與系統(tǒng)相關(guān)的SQL 語言介紹 3.2.1 數(shù)據(jù)定義 DDL(data definition language) 數(shù)據(jù)定義語言是指對數(shù)據(jù)的格式和形態(tài)下定義的語言,他是每個數(shù)據(jù)庫要建立時候時首先要面對的,舉凡數(shù)據(jù)分哪些表格關(guān)系、表格內(nèi)的有什么欄位主鍵、表格和表格之間互相參考的關(guān)系等等,都是在開始的時候所必須規(guī)劃好的。 、建表格: create table table_name( column1 datatype not null not null primary key, column2 datatype not null,

16、.)說明: datatype -是資料的格式。 nut null -可不可以允許資料有空的(尚未有資料填入)。 primary key -是本表的主鍵。 、更改表格 alter table table_name add column column_name datatype 說明:增加一個欄位(沒有刪除某個欄位的語法。 alter table table_name add primary key (column_name) 說明:更改表得的定義把某個欄位設(shè)為主鍵。 alter table table_name drop primary key (column_name) 說明:把主鍵的定義刪除

17、。 、建立索引 create index index_name on table_name (column_name) 說明:對某個表格的欄位建立索引以增加查詢時的速度。 、刪除 drop table_name drop index_name 3.2.2 數(shù)據(jù)形態(tài)datatypessmallint 16 位元的整數(shù); interger 32 位元的整數(shù);decimal(p,s) p 精確值和 s 大小的十進位整數(shù),精確值p是指全部有幾個數(shù)(digits)大小值,s是指小數(shù)點后有幾位數(shù),如果沒有特別指定,則系統(tǒng)會設(shè)為 p=5; s=0 ; float 32位元的實數(shù); double 64位元的實

18、數(shù); char(n) n 長度的字串,n不能超過 254; varchar(n) 長度不固定且其最大長度為 n 的字串,n不能超過 4000;graphic(n) 和 char(n) 一樣,不過其單位是兩個字元 double-bytes, n不能超過127,這個形態(tài)是為了支援兩個字元長度的字體,例如中文字;vargraphic(n) 可變長度且其最大長度為 n 的雙字元字串,n不能超過 2000;date 包含了 年份、月份、日期; time 包含了 小時、分鐘、秒;timestamp 包含了 年、月、日、時、分、秒、千分之一秒。3.2.3 SOL Server 2000數(shù)據(jù)庫的物理體系數(shù)據(jù)型

19、(Data):包含有除text、ntext、imange外的所有數(shù)據(jù)行;索引(Idex):所含內(nèi)容為索引條目;文本/圖像(Text/image):text、ntext、image數(shù)據(jù)。 3.2.4 數(shù)據(jù)操作 (data manipulation language) 數(shù)據(jù)定義好之后接下來的就是數(shù)據(jù)的操作。數(shù)據(jù)的操作不外乎增加數(shù)據(jù)(insert)、查詢數(shù)據(jù)(query)、更改數(shù)據(jù)(update) 、刪除數(shù)據(jù)(delete)四種模式,以下分別介紹他們的語法: 、增加數(shù)據(jù):insert into table_name (column1,column2,.) values ( value1,value2

20、, .) 說明: 1.若沒有指定column 系統(tǒng)則會按表格內(nèi)的欄位順序填入資料。 2.欄位的資料形態(tài)和所填入的資料必須吻合。 3.table_name 也可以是景觀 view_name。 、查詢數(shù)據(jù): select column1,columns2,. from table_name 說明:把table_name 的特定欄位資料全部列出來 select * from table_name where column1 = * and column2 yyy or column3 zzz 說明: 1.´*´表示全部的欄位都列出來。 2.where 之後是接條件式,把符合條

21、件的資料列出來。select column1,column2 from table_name order by column2 desc 說明:order by 是指定以某個欄位做排序,desc是指從大到小排列,若沒有指明,則是從小到大排列。 、更改數(shù)據(jù): update table_name set column1=´*´ where conditoins 說明: 1.更改某個欄位設(shè)定其值為´*´。 2.conditions 是所要符合的條件、若沒有 where 則整個 table 的那個欄位都會全部被更改。、刪除資料: delete from

22、table_name where conditions 說明:刪除符合條件的資料。3.3基于JSP實現(xiàn)圖片的數(shù)據(jù)庫存儲與顯示這一模塊是我們對系統(tǒng)設(shè)計的重點和難點。數(shù)據(jù)庫應(yīng)用程序,特別是基于WEB的數(shù)據(jù)庫應(yīng)用程序,常會涉及到圖片信息的存儲和顯示。在設(shè)計過程中,我們考慮過將所要顯示的圖片存在特定的目錄下,在數(shù)據(jù)庫中保存相應(yīng)的圖片的名稱,在JSP中建立相應(yīng)的數(shù)據(jù)源,利用數(shù)據(jù)庫訪問技術(shù)處理圖片信息。但是,如果我們想動態(tài)的顯示圖片,上述方法就不能滿足需要了。我們必須把圖片存入數(shù)據(jù)庫,然后通過編程動態(tài)地顯示我們需要的圖片。實際操作中,可以利用JSP的編程模式來實現(xiàn)圖片的數(shù)據(jù)庫存儲和顯示。下面給出了在本系統(tǒng)

23、中調(diào)用數(shù)據(jù)庫中學(xué)生照片并顯示照片的程序以及接收由瀏覽器發(fā)送過來的請求將學(xué)生照片存儲到數(shù)據(jù)庫中,并附帶有程序的分析。 /讀取圖片源代碼try String id=request.getParameter(id); /獲得學(xué)生的idtryClass.forName(sun.jdbc.odbc.JdbcOdbcDriver); /加載驅(qū)動程序catch(ClassNotFoundException e) /捕獲異常out.println(not found!); Connection conn=DriverManager.getConnection(jdbc:odbc:xf);/連接數(shù)據(jù)庫State

24、ment stmt=conn.createStatement(); /創(chuàng)建SQL指令對象stmtResultSet result=null; /建立ResultSet(結(jié)果集)對象result=stmt.executeQuery(select ima from aa where id=+id+); /執(zhí)行圖片查詢語句if(result.next() int len = 10 * 1024 * 1024; /定義字符數(shù)組長度OutputStream sout=response.getOutputStream(); /建立輸出流InputStream in=result.getBinaryStre

25、am(1);/建立輸入流byte b=new bytelen; for(int i=in.read(b);i!=-1;) /對取圖片信息 /如果i1表示圖片讀取成功或不存在sout.write(b); in.read(b); sout.flush(); /強制清出緩沖區(qū)sout.close(); /關(guān)閉輸出流 catch(SQLException e) /拋出異常out.println(e.toString();將上面的代碼保存在xianshi.jsp文件中,在學(xué)生信息中通過img height=185 src=xianshi.jsp?id= width=141 將通過上面代碼取得的圖片顯示在

26、頁面上,其中id信息通過request請求發(fā)送給xianshi.jsp中的id屬性。/存儲圖片源代碼try tryClass.forName(sun.jdbc.odbc.JdbcOdbcDriver);catch(ClassNotFoundException e) out.println(not found!); Connection conn= DriverManager.getConnection(jdbc:odbc:xf);Statement stmt=conn.createStatement();String name=request.getParameter(1); /獲得學(xué)生姓名

27、name=new String(name.getBytes(8859_1),gb2312);/對獲取信息進行中文編碼 String id=request.getParameter(2);/id=new String(id.getBytes(8859_1),gb2312);String sex=request.getParameter(3);sex=new String(sex.getBytes(8859_1),gb2312);String image=request.getParameter(4);image=new String(image.getBytes(8859_1),gb2312);

28、FileInputStream str=new FileInputStream(image); /建立輸入流String sql=insert aa(name,id,sex,ima) values(?,?,?,?);/定義數(shù)據(jù)庫添加語句PreparedStatement rs=conn.prepareStatement(sql); /建立PreparedStatement對象 rs.setString(1,name); /向表中第1列插入學(xué)生姓名 rs.setString(2,id); /輸入學(xué)生idrs.setString(3,sex); /輸入學(xué)生性別rs.setBinaryStream(

29、4,str,str.available();/輸入照片,str.available()獲得圖片大小rs.execute(); /執(zhí)行插入操作catch(SQLException e) /拋出異常out.println(e.toString();4.總結(jié)分析至此該系統(tǒng)基于WEB的數(shù)據(jù)庫應(yīng)用程序已經(jīng)完成了。由于考慮到我們設(shè)計該系統(tǒng)主要是基于Java的學(xué)生信息管理系統(tǒng),按照老師的要求,在瀏覽器中實現(xiàn)顯示學(xué)生基本的文字信息和學(xué)生的照片功能,所以在數(shù)據(jù)庫中我們只保存了少許幾個學(xué)生的一些基本信息,如姓名、學(xué)號、性別、照片,并沒有花費太多的經(jīng)歷將學(xué)生的一些詳細資料按學(xué)院或其他信息建多個學(xué)生信息表,這一點我們

30、也感到非常遺憾。學(xué)生信息表設(shè)計雖然簡單,但是我們處理了一個令很多人都感到困惑的難點,在JSP中,利用數(shù)據(jù)庫訪問技術(shù)處理圖片信息,即基于WEB的動態(tài)圖片顯示?;趈ava的學(xué)生信息管理系統(tǒng) -系統(tǒng)前臺Web服務(wù)1.課程設(shè)計目的及要求設(shè)計目的: 在學(xué)習(xí)了網(wǎng)絡(luò)編成等課程后,為了更好的理解其有關(guān)原理并熟悉網(wǎng)絡(luò)編成設(shè)計過程,進行了此次課程設(shè)計。在設(shè)計中主要涉及到數(shù)據(jù)庫的設(shè)計及操作過程,也為掌握數(shù)據(jù)庫設(shè)計的基本方法并進一步應(yīng)用奠定了基礎(chǔ)。前臺瀏覽器設(shè)計部分是通過Dreamwaver工具應(yīng)用jsp編程來實現(xiàn)界面的設(shè)計與修改,從而熟悉網(wǎng)絡(luò)編程的技術(shù)。設(shè)計要求:設(shè)計基于java的學(xué)生信息管理系統(tǒng)的前臺瀏覽器服務(wù)

31、,包括系統(tǒng)的總界面設(shè)計以及系統(tǒng)的功能分析設(shè)計,完成系統(tǒng)的整體結(jié)構(gòu)。2.課程設(shè)計軟硬件環(huán)境2.1 前臺開發(fā)工具本系統(tǒng)是在JSP環(huán)境下實現(xiàn),后臺數(shù)據(jù)庫為MS SQL 2000,前臺應(yīng)用JSP技術(shù),JSP全稱為JAVA SERVER PAGES,也就是JAVA 服務(wù)端網(wǎng)頁的意思,JSP是一種集成HTML及JAVA程序于一體的網(wǎng)頁技術(shù),讓網(wǎng)頁設(shè)計者能夠輕易而有彈性地建立互聯(lián)網(wǎng)應(yīng)用程序。JSP稱為網(wǎng)頁,但它結(jié)合JAVA的SERVLET服務(wù)端小程序技術(shù),因此稱為JSP程序也可以。其中使用到tomcat工具.tomcat可說是一個國際級的JSP服務(wù)器,也可以稱為JSP容器(CONTAINER)或JSP引擎。

32、tomcat可融入Apache服務(wù)器中,而Apache可安裝于Unix、Linus、NT、WINDOWS等操作平臺,由此可見JSP是跨平臺的。JSP技術(shù)有以下的優(yōu)點:1 寫一次可到處執(zhí)行2 組件可重復(fù)使用3 可將靜態(tài)及動態(tài)內(nèi)含隔開4 支持腳本語言及動作5 可通過信息網(wǎng)站存取一層次企業(yè)應(yīng)用程序信息Tomcat需要配置兩個配置文件,即server.xml和web.xml。server.xml是tomcat的主配置文件,完成兩個目標(biāo):提供tomcat組件的初始配置和說明tomcat的結(jié)構(gòu)、含義,使得tomcat通過實例化組件完成啟動及構(gòu)建自身。 2.2開發(fā)平臺的選擇 本系統(tǒng)基于JSP的環(huán)境下,所以必

33、須安裝支持運行JSP環(huán)境運行的環(huán)境,首先我們必須安裝一個JAVA環(huán)境,因為在編譯JSP代碼時必須有JAVA語言編譯器。221首先我們簡要介紹一下JAVAJAVA是一種面向?qū)ο蟮某绦蛘Z言,不僅能夠編寫小應(yīng)用程序?qū)崿F(xiàn)嵌入網(wǎng)頁的聲音和動畫功能,而且還能夠應(yīng)用于獨立的大中型應(yīng)用程序,其強大的網(wǎng)絡(luò)功能能夠把整個Internet作為一個統(tǒng)一的運行平臺,極大地拓展了傳統(tǒng)單機或Client/Server模式應(yīng)用程序的外延和內(nèi)涵。1 數(shù)據(jù)封裝(ENCAPSULATION)將數(shù)據(jù)分成私用(private)、保護(protected)、公用(public)等,達到數(shù)據(jù)保密的目的。2 繼承(inheritance)有

34、繼承的關(guān)系后,父類(super class)中的數(shù)據(jù)(data)或方法(method)其子類(subclass)就有繼承使用,子類的子類也可以繼承使用,達到數(shù)據(jù)重復(fù)使用(reuse)的目的。3 多態(tài)性(polymorphism) JAVA是一種分布式程序語言、JAVA是一種跨平臺的程序語言、JAVA是一種網(wǎng)絡(luò)語言、JAVA是一種WEB的程序語言。222 JAVA語言的安裝 JAVA系統(tǒng)一般包含四個部分1. JAVA環(huán)境(ENVIRONMENT)、2. JAVA語言(LANGUAGE)、3. JAVA API應(yīng)用程序接口(APPLICATION PROGRAMMING INTERFACE)、4.

35、 JAVA類庫(CLASS LIBRARIES)JDK是Java Develop Kit的簡稱,意為JAVA的開發(fā)工具。JDK有多個版本,可以很方便地從SUN站點( )或其他國內(nèi)軟件站點中獲取。我們在設(shè)計中下載的是比較新的版本J2SDK1.4.2,詳細的安裝步驟可以參閱簡要說明:1、下載。下載完畢文件名稱為:J2SDK_1_4_2_-windows-586.exe。這里代表當(dāng)前下載的版本號。2、安裝。直接運行下載文件,建議安裝目錄為D盤根目錄,安裝完畢J2SDK根目錄為D:j2sdk1.4.2_05。也可以安裝在其它自定義目錄下。3、環(huán)境變量配置。1)確認登陸Windows帳號為管理員級別帳號

36、2)鼠標(biāo)右擊我的電腦-彈出菜單中選擇屬性-彈出對話框中選擇高級-點擊環(huán)境變量3)下面操作在系統(tǒng)變量中進行,如果系統(tǒng)變量已存在相同變量名且包含相同變量值,則跳過該步操作;如果系統(tǒng)變量已存在相同變量名但未包含相同變量值,則添加該變量值(用英文“;”隔開);如果系統(tǒng)變量不存在相同變量名,則按如下操作新建變量名并賦變量值。新建變量名:Java_Home 變量值:D:j2sdk1.4.2_05新建變量名:Path 變量值:%Java_Home%bin新建變量名:ClassPath 變量值:.;%Java_Home%libdt.jar;%Java_Home%libtools.jar;%Java_Home%

37、libhtmlconverter.jar(注意:變量值中“.”一定不能缺少)最后重啟計算機,完成J2SDK配置。2 . 2 . 3安裝TOMCAT我們在開發(fā)該系統(tǒng)時用到了Jakarta-Tomcat-5這個版本,下面就以Jakarta-Tomcat-5 為例簡單介紹tomcat的安裝及配置。、文檔及詳細安裝指南。 簡要說明: 1、下載。下載WindowsNT/2K/XP版Tomcat安裝版 2、安裝。請首先確認,您已安裝J2SDK或JDK或JRE,如果沒有安裝,請先安裝。如果已安裝并配置完畢,請繼續(xù)下面步驟: 直接運行下載軟件,按提示安裝。 注意:在選擇組建時,請務(wù)必將Service選中。這樣

38、將在安裝完畢后自動啟動Tomcat服務(wù)。建議安裝在D:Tomcat(這里以D:Tomcat 5.0.28為例)目錄下。 3、環(huán)境變量配置。1)確認登陸Windows帳號為管理員級別帳號2)鼠標(biāo)右擊我的電腦-彈出菜單中選擇屬性-彈出對話框中選擇高級-點擊環(huán)境變量3)下面操作在系統(tǒng)變量中進行,如果系統(tǒng)變量已存在相同變量名且包含相同變量值,則跳過該步操作;如果系統(tǒng)變量已存在相同變量名但未包含相同變量值,則添加該變量值(用英文“;”隔開);如果系統(tǒng)變量不存在相同變量名,則按如下操作新建變量名并賦變量值。新建變量名:Tomcat_Home 變量值:D:Tomcat 5.0.28新建變量名:Path 變量

39、值:%Tomcat_Home%bin新建變量名:ClassPath 變量值:%Tomcat_HOME%commonlib最后重啟計算機,完成Tomcat配置。補充: 如果計算機僅安裝JRE,而未安裝JDK,Tomcat仍然能夠運行,但是Tomcat將無法編譯JSP。這樣如果需要編譯JSP,就必須將% Java_Home%libtools.jar文件拷貝到%Tomcat_Home%commomlib目錄下(建議已安裝JDK的用戶也補充此操作)。224 測試TOMCAT是否安裝成功1、Tomcat運行的端口號默認為8080,可以修改,注意Tomcat自己有一個獨立的HTTP服務(wù)器,它必須使用一個還

40、未被使用的端口號,用$TOMCAT_PORT標(biāo)識,修改方法如下: 1)打開$TOMCATconfserver.xml; 2)修改ContextManager:2、雙擊$TOMCAT目錄下的startup.bat來啟動Tomcat;3、在瀏覽器上輸入http:/localhost:$TOMCAT_PORT/,能看到Apache Tomcat/5.0.28這一頁就表示Tomcat安裝成功了;4、點擊Servlet Example進入Servlet界面,應(yīng)該能執(zhí)行Servlet。5、點擊JSP Example進入JSP界面,應(yīng)該能執(zhí)行JSP了,若不能,修改$TOMCATconfstart.bat:加

41、上SET JAVA_HOME=D:j2sdk1.4.2_05即可。225 WEB服務(wù)配置 在設(shè)計系統(tǒng)之前,先配置一個WEB服務(wù)器:在TOMCAT目錄下的webapps文件夾下創(chuàng)建一個根目錄jsp,在該目錄下再創(chuàng)建一個WEB-INF子目錄,在該目錄下配置一個web.xml文件,先配置該文件默認內(nèi)容如下:將系統(tǒng)所有要用到的程序放在%Tomcat_HOME%webappsjsp目錄下,創(chuàng)建好數(shù)據(jù)庫并配置好數(shù)據(jù)源后,打開瀏覽器,在地址欄中輸入http:/localhost:$TOMCAT_PORT/jsp/index.jsp 就可以登錄到該系統(tǒng)的首頁了。2.3 前臺開發(fā)語言JSP簡介一)、JSP的優(yōu)點

42、1、將內(nèi)容的生成和顯示進行分離使用JSP技術(shù),Web頁面開發(fā)人員可以使用HTML或者XML標(biāo)識來設(shè)計和格式化最終頁面。使用JSP標(biāo)識或者小腳本來生成頁面上的動態(tài)內(nèi)容(內(nèi)容是根據(jù)請求來變化的,例如請求帳戶信息或者特定的一瓶酒的價格)。生成內(nèi)容的邏輯被封裝在標(biāo)識和JavaBeans組件中,并且捆綁在小腳本中,所有的腳本在服務(wù)器端運行。如果核心邏輯被封裝在標(biāo)識和Beans中,那么其他人,如Web管理人員和頁面設(shè)計者,能夠編輯和使用JSP頁面,而不影響內(nèi)容的生成。在服務(wù)器端,JSP引擎解釋JSP標(biāo)識和小腳本,生成所請求的內(nèi)容(例如,通過訪問JavaBeans組件,使用JDBCTM技術(shù)訪問數(shù)據(jù)庫,或者包

43、含文件),并且將結(jié)果以HTML(或者XML)頁面的形式發(fā)送回瀏覽器。這有助于作者保護自己的代碼,而又保證任何基于HTML的Web瀏覽器的完全可用性。 2、生成可重用的組件 絕大多數(shù)JSP頁面依賴于可重用的,跨平臺的組件(JavaBeans或者Enterprise JavaBeansTM組件)來執(zhí)行應(yīng)用程序所要求的更為復(fù)雜的處理。開發(fā)人員能夠共享和交換執(zhí)行普通操作的組件,或者使得這些組件為更多的使用者或者客戶團體所使用?;诮M件的方法加速了總體開發(fā)過程,并且使得各種組織在他們現(xiàn)有的技能和優(yōu)化結(jié)果的開發(fā)努力中得到平衡。 3、采用標(biāo)識簡化頁面開發(fā) Web頁面開發(fā)人員不會都是熟悉腳本語言的編程人員。J

44、avaServer Page技術(shù)封裝了許多功能,這些功能是在易用的、與JSP相關(guān)的XML標(biāo)識中進行動態(tài)內(nèi)容生成所需要的。標(biāo)準(zhǔn)的JSP標(biāo)識能夠訪問和實例化JavaBeans組件,設(shè)置或者檢索組件屬性,下載Applet,以及執(zhí)行用其他方法更難于編碼和耗時的功能。 通過開發(fā)定制化標(biāo)識庫,JSP技術(shù)是可以擴展的。今后,第三方開發(fā)人員和其他人員可以為常用功能創(chuàng)建自己的標(biāo)識庫。這使得Web頁面開發(fā)人員能夠使用熟悉的工具和如同標(biāo)識一樣的執(zhí)行特定功能的構(gòu)件來工作。 4、將內(nèi)容的生成和顯示進行分離 與SERVLETS相比,JSP能提供所有SERVLETS功能,但它比用println書寫和修改HTML更方便。此外

45、,你可以更明確的進行分工,WEB頁面設(shè)計人員編寫HTML,只需要留出地方讓SERVLETS程序員插入動態(tài)部分即可。 5、 由于JSP頁面的內(nèi)置腳本語言是基于Java編程語言的,而且所有的JSP頁面都被編譯成為Java Servlet,JSP頁面就具有Java技術(shù)的所有好處,包括健壯的存儲管理和安全性。 6、 作為Java平臺的一部分,JSP擁有Java編程語言“一次編寫,各處運行”的特點。隨著越來越多的供應(yīng)商將JSP支持添加到他們的產(chǎn)品中,您可以使用自己所選擇的服務(wù)器和工具,更改工具或服務(wù)器并不影響當(dāng)前的應(yīng)用。二)、JSP指令和腳本元素 1、JSP指令是為JSP引擎而設(shè)計的。他們并不直接產(chǎn)生任

46、何可見輸出,而只是告訴引擎如何處理其余JSP頁面。這些指令始終被括在 “”標(biāo)記中。兩個最重要的指令是“pagePage”和“Include”。幾乎在所有JSP頁面頂部都會看到“Page”指令。盡管不是必須的,但它可以讓你指定:到何處查找起支持作用的Java類別: 出現(xiàn)Java運行問題時,將網(wǎng)上沖浪者引向何處: 還有你是否需要管理用戶的會話級信息,這些信息可能來自多個網(wǎng)頁述:“Include”指令可以把你的內(nèi)容分成更多可管理的元素,比如包括一個普通頁面頁眉或頁腳的元素。包含的網(wǎng)頁可以是一個固定的HTML 頁面或更多的JSP內(nèi)容: 2、JSP聲明用來讓你定義頁面級變量,以保存信息或定義JSP頁面的

47、其余部分可能需要的支持方法。如果你發(fā)現(xiàn)代碼太多,通常最好把它們寫成一個獨立的Java類別。聲明一般都在“”標(biāo)記中。一定要以分號(;)結(jié)束變量聲明,因為任何內(nèi)容都必須是有效的Java語句: 3、有了JSP表達式,表達式評估結(jié)果會被轉(zhuǎn)換成一個字符串,并且被直接包括在輸出頁面之內(nèi)。JSP 表達式包含在“” 標(biāo)記中,沒有分號,除非在加引號的字符串部分使用分號。4、代碼片段/腳本片段(Scriptlets) JSP代碼片段或腳本片段是嵌在“”標(biāo)記中的。這種Java代碼在Web服務(wù)器響應(yīng)請求時就會運行。在腳本片段周圍可能是原始的HTML或XML語句,在這些地方,代碼片段可以使你創(chuàng)建條件執(zhí)行代碼,或要用到另

48、外一段代碼的代碼。例如,以下的代碼組合使用表達式和代碼片段,顯示H1、H2、H3和H4標(biāo)記中的字符串“Hello”。代碼片段并不局限于一行源代碼:% for (int i=1; iHHello/H5、在JSP中嵌入式注釋。盡管你始終可以在文件中加入HTML注釋,但用戶在查看頁面源代碼時會看到這些注釋。如果你不想讓用戶看到它,你就應(yīng)該將其嵌入“” 標(biāo)記中:JSP還有三類主要的元素:Scripting elements,Directives,和 Actions.使用Scripting elements您可以定義最終轉(zhuǎn)換為Servlet的部分,Directives 使您可以控制這個Servlet的整

49、體結(jié)構(gòu),而Actions使您可以指定可重用的已有組件,另外,還可控制JSP引擎的運行。3. 課程設(shè)計內(nèi)容系統(tǒng)頁面制作包括網(wǎng)頁的美工設(shè)計以及程序的編寫,首先網(wǎng)頁的設(shè)計要符合系統(tǒng)的需要不偏不倚,要做到恰到好處。頁面制作的基本要素可分為四部分1 頁面風(fēng)格總體設(shè)計2 頁面內(nèi)容位置安排3 系統(tǒng)投入使用的生命周期,以及需要達到的效果如何。4 系統(tǒng)所需的時間投入安排這些都是我在本次課程設(shè)計中,總結(jié)出系統(tǒng)制作的一些基本要點。本系統(tǒng)的美工設(shè)計采用顏色比較鮮明、簡潔。其次本系統(tǒng)在系統(tǒng)內(nèi)容上盡量做到簡單明了,使用戶能夠在最少的時間內(nèi)熟悉系統(tǒng)的基本模塊。一)、需求分析隨著學(xué)校向全國及至世界范圍的持續(xù)擴張,學(xué)生人數(shù)的增

50、加,對于學(xué)生的信息管理也越來越復(fù)雜,要求也越來越高,因此需要一個全面、詳細的信息管理系統(tǒng),以便完成對學(xué)生信息的管理。無紙化的環(huán)境是技術(shù)時代的一個夢想,也是許多學(xué)校和公司越來越意識到的一個真實世界。以前是由學(xué)生檔案和公告欄來提供各種信息及通告新的變化,而現(xiàn)在這個繁雜的工作已被網(wǎng)站和內(nèi)部計算機網(wǎng)絡(luò)所取代。使得學(xué)生信息的管理更方便、安全。根據(jù)調(diào)查得知,現(xiàn)在廣大學(xué)生進行信息提交的主要方式是基于文件、表格等紙介質(zhì)的手工處理,學(xué)生信息管理部門信息處理工作量大,容易出錯,且管理方面因人而異。然而學(xué)校網(wǎng)上學(xué)生信息管理系統(tǒng)應(yīng)該覆蓋各個所需功能,使各級管理人員和廣大教職工在信息系統(tǒng)的輔助下進行工作,提高管理的整體

51、水平。使得學(xué)生信息管理更方便。學(xué)生信息管理系統(tǒng),可以用集中的數(shù)據(jù)庫將與人力資源管理相關(guān)的信息全面、有機地聯(lián)系起來,有效地減少了信息更新和查找中的重復(fù)勞動,保證了信息的相容性,從而大大地提高了工作效率,還能使原來不可能提供的分析報告成了可能。在采用和實施學(xué)生信息管理系統(tǒng)之后,就會將依賴于人的過程改為依賴于計算機系統(tǒng)的過程。學(xué)校管理人員只要獲取了相應(yīng)的權(quán)限,就可以隨時進入系統(tǒng),直接查閱相應(yīng)的信息。采用和實施學(xué)生信息管理系統(tǒng)不僅僅是為了提高工作效率。應(yīng)該看到,在實施學(xué)生信息管理系統(tǒng)后,經(jīng)過整合的、較為全面、準(zhǔn)確、一致和相容的信息不僅可以讓學(xué)校領(lǐng)導(dǎo)對本學(xué)校學(xué)生資源的現(xiàn)狀有一個比較全面和準(zhǔn)確的認識,同時

52、也可以生成綜合的分析報表供學(xué)校領(lǐng)導(dǎo)人在決策時參考。二)、系統(tǒng)設(shè)計1)、系統(tǒng)的功能概述 本系統(tǒng)主要可以實現(xiàn)以下一些功能:=用戶身份的選擇:用戶進入系統(tǒng)進行查詢和處理數(shù)據(jù),首先要選擇登錄身份,可以選擇的登錄身份有訪客登陸和管理員登錄兩種。 訪客登錄:只能查詢?yōu)g覽信息。 管理員登陸:可以查詢、修改數(shù)據(jù)還可以添加、刪除信息以及對管理員登陸用戶及密碼的修改、添加、刪除。=管理員注冊=增加學(xué)生的基本信息數(shù)據(jù):其中包括了對學(xué)生相片的上傳,并保存在數(shù)據(jù)庫中。=修改各種數(shù)據(jù):根據(jù)學(xué)生學(xué)號修改信息。=查詢數(shù)據(jù):從數(shù)據(jù)庫中調(diào)出固定學(xué)號的詳細信息 。=刪除數(shù)據(jù):刪除一個學(xué)號學(xué)生的所有信息。2)、系統(tǒng)數(shù)據(jù)流程圖 該系統(tǒng)

53、所包含的所有功能流程圖如下所示:詳細查詢訪客登陸管理員注冊學(xué)生信息管理系統(tǒng)添加數(shù)據(jù)修改數(shù)據(jù)管理員登陸查詢數(shù)據(jù)刪除數(shù)據(jù)3)、全部頁面文件清單文件名功能描述baocuo.jsp當(dāng)輸入的管理員用戶名或者密碼錯誤時出現(xiàn)的提示面chaxun.jsp根據(jù)學(xué)號查詢學(xué)生信息denglu.jsp管理員登錄網(wǎng)頁index.jsp用戶登錄網(wǎng)頁jieshou.jsp當(dāng)輸入新的學(xué)生信息成功或失敗后的提示頁面shanchu.jsp根據(jù)學(xué)號刪除學(xué)生信息shuru.jsp添加新的學(xué)生信息。并將其寫入數(shù)據(jù)表xiugai.jsp根據(jù)學(xué)號修改學(xué)生的信息xueshengxinxi.jsp學(xué)生詳細信息顯示頁面yan2.jsp修改學(xué)生信息成功或失敗時的提示頁面yan3.jsp刪除學(xué)生信息成功或失敗時的提示頁面yanzheng.js

溫馨提示

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

最新文檔

評論

0/150

提交評論