




已閱讀5頁,還剩36頁未讀, 繼續(xù)免費閱讀
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
面向校企合作的學生信息管理系統(tǒng)摘 要本論文系統(tǒng)地闡述了學生管理系統(tǒng)的功能及實現(xiàn)。實現(xiàn)了學生管理、班級管理、科目管理、成績管理等功能。本系統(tǒng)界面簡單直觀,易于操作和使用,交互性強。經(jīng)過分析,我們使用 sun公司的jsp開發(fā)工具, 強大的sql查詢語言實現(xiàn)建立關(guān)系數(shù)據(jù)庫,利用其提供的各種面向?qū)ο蟮拈_發(fā)工具,尤其是數(shù)據(jù)窗口這一能方便而簡潔操縱數(shù)據(jù)庫的智能化對象,首先在短時間內(nèi)建立系統(tǒng)應用原型,然后,對初始原型系統(tǒng)進行需求迭代,不斷修正和改進,直到形成滿意的可行系統(tǒng)。關(guān)鍵詞:學生管理系統(tǒng);系統(tǒng)開發(fā);信息管理abstractthe present paper elaborated systematically the student management system management systems function and realizes. realized the student to manage, the class and grade to manage, functions and so on subject management, result management. this system contact surface simple direct-viewing, simplify operation and use, interactive is strong. after the analysis, we use sun corporations jsp development kit, the formidable sql query language realizes the establishment relational database, uses each kind of object-oriented development kit which it provides, particularly the data window this can convenient and the succinct operation database intellectualized object, first establishes the system application prototype in a short time, then, carries on the demand iteration to the initial prototype system, revises unceasingly and improves, until forms the satisfied feasible system.key words: student management system management system; system development; information management目 錄第1章 引言31.1 課題研究的目的31.2 課題研究的意義4第2章 項目概述52.1 課題簡要說明52.2 可行性研究5第3章 需求分析63.1 用戶業(yè)務需求63.2 性能需求7第4章 相關(guān)技術(shù)簡介74.1 jsp技術(shù)簡介74.2 jsp工作原理84.3 jsp體系結(jié)構(gòu)84.4 jsp的特點94.5 sqlserver 2000 數(shù)據(jù)庫104.6 系統(tǒng)數(shù)據(jù)庫連接104.6 ajax技術(shù)簡介15第5章 系統(tǒng)分析175.1 功能模塊圖175.2 處理流程設(shè)計173.2.1 系統(tǒng)操作流程175.2.2 數(shù)據(jù)增加流程185.2.3 數(shù)據(jù)修改流程195.2.4 數(shù)據(jù)刪除流程205.3 系統(tǒng)e-r圖21第6章 系統(tǒng)詳細設(shè)計216.1 管理員登陸216.2 學生管理236.3 班級信息管理266.4 成績管理28第7章 系統(tǒng)調(diào)試與測試317.1 程序調(diào)試317.2 程序的測試317.2.1 測試的重要性及目的317.2.2 測試的步驟337.2.3 測試的主要內(nèi)容33第8章 結(jié)論358.1 系統(tǒng)評價358.2 安全性問題35致謝37參考文獻38第1章 引言1.1 課題研究的目的現(xiàn)今我國還有許多的學校采用傳統(tǒng)的紙介質(zhì)的管理模式,還主要依賴于人力手工的操作,并歸檔編號保存,事后如需查閱,則要人工從浩瀚的資料中查找,既費時費力又容易出錯。作為保存資料的介質(zhì)-紙張,又有容易被火燒毀,易被蟲蛀,易發(fā)霉變質(zhì)等等缺點。這就急需有一套全新的高效的管理系統(tǒng),由計算機來代替手工完成學生信息的管理。21世紀以來,計算機技術(shù)的迅猛發(fā)展,特別是隨著網(wǎng)絡(luò)技術(shù)的出現(xiàn)標志著信息時代已經(jīng)來臨。信息化浪潮、網(wǎng)絡(luò)革命在給社會帶來沖擊的同時,也使學生信息管理受到了強烈的沖擊,管理傳統(tǒng)的管理方式已不能適應人們對日益增長的信息的需求,建設(shè)網(wǎng)絡(luò)系統(tǒng),是現(xiàn)代化建設(shè)的客觀要求。建設(shè)以計算機為核心的信息網(wǎng)絡(luò),實現(xiàn)信息管理的自動化,更好地為工作服務?;谶@此問題,我認為有必要建立一個學生信息管理系統(tǒng),使學生信息管理工作規(guī)范化,系統(tǒng)化,程序化,避免學生信息管理的隨意性,提高信息處理的速度和準確性,能夠及時、準確、有效的查詢和修改學生信息情況。 1.2 課題研究的意義計算機已經(jīng)成為我們學習和工作的得力助手:今天,計算機的價格已經(jīng)十分低廉,性能卻有了長足的進步。它已經(jīng)被應用于許多領(lǐng)域,計算機之所以如此流行的原因主要有以下幾個方面:首先,計算機可以代替人工進行許多繁雜的勞動;其次,計算機可以節(jié)省許多資源;第三,計算機可以大大的提高人們的工作效率;第四,計算機可以使敏感信息更加安全。現(xiàn)在,我們已經(jīng)進入到internet時代了,學生信息管理也要隨之更新,隨著無紙化辦公的一步步實現(xiàn),讓計算機來管理學生信息是現(xiàn)在各個高校都在積極進行的工作之一,也是高校教學管理工作的重要內(nèi)容之一。學生信息管理系統(tǒng)必然會在以后的信息管理系統(tǒng)中大放異彩。第2章 項目概述2.1 課題簡要說明 隨著學生信息量的不斷擴大,有關(guān)學生信息管理的各種信息也成倍增長。面對龐大的信息量,有必要開發(fā)學生信息管理系統(tǒng)來提高管理工作的效率。今天我們使用計算機對學生信息進行管理,具有手工管理所無法比擬的優(yōu)點。通過這樣的系統(tǒng),可以做到信息的規(guī)范管理、科學統(tǒng)計和快速查詢,從而減少管理方面的工作量,有效地提高學生信息管理的工作效率。2.2 可行性研究該階段通過對系統(tǒng)目標的初步調(diào)研和分析,提出可行性方案并進行論證。我們在這里主要從技術(shù)可行性、經(jīng)濟可行性和操作可行性等方面進行分析。2.2.1 經(jīng)濟可行性開發(fā)該系統(tǒng)所需的相關(guān)資料可以通過已存在的相關(guān)系統(tǒng)進行調(diào)查采集,所需的其他應用軟件、硬件系統(tǒng)也易于獲得.因此,開發(fā)成本較低。而引進使用本系統(tǒng)后,與傳統(tǒng)方式相比,具有高效率、低成本、高質(zhì)量的特點,可以節(jié)省不少人力、物力及財力。所以,從經(jīng)濟的角度來看,該系統(tǒng)可行。2.2.2 技術(shù)可行性技術(shù)可行性要考慮現(xiàn)有的技術(shù)條件是否能夠順利完成開發(fā)工作,軟硬件配置是否滿足開發(fā)的需求等。本網(wǎng)站用的是jsp開發(fā)語言,調(diào)試相對簡單,當前的計算機硬件配置也完全能滿足開發(fā)的需求,因此在技術(shù)上是絕對可行的。軟件方面:由于目前單機模式相對發(fā)展成熟,故軟件的開發(fā)平臺成熟可行,它們速度快、容量大、可靠性能高、價格低,完全能滿足系統(tǒng)的需求。2.2.3運行可行性運行可行性是對組織結(jié)構(gòu)的影響,現(xiàn)有人員和機構(gòu)和環(huán)境對系統(tǒng)的適應性及人員培訓補充計劃的可行性。當前信息化技術(shù)已經(jīng)相當普及,各類操作人員水平都有相當?shù)母叨?,所以在運行上是可行性的。本系統(tǒng)的開發(fā),是典型的mis開發(fā),主要是對數(shù)據(jù)的處理,包括數(shù)據(jù)的收集,數(shù)據(jù)的變換,及數(shù)據(jù)的各種報表形式的輸出。采用流行的jsp+sqlserver 2000體系,已無技術(shù)上的問題。2.2.4 時間可行性從時間上看,在兩個月的時間里學習相關(guān)知識,并開發(fā)本學生信息管理系統(tǒng),時間上是有點緊,但是不是不可能實現(xiàn),通過兩個多月的努力功能基本實現(xiàn)。2.2.5 法律可行性 所有技術(shù)資料都為合法。 開發(fā)過程中不存在知識產(chǎn)權(quán)問題。 未抄襲任何學生信息管理系統(tǒng),不存在侵犯版權(quán)問題。 開發(fā)過程中未涉及任何法律責任。綜上所述,本系統(tǒng)的開發(fā)從技術(shù)上、從經(jīng)濟上、從法律上都是完全可靠的。第3章 需求分析3.1 用戶業(yè)務需求學生學籍管理。(1)添加學生:以班級為單位,進行學生入庫。(2)刪除學生:當學生畢業(yè)后,學生信息轉(zhuǎn)移備份數(shù)據(jù)庫中,系統(tǒng)的基本數(shù)據(jù)庫中需要刪除學生信息。該功能主要進行成批地刪除學生信息,如連續(xù)學號區(qū)段的多位學生信息刪除,整個班級的刪除,所有學生信息的刪除。(3)新生管理:本部分的功能主要有新生導入及設(shè)置學號。學生成績錄入,查詢,統(tǒng)計分析。(1)分數(shù)錄入:以班級為單位,錄入各科目的期中、期末、總評成績。(2)總分及名次:計算指定班級學生的總分及名次。(3)補考成績錄入:修改總評成績,以決定最終補考人數(shù)。學生信息管理系統(tǒng)將采用jsp技術(shù),結(jié)合microsoft公司的sqlserver2000數(shù)據(jù)庫,用無論安全性還是穩(wěn)定性都比較優(yōu)秀的mvc(model-view-control)模式進行系統(tǒng)開發(fā)。3.2 性能需求系統(tǒng)對環(huán)境的要求服務起端的最低配置是由建立站點所需要的軟件來決定的,在最底配置的情況下,服務器的性能往往不進人意,現(xiàn)在硬件性能已經(jīng)相當出色,而且價格也很便宜,因此通常應給服務器端配置高性能硬件。本機器的配置如下:處理器:inter pentium 41.6hz或更高。內(nèi)存:512mb硬件空間:160gb題目主要采用的技術(shù)數(shù)據(jù)庫:microsoft sql server 2000。編程語言 jsp服務器:tomcat5.5,jdk1.6開發(fā)環(huán)境:windowsxp第4章 相關(guān)技術(shù)簡介4.1 jsp技術(shù)簡介jsp(java server page服務器網(wǎng)頁)是從1998年開始出現(xiàn)的新技術(shù)。由sun公司倡導、許多公司參與一起建立的一種動態(tài)網(wǎng)頁技術(shù)標準,是基于javaservlet以及整個java體系的web開發(fā)技術(shù)。在傳統(tǒng)的網(wǎng)頁html文件(*.htm,*.html)中加入腳本片段和jsp標記(tag),構(gòu)成jsp網(wǎng)頁(*.jsp)。jsp技術(shù)為創(chuàng)建顯示動態(tài)生成內(nèi)容的web頁面提供了簡便的方法。jsp作為java家族的一員,承襲了java的特點,即跨平臺的特性,也即一次編譯,到處運行。在國外,己經(jīng)大量使用jsp作為網(wǎng)絡(luò)應用程序的開發(fā)工具,而在國內(nèi),盡管jsp還不是主流開發(fā)技術(shù),但是由于jsp的強大優(yōu)勢,許多網(wǎng)站都已經(jīng)準備轉(zhuǎn)向jsp,利用jsp來開發(fā)動態(tài)網(wǎng)站。 4.2 jsp工作原理jsp是面向服務器的,因此支持任何瀏覽器。當web服務器和jsp引擎遇到訪問jsp網(wǎng)頁的請求時,jsp引擎將請求對象發(fā)送給服務器端的相關(guān)組件,比如javabean組件、servlet或ejb等,然后由服務器端組件處理這些請示,可能需要從數(shù)據(jù)庫或數(shù)據(jù)存儲中檢索信息,然后服務器端組件再將響應對象返回jsp引擎。jsp引擎將響應對象傳遞給jsp頁面,根據(jù)jsp頁面的html格式完成數(shù)據(jù)編排,最后web服務器和jsp引擎將格式化后的jsp頁面以html格式返回客戶瀏覽器。這就是當前網(wǎng)站構(gòu)建中廣泛采用的瀏覽器web服務器后臺數(shù)據(jù)庫的三層架構(gòu)模式。因為jsp所有程序操作都在服務器端執(zhí)行,網(wǎng)絡(luò)上傳送給客戶端的僅是得到的結(jié)果。4.3 jsp體系結(jié)構(gòu)jsp網(wǎng)站開發(fā)標準給出了兩種使用jsp的技術(shù),可以歸納為模式一、模式二。模式一:jsp+javabeans技術(shù)在這種模式中,jsp頁面獨自響應請求并將處理結(jié)果返回給客戶。bean處理所有數(shù)據(jù)訪問,jsp實現(xiàn)頁面的表現(xiàn),以實現(xiàn)內(nèi)容生成與顯示相分離。當處理復雜的大型應用時,頁面被嵌入大量的腳本或java代碼段,當需要處理的商業(yè)邏輯復雜時,這種情況會變得非常糟糕,大量的內(nèi)嵌代碼使得頁面程序變得復雜,對于前端界面設(shè)計人員,這是不可思議的事情。所以模式一可用于小型應用,不能夠滿足大型應用的需要。模式二:jsp+servlet+javabeans技術(shù)servlet技術(shù)是一種采用java技術(shù)來實現(xiàn)cgi功能的一種技術(shù),servlet技術(shù)非常適于服務器端的處理和編程,并且servlet會長期駐留在內(nèi)存。從開發(fā)的觀點看,模式二具有更清晰的頁面表現(xiàn),清楚的開發(fā)者角色劃分,在大規(guī)模項目開發(fā)中,模式二更被采用,模式二也更符合當前流行的mvc結(jié)構(gòu)(model/view/controller),其中servlet對應controller,處于控制者的位置,處理http請求,負責生成jsp中使用的beans組件或?qū)ο?,并判斷應將請求傳遞給哪個jsp等,jsp對應view,負責生成最終的動態(tài)網(wǎng)頁并返回給瀏覽器。而javabeans對應的是model,實現(xiàn)各個具體的應用邏輯與功能。4.4 jsp的特點1. 簡化的頁面生成技術(shù)。jsp頁面用標準的html或xml命令來處理頁面的格式化和布局設(shè)計,而用類似html、xml的標記和java語言編寫的腳本程序生成頁面內(nèi)容。這使得頁面形式與頁面內(nèi)容互相獨立,非常有利于大型項目的分工合作。2. 與java平臺有機集成。jsp技術(shù)是java 2平臺的重要組成部分,jsp使用java語言作為它的腳本語言。在jsp頁面中可以使用幾乎所有的java組件和java api,這就能充分發(fā)揮出java語言的強大功能。使用jsp技術(shù)可以創(chuàng)建具有高度可伸縮性和可靠性的web應用程序。3. 硬件平臺器無關(guān)性。jsp作為java家族的一員,秉承了java技術(shù)的“一次編寫,隨處可用(write once,rum anywhere)”的特性,可以運行于大多數(shù)流行的操作系統(tǒng)平臺及web服務器,這種與服務器硬件和操作系統(tǒng)平臺的無關(guān)性是jsp相對于其它動態(tài)網(wǎng)頁技術(shù)最大的一個優(yōu)點。4. 功能可擴展性。如同microsoft的jsp技術(shù)可以通過activex/com組件來擴展功能一樣,jsp可以通過javabean和ejb(enterprise javabean)以及自定義的標記來擴展功能。jsp可以通過jdbc,與諸如oracle、sql server這樣的大型關(guān)系數(shù)據(jù)庫進行連接。jsp提供了一些隱含對象。這些隱含對象在jsp頁面中可以直接引用,而不必首先聲明。利用jsp提供的這些隱含對象,可以使腳本功能更加強大,并且編程更加容易、方便。例如,利用request對象,可以很容易地接收用戶在html表單中提交的信息。4.5 sqlserver 2000 數(shù)據(jù)庫sql server是由microsoft開發(fā)和推廣的關(guān)系數(shù)據(jù)庫管理系統(tǒng)(dbms),它最初是由microsoft、sybase和ashton-tate三家公司共同開發(fā)的,并于1988年推出了第一個os/2版本。 sql server近年來不斷更新版本,1996年,microsoft 推出了sql server 6.5版本;1998年,sql server 7.0版本和用戶見面;sql server 2000是microsoft公司于2000年推出的最新版本。 sql server 特點:1真正的客戶機/服務器體系結(jié)構(gòu)。 2圖形化用戶界面,使系統(tǒng)管理和數(shù)據(jù)庫管理更加直觀、簡單。 3豐富的編程接口工具,為用戶進行程序設(shè)計提供了更大的選擇余地。 4sql server與windows nt完全集成,利用了nt的許多功能,如發(fā)送和接受消息,管理登錄安全性等。sql server也可以很好地與microsoft backoffice產(chǎn)品集成。 5具有很好的伸縮性,可跨越從運行windows 95/98的膝上型電腦到運行windows 2000的大型多處理器等多種平臺使用。 6對web技術(shù)的支持,使用戶能夠很容易地將數(shù)據(jù)庫中的數(shù)據(jù)發(fā)布到web頁面上。 7sql server提供數(shù)據(jù)倉庫功能,這個功能只在oracle和其他更昂貴的dbms中才有。4.6 系統(tǒng)數(shù)據(jù)庫連接jdbc技術(shù)是java database connectivity的縮寫,它是sun公司提供的一種支持基本sql功能的通用的應用程序接口(application programming interface)。它由一組用java語言編寫的類和接口組成。通過這些類和接口,程序開發(fā)人員可以在java語言中方便地建立與數(shù)據(jù)庫的鏈接,通過執(zhí)行相應sql語句,完成對不同數(shù)據(jù)庫的訪問。因此,開發(fā)人員使用jdbc api可以不必編寫一個應用程序來訪問sybase數(shù)據(jù)庫,又另外編寫一個應用程序去訪問oracle數(shù)據(jù)庫,再寫一個應用程序訪問microsoft的sql server。不但如此,使用java語言編寫的應用程序可以在任何支持java的平臺上運行,不必在不同的平臺上開發(fā)不同的應用程序。簡單地說,jdbc能完成下列三件事:1. 同一個數(shù)據(jù)庫建立連接;2. 向數(shù)據(jù)庫建立連接;3. 處理數(shù)據(jù)庫返回的結(jié)果。jdbc是一種通用低層的應用程序編程接口,它在不同的數(shù)據(jù)庫功能模塊的層次上提供一個統(tǒng)一的用戶界面。說jdbc是一處低級的api,是指它直接調(diào)用sql命令,它比其他的一些數(shù)據(jù)庫連接api要容易使用些,但它有同樣可以作為更高級的,用戶辦面更友好的api或開發(fā)工具基礎(chǔ)。很多可視化的java開發(fā)工具,如visual age for java、visual caf、j+等都提供了基于jdbc的更面向用戶的類和包,直接將關(guān)系數(shù)據(jù)庫的表或視圖映射為java類,程序員通過可視化工具直接對java對象進行操作,而真正需要的sql調(diào)用則根據(jù)程序員發(fā)出的對對象的各種屬性、方法的操作來自動產(chǎn)生。另一種使用jdbc api 的方式為,用戶程序可以提供一個界面(如菜單等)讓用戶選擇對數(shù)據(jù)庫進行的操作,選中一個任務后,提示用戶輸入一些必要的信息,然后根據(jù)用戶的輸入產(chǎn)生相應的sql命令以及java程序。通過這處方式,用戶可以完成對數(shù)據(jù)庫的操作,即使他并不了解sql語法以及jdbc編程。數(shù)據(jù)庫訪問的三層結(jié)構(gòu)如圖5.1所示,瀏覽器端程序要訪問數(shù)據(jù)庫,首先通過中間件,然后由中間件對數(shù)據(jù)庫操作權(quán)限進行認證,認證通過才能對數(shù)據(jù)庫進行操作。圖5.1 使用中間件的數(shù)據(jù)庫訪問三層結(jié)構(gòu)用戶對數(shù)據(jù)庫的存取權(quán)限認證是中間件中完成,對數(shù)據(jù)庫的查詢、插入、更新和刪除操作等都封裝在中間件中,該中間件位于服務器端,中間件對數(shù)據(jù)庫進行操作后,再將處理結(jié)果通過web服務器返回到瀏覽器端用戶。這樣,在用戶端輸入的用戶名和密碼,可以通過加密算法進行加密后在網(wǎng)絡(luò)上傳輸,在中間件中進行解密認證,然后再進行數(shù)據(jù)庫的存取操作,數(shù)據(jù)庫存取權(quán)限的用戶名和密碼出現(xiàn)在位于服務器端的中間件中,這樣就更加安全。本系統(tǒng)采用的正是這樣的三層結(jié)構(gòu)的數(shù)據(jù)庫訪問模式。在三層模型中,命令將被發(fā)送到服務的”中間層”,而”中間層”將sql語句發(fā)送到數(shù)據(jù)庫。數(shù)據(jù)庫處理sql語句并將結(jié)果返回”中間層”,然后”中間層”將它們返回用戶。其模型如圖5.2所示。圖5.2 jdbc的三層模型因為”中間層”可以進行對訪問的控制并協(xié)同數(shù)據(jù)庫的更新,并且可以使用一個易用的高層api,這個api可以由“中間層”進行轉(zhuǎn)換,轉(zhuǎn)換成低層的調(diào)用。所以在許多種情況下,三層模型可以提供更好的性能,本系統(tǒng)中所采用的就是此種模型。jdbc是java應用程序與數(shù)據(jù)庫的溝通橋梁。它提供了三項服務功能:一、與數(shù)據(jù)庫建立連接。二、將sql語句傳遞給數(shù)據(jù)庫。三、從數(shù)據(jù)庫取得sql語句的執(zhí)行結(jié)果。當jdbc要與數(shù)據(jù)庫建立連接前,首先,它必須先取得連接此數(shù)據(jù)庫的jdbc驅(qū)動程序,class.forname()即是在執(zhí)行此項工作。建立數(shù)據(jù)庫連接的第一步驟就是將jdbc驅(qū)動程序的類載入至jvm(java virtuall machine)中,本系統(tǒng)中利用java.lang.class類內(nèi)的forname()靜態(tài)函數(shù)依據(jù)指定的類名稱,將jdbc驅(qū)動程序載入進來。完成載入驅(qū)動程序的步驟后,必須使用java.sal.drivermanager類所提供的getconnection()靜態(tài)函數(shù),取得與數(shù)據(jù)庫間的連接對象。此連接對象的類類型為java.sal.connection,必須通過它才能將sql指令傳遞給數(shù)據(jù)庫,而執(zhí)行結(jié)果也需要通過連接對象來取得。當取得連接對象后,還必須取得statement對象才能對數(shù)據(jù)庫執(zhí)行sql指令。statement主要實現(xiàn)兩個功能:執(zhí)行sql語句以及取得執(zhí)行結(jié)果。在java.sql.statement的sql對象中執(zhí)行查詢或修改命令的函數(shù)后傳回的是一個resultset 對象,這個對象提供了一個存取sql執(zhí)行結(jié)果的管道,以便通過它將表格數(shù)據(jù)從數(shù)據(jù)庫中取出。每個statement對象只能產(chǎn)生一個resultset 對象。數(shù)據(jù)庫連接如圖5.3所示:圖5.3 數(shù)據(jù)庫的連接處理數(shù)據(jù)庫的連接處理具體實現(xiàn)如下:/建立jdbcodbc橋sun.jdbc.odbc.jdbcodbcdriver;/橋建立不成功時的錯誤處理catch(classnotfoundexception event)/建立與數(shù)據(jù)庫的連接,并發(fā)送sql查詢語句,將結(jié)果保存到rs對象中con=建立jdbcodbc橋sql=sql查詢語句執(zhí)行查詢rs=返回結(jié)果/sql出錯處理 catch(sqlexception e1)有了jdbc,向各種關(guān)系數(shù)據(jù)發(fā)送sql語句就是一件很容易的事。換言之,有了jdbc api,就不必為訪問sybase數(shù)據(jù)庫專門寫一個程序,為訪問oracle數(shù)據(jù)庫又專門寫一個程序,或為訪問informix數(shù)據(jù)庫又編寫另一個程序等等,程序員只需用jdbc api寫一個程序就夠了,它可向相應數(shù)據(jù)庫發(fā)送sql調(diào)用。同時,將java語言和jdbc結(jié)合起來使程序員不必為不同的平臺編寫不同的應用程序,只須寫一遍程序就可以讓它在任何平臺上運行,這也是java語言“編寫一次,處處運行”的優(yōu)勢。java數(shù)據(jù)庫連接體系結(jié)構(gòu)是用于java應用程序連接數(shù)據(jù)庫的標準方法。jdbc對java程序員而言是api,對實現(xiàn)與數(shù)據(jù)庫連接的服務提供商而言是接口模型。作為api,jdbc為程序開發(fā)提供標準的接口,并為數(shù)據(jù)庫廠商及第三方中間件廠商實現(xiàn)與數(shù)據(jù)庫的連接提供了標準方法。jdbc使用已有的sql標準并支持與其它數(shù)據(jù)庫連接標準,如odbc之間的橋接。jdbc實現(xiàn)了所有這些面向標準的目標并且具有簡單、嚴格類型定義且高性能實現(xiàn)的接口。java 具有堅固、安全、易于使用、易于理解和可從網(wǎng)絡(luò)上自動下載等特性,是編寫數(shù)據(jù)庫應用程序的杰出語言。所需要的只是 java應用程序與各種不同數(shù)據(jù)庫之間進行對話的方法。而 jdbc 正是作為此種用途的機制。 jdbc 擴展了 java 的功能。例如,用 java 和 jdbc api 可以發(fā)布含有 applet 的網(wǎng)頁,而該 applet 使用的信息可能來自遠程數(shù)據(jù)庫企業(yè)也可以用 jdbc 通過 intranet 將所有職員連到一個或多個內(nèi)部數(shù)據(jù)庫中(即使這些職員所用的計算機有 windows、 macintosh 和unix 等各種不同的操作系統(tǒng))。隨著越來越多的程序員開始使用java 編程語言,對從 java 中便捷地訪問數(shù)據(jù)庫的要求也在日益增加。 mis 管理員們都喜歡 java 和 jdbc 的結(jié)合,因為它使信息傳播變得容易和經(jīng)濟。企業(yè)可繼續(xù)使用它們安裝好的數(shù)據(jù)庫,并能便捷地存取信息,即使這些信息是儲存在不同數(shù)據(jù)庫管理系統(tǒng)上。新程序的開發(fā)期很短。安裝和版本控制將大為簡化。程序員可只編寫一遍應用程序或只更新一次,然后將它放到服務器上,隨后任何人就都可得到最新版本的應用程序。對于商務上的銷售信息服務, java 和jdbc 可為外部客戶提供獲取信息更新的更好方法。簡單地說,jdbc 可做三件事:與數(shù)據(jù)庫建立連接、發(fā)送 sql 語句并處理結(jié)果。下列代碼段給出了以上三步的基本示例: connection con = drivermanager.getconnection(jdbc:odbc:wombat,login, password); statement stmt = con.createstatement(); resultset rs = stmt.executequery(select a, b, c from table1); while (rs.next() int x = rs.getint(a); string s = rs.getstring(b); float f = rs.getfloat(c); 上述代碼對基于jdbc的數(shù)據(jù)庫訪問做了經(jīng)典的總結(jié)。4.6 ajax技術(shù)簡介ajax全稱為“asynchronous javascript and xml”(異步j(luò)avascript和xml),是指一種創(chuàng)建交互式網(wǎng)頁應用的網(wǎng)頁開發(fā)技術(shù)。ajax(asynchronous javascript + xml)的定義 :基于web標準(standards-based presentation)xhtml+css的表示; 使用 dom(document object model)進行動態(tài)顯示及交互; 使用 xml 和 xslt 進行數(shù)據(jù)交換及相關(guān)操作; 使用 xmlhttprequest 進行異步數(shù)據(jù)查詢、檢索; 使用 javascript 將所有的東西綁定在一起。英文參見ajax的提出者jesse james garrett的原文,原文題目(ajax: a new approach to web applications)。類似于dhtml或lamp,ajax不是指一種單一的技術(shù),而是有機地利用了一系列相關(guān)的技術(shù)。事實上,一些基于ajax的“派生/合成”式(derivative/composite)的技術(shù)正在出現(xiàn),如“aflax”。 ajax的應用使用支持以上技術(shù)的web瀏覽器作為運行平臺。第5章 系統(tǒng)分析5.1 功能模塊圖學生信息管理系統(tǒng)班級管理成績管理學生管理科目管理修改密碼5.2 處理流程設(shè)計3.2.1 系統(tǒng)操作流程錯誤信息系統(tǒng)主界面系統(tǒng)登錄界面系統(tǒng)管理輸入操作員及密碼數(shù)據(jù)庫檢查密碼錯誤密碼正確功能界面功能處理5.2.2 數(shù)據(jù)增加流程添加信息時,編號字段由系統(tǒng)自動生成,且不能修改,其他信息由用戶輸入,之后對數(shù)據(jù)進行合法判斷,合法則寫入保存至數(shù)據(jù)庫,不合法則重新輸入數(shù)據(jù)。數(shù)據(jù)增加流程圖:開始自動生成編號輸入數(shù)據(jù)是否合法寫入數(shù)據(jù)庫結(jié)束圖3.2 數(shù)據(jù)增加流程圖5.2.3 數(shù)據(jù)修改流程在修改信息時,先選中一條待修改的記錄,然后直接輸入數(shù)據(jù),判斷合法性,合法則保存至數(shù)據(jù)庫,不合法重新輸入。數(shù)據(jù)修改流程圖如圖3.3所示。開始選擇需要修改記錄輸入數(shù)據(jù)是否合法寫入數(shù)據(jù)庫結(jié)束圖3.3 數(shù)據(jù)修改流程圖5.2.4 數(shù)據(jù)刪除流程當用戶選定一條記錄時,單擊刪除按鈕,會提示用戶是否確定刪除,然后刪除數(shù)據(jù)庫相關(guān)內(nèi)容。數(shù)據(jù)刪除流程圖如圖3.4所示。開始選擇需要刪除記錄是否刪除更新數(shù)據(jù)庫圖3.4 數(shù)據(jù)刪除流程圖5.3 系統(tǒng)e-r圖密碼用戶名用戶管理信息學生管理班級管理科目管理成績修改第6章 系統(tǒng)詳細設(shè)計6.1 管理員登陸當系統(tǒng)登陸時,首先出現(xiàn)的是一個用戶權(quán)限登陸的界面, 權(quán)限設(shè)置主要是維護系統(tǒng)的安全性和完整性。擁有管理員權(quán)限的操作員能進行相應的權(quán)限設(shè)置。如下圖所示:主要代碼如下:package util;import java.sql.*;public class dbconn static try class.forname(com.microsoft.jdbc.sqlserver.sqlserverdriver);/ class.forname(com.mysql.jdbc.driver); / class.forname(sun.jdbc.odbc.jdbcodbcdriver); catch(exception ex) ex.printstacktrace(); public static connection getconn() try connection conn=drivermanager.getconnection(jdbc:microsoft:sqlserver:/localhost:1433;databasename=hshygl,sa,123);/ conn = drivermanager.getconnection(jdbc:mysql:/localhost/fzshop,root,123);/ connection conn=drivermanager.getconnection(jdbc:odbc:temp); return conn; catch(exception ex) ex.printstacktrace(); return null; public static void close(connection conn,statement st,resultset rs) if(rs!=null) try rs.close(); catch(sqlexception ex) if(st!=null) try st.close(); catch(exception ex) if(conn!=null) try conn.close(); catch(exception ex) 6.2 學生管理此模塊下可以對學生進行添加,刪除的功能。界面如下圖所示:主要代碼如下:package util;import java.io.unsupportedencodingexception;import java.text.simpledateformat;import java.util.date;public class validate /* * 是否為數(shù)字和英文驗證 * */public int getintandchar(string str)char c;int i;for (i = 0; i=0 & c=a & c=a & c=z)break;/判斷字符是否在某個區(qū)間if(i str.length()return -1;elsereturn 0;/* * 是否為整數(shù)驗證 * */public int getint(string str)char c;int i;for (i = 0; i=0 & c=9)break;/判斷字符是否在某個區(qū)間if(i str.length()return -1;elsereturn 0;/* * 是否為非法字符驗證 * */public boolean getlawlesschar(string str)boolean flag = false;char c;for(int i = 0;i str.length();i+)c = str.charat(i);switch(c)case : flag = true; break;case : flag = true; break;case & : flag = true; break;case : flag = true; break;return flag;6.3 班級信息管理此模塊下可以對班級信息進行添加,修改,刪除的功能。界面如下圖所示:主要代碼如下:package servlet;import java.io.ioexception;import java.io.printwriter;import java.text.simpledateformat;import java.util.calendar;import java.util.date;import javax.servlet.requestdispatcher;import javax.servlet.servletexception;import javax.servlet.http.httpservlet;import javax.servlet.http.httpservletrequest;import javax.servlet.http.httpservletresponse;import util.validate;import bean.insertupdatedelbean;public class amountservlet extends httpservlet /* * constructor of the object. */public amountservlet() super();/* * destruction of the servlet. */public void destroy() super.destroy(); / just puts destroy string in log/ put your code here/* * the doget method of the servlet. * * this method is called when a form has its tag value method equals to get. * * param request the request send by the client to the server * param response the response send by the server to the client * throws servletexception if an error occurred * throws ioexception if an error occurred */public void doget(httpservletrequest request, httpservletresponse response)throws servletexception, ioexception dopost(request, response);/* * the dopost method of the servlet. * * this method is called when a form has its tag value method equals to post. * * param request the request send by the client to the server * param response the response send by the server to the client * throws servletexception if an error occurred * throws ioexception if an error occurred */public void dopost(httpservletrequest request, httpservletresponse response)throws servletexception, ioexception response.setcontenttype(text/html;charset=gb2312);request.setcharacterencoding(gb2312);string id = request.getparameter(id);string amount = request.getparameter(amount);string sql = update users set amount=amount+amount+ where id=+id;insertupdatedelbean ib = new insertupdatedelbean();ib.insertandupdateanddel(sql);sql = insert into payment(usersid,name,price) values(+id+,學生信息管理,+amount+);ib.insertandupdateanddel(sql);request.setattribute(message, 操作成功!);requestdispatcher rd=request.getrequestdispatcher(/admin/users_amount.jsp);rd.forward(request,response);6.4 成績管理此模塊下可以對成績進行管理,包括對學生成績的添加、修改、刪除。界面如下圖所示:主要代碼如下:package servlet;import java.io.ioexception;import java.util.arraylist;import javax.servlet.requestdispatcher;import javax.servlet.servletexception;import javax.servlet.http.httpservlet;import javax.servlet.http.httpservletrequest;import javax.servlet.http.httpservletresponse;import util.validate;import bean.allbean;import bean.insertupdatedelbean;import bean.selectbean;public class begindateservlet extends httpservlet /* * constructor of the object. */public begindateservlet() super();/* * destruction of the servlet. */public void destroy() super.destroy(); / just puts destroy string in log/ put your code here/* * the doget method of the servlet. * * this method is called when a for
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025屆安徽省舒城龍河中學化學高二下期末聯(lián)考模擬試題含解析
- 吉林省長春市“BEST合作體”2025屆化學高二下期末綜合測試試題含解析
- 2025屆廣州協(xié)和中學高二化學第二學期期末檢測模擬試題含解析
- 機械非標造價管理辦法
- 區(qū)內(nèi)惡意挖人管理辦法
- 安全行為量化分析-洞察及研究
- 機械式停車設(shè)備安全評價體系構(gòu)建及權(quán)重優(yōu)化研究
- 華為運用啟動管理辦法
- 初中舞蹈教學中情境教學法的應用與研究
- 公開競價招租管理辦法
- 2024年09月年中國農(nóng)業(yè)發(fā)展銀行江蘇省分行秋季校園招聘(86人)筆試歷年參考題庫附帶答案詳解
- 2025年江蘇省揚州市中考作文4篇范文:“尊重”“誠實”“創(chuàng)造性”“美好生活”
- 2025年輔警招聘考試試題庫含完整答案
- 2025年吉林省中考語文試卷及答案
- 2024-2025學年度天津鐵道職業(yè)技術(shù)學院單招《語文》真題附答案詳解(突破訓練)
- 快遞行業(yè)市場發(fā)展分析及投資前景研究報告2025-2028版
- 2025年國情與形勢政策教育綱要
- 《基本樂理》師范與學前教育專業(yè)基本樂理相關(guān)知識全套教學課件
- 2025年安徽省中考物理試題(原卷版)
- 2025-2026年中國臺球產(chǎn)業(yè)消費趨勢報告
- 2025年高考英語全國新高考II卷深度解讀及答案詳解
評論
0/150
提交評論