jsp15公安海警學(xué)院值班管理系統(tǒng)(jsp+servlet+mysql)-qkr_第1頁
jsp15公安海警學(xué)院值班管理系統(tǒng)(jsp+servlet+mysql)-qkr_第2頁
jsp15公安海警學(xué)院值班管理系統(tǒng)(jsp+servlet+mysql)-qkr_第3頁
jsp15公安海警學(xué)院值班管理系統(tǒng)(jsp+servlet+mysql)-qkr_第4頁
jsp15公安海警學(xué)院值班管理系統(tǒng)(jsp+servlet+mysql)-qkr_第5頁
已閱讀5頁,還剩24頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

理學(xué)學(xué)士學(xué)位論文前言PAGEV前言隨著我國科學(xué)技術(shù)的進(jìn)步和綜合國力的增強(qiáng),計(jì)算機(jī)在我們學(xué)習(xí)生活中有著越來越多的應(yīng)用,我們對計(jì)算機(jī)的依賴也越來越強(qiáng)烈。可以說,離開了計(jì)算機(jī)我們的日常生活都不能得到保證。然而,在計(jì)算機(jī)如此普及的今天,有一些領(lǐng)域卻還沒有廣泛應(yīng)用這個(gè)強(qiáng)大的工具,比如說一些學(xué)校,機(jī)構(gòu)的排班管理。為此,我們開發(fā)了這個(gè)公安海警學(xué)院值班管理系統(tǒng),旨在能為學(xué)校解決一點(diǎn)實(shí)際問題,同時(shí)積累一點(diǎn)開發(fā)經(jīng)驗(yàn),為以后的功能完善打下一定的基礎(chǔ)。本系統(tǒng)由我個(gè)人完成,對于幾個(gè)即將畢業(yè)的大學(xué)生。開發(fā)經(jīng)驗(yàn)不足是最大的問題。在開發(fā)過程中我們本著積極的學(xué)習(xí)精神,遇到問題迎頭而上,解決問題后又倍感欣慰。同組的幾位同學(xué)有著較強(qiáng)的團(tuán)隊(duì)合作精神,相互之間討論、解決問題的合作精神更值得稱贊。指導(dǎo)老師吳志誠積極負(fù)責(zé),引導(dǎo)和監(jiān)督我們的開發(fā)過程。這幾個(gè)月的系統(tǒng)開發(fā)時(shí)間里,我們學(xué)到了很多。我們能在以后的工作學(xué)習(xí)做了一個(gè)好的開頭。并能將這種不怕困難的精神堅(jiān)持到底。理學(xué)學(xué)士學(xué)位論文 摘要摘要現(xiàn)代大學(xué)的假期設(shè)置越來越科學(xué),大學(xué)的學(xué)習(xí)方式也在不斷的更新,許多國內(nèi)的大學(xué)開始向國際化方向發(fā)展,采用更合理的方式進(jìn)行管理。然而,要采用這樣一種先進(jìn)的模式,首先要面對就是值班安排的這一問題。在以往的值班管理中,許多高校只能通過人工的方式生成。伴隨著假期范圍的不斷擴(kuò)大,值班人員也不斷增加,龐大的假期、還有值班人員令學(xué)校的教務(wù)安排人員眼花繚亂,無法迅速、高效地完成值班安排任務(wù)。值班管理系統(tǒng)就是為了解決這一問題而開發(fā)的。它對舊的排班方式方法是一種革命性的沖擊。值班管理系統(tǒng)具有高效性、靈活性、可重復(fù)利用性等特點(diǎn)。它可以輕松、合理的解決了高校的值班問題。關(guān)鍵詞:值班算法;值班系統(tǒng);智能;JSP;理學(xué)學(xué)士學(xué)位論文 ABSTRACTABSTRACTThemodernuniversitydiscipline’sinstallationismoreandmorescience,alotofdomesticuniversitiesbegintodeveloptowardinternationalization,adopttheadministrativesystemofthecreditsystem.Butisitadoptadvancedmodethistowant,shouldfirstfaceitiswhomstudentbaseonatthecourseofselectingthatarrangethisproblemofhowtoproduceoftheschooltimetable.Inpastteachingmanagement,alotofuniversitiescanonlyproducethroughartificialway.Followingtheconstantenlargementofthedisciplinerange,disciplinesubjectofallinstitutedepartmentisgettingmoreandmoretoo,makeeducationaladministrationoftheschoolarrangepersonneldazzledlyinhugeperiod,teacher,classroominformation,itisunabletoaccomplishthetaskofarrangingthelessonfast,high-efficient.Itisdevelopedinordertosolvethisproblemthatintelligencearrangesthelessonsystem.Itisakindofrevolutionaryimpacttooldarrangingthemethodsofthelesson.Itlastlessonintelligencethesystemsthereisefficiency,flexibility,cansuchcharacteristicsasre-utilizing,etc.Itcanlight,reasonablesettlementuniversityarrangetheproblemofthelesson.Keywords:Arrangealessonofalgorithms;Arrangethelessonsystem;Intelligence;theschooltimetableisadjusted;JSP;理學(xué)學(xué)士學(xué)位論文目錄目錄TOC\o"1-3"\h\z前言 I摘要 IIABSTRACT III第一章緒論 11.1

項(xiàng)目背景 11.2

本文所作工作 1第二章相關(guān)技術(shù)介紹 32.1JSP簡介 32.1.1JSP開發(fā)背景及發(fā)展趨勢 32.2.2JSP編程的特點(diǎn)及優(yōu)勢 32.2JDBC簡介 62.2.1

JDBC概述 72.2.2

JDBC的設(shè)計(jì)目標(biāo) 72.3開發(fā)工具介紹 92.3.1

myeclipse介紹 92.3.2

mysql介紹 92.3.3

B/S介紹 10第三章需求分析 123.1排班系統(tǒng)使用現(xiàn)狀 123.2本系統(tǒng)的主要作用 12第四章總體設(shè)計(jì) 134.1

系統(tǒng)功能模塊劃分 134.1.1系統(tǒng)管理與維護(hù) 134.1.2排班算法設(shè)計(jì)與實(shí)現(xiàn) 134.2

系統(tǒng)的數(shù)據(jù)字典 13第五章詳細(xì)設(shè)計(jì)與實(shí)現(xiàn) 145.1數(shù)據(jù)庫連接 155.2列表查詢功能 15第六章系統(tǒng)運(yùn)行情況 18第七章尚待解決的問題 21參考文獻(xiàn) 22理學(xué)學(xué)士學(xué)位論文第一章緒論第一章緒論1.1

項(xiàng)目背景值班管理是每一個(gè)學(xué)校必須面對的問題,以前各學(xué)校的排班都是通過手工排出來了,不僅效率低,而且可變更性差,通常是經(jīng)過很多次調(diào)整后確定的,給教學(xué)工作帶來極大的不便。在計(jì)算機(jī)被廣泛應(yīng)用的今天,我們要充分利用計(jì)算機(jī)的優(yōu)勢,不僅大大提高了工作效率,而且提高了排班的可重用性。使排班不再成為各學(xué)校的難題。尤其對于復(fù)雜的信息管理,計(jì)算機(jī)能夠充分發(fā)揮它的優(yōu)越性。計(jì)算機(jī)進(jìn)行信息管理與信息管理系統(tǒng)的開發(fā)密切相關(guān),系統(tǒng)的開發(fā)是系統(tǒng)管理的前提。本系統(tǒng)就是為了利用計(jì)算機(jī)進(jìn)行排班而設(shè)計(jì)的?,F(xiàn)今,有很多的學(xué)校尚未使用計(jì)算機(jī)進(jìn)行排班。根據(jù)調(diào)查得知,他們以前對排班的主要方式是通過手工處理,首先統(tǒng)計(jì)假期時(shí)間和值班人員,首先進(jìn)行第一次排班,得出一個(gè)初稿,再在這個(gè)基礎(chǔ)之上進(jìn)行多次修改,直到滿意為止。這樣看來,缺乏系統(tǒng),規(guī)范的方法。盡管有的學(xué)校有計(jì)算機(jī),但是尚未用于排班,沒有發(fā)揮它的效率,資源閑置比較突出,這就是管理信息系統(tǒng)的開發(fā)的基本環(huán)境。數(shù)據(jù)處理手工操作,工作量大,出錯率高,出錯后不易更改。基于這此問題,我認(rèn)為有必要建立一個(gè)排班系統(tǒng),使排班工作規(guī)范化,系統(tǒng)化,程序化,避免排班的隨意性,提高信息處理的速度和準(zhǔn)確性,能夠及時(shí)、準(zhǔn)確、有效的查詢和修改排班情況。1.2

本文所作工作第一章是緒論部分,分析了智能排班系統(tǒng)開發(fā)的背景,正確定位本系統(tǒng)。第二章介紹了開發(fā)本系統(tǒng)的相關(guān)技術(shù),主要有:JSP、JDBC、MVC模式和WebWork。為系統(tǒng)的開發(fā)提供了技術(shù)支持。第三章是排班系統(tǒng)的需求分析,簡單介紹了本系統(tǒng)的作用、使用現(xiàn)狀、和開發(fā)預(yù)想。第四章根據(jù)第三章的需求分析結(jié)果進(jìn)行了總體設(shè)計(jì)規(guī)劃。這一章將詳細(xì)介紹本系統(tǒng)的功能和設(shè)計(jì)細(xì)節(jié)。包括系統(tǒng)功能模塊設(shè)計(jì)和數(shù)據(jù)庫設(shè)計(jì)。第五章著重介紹了調(diào)整與調(diào)度模塊的詳細(xì)開發(fā)過程。這一章是本文的重點(diǎn)。第六章對系統(tǒng)介紹了運(yùn)行平臺級平臺搭建過程。本系統(tǒng)是在JSP+mysql的基礎(chǔ)上開發(fā)的。第七章分析了系統(tǒng)現(xiàn)在存在或?qū)砜赡艹霈F(xiàn)的問題,為系統(tǒng)的茁壯成長定下調(diào)子。理學(xué)學(xué)士學(xué)位論文第二章相關(guān)技術(shù)介紹第二章相關(guān)技術(shù)介紹2.1JSP簡介本系統(tǒng)的開發(fā)語言為JSP,作為一門隨同Java發(fā)展起來的技術(shù),JSP有著它獨(dú)特魅力,成為廣大系統(tǒng)、網(wǎng)絡(luò)開發(fā)者的最愛。2.1.1JSP開發(fā)背景及發(fā)展趨勢就目前的現(xiàn)狀和發(fā)展趨勢來看,Internet已經(jīng)全面深入的滲入人們的日常生活中,并且人們對于它的這種依賴只會加強(qiáng),而不會減弱。使用網(wǎng)絡(luò)對很多人來說已經(jīng)不再是一個(gè)新事物,電子商務(wù)、信息查詢、交友聊天等諸多實(shí)際需求的出現(xiàn),是人們早已不再滿足于Web技術(shù)發(fā)展初期的由文本、圖形、和超鏈接組成的靜態(tài)信息的發(fā)布與交流,為了擴(kuò)展它的功能,我們需要將Web技術(shù)和數(shù)據(jù)庫連接,是用戶得到更多的信息和有用數(shù)據(jù)。人們希望網(wǎng)絡(luò)編程語言簡潔、易懂、功能強(qiáng)大,更希望Web技術(shù)能做到和操作系統(tǒng)無關(guān),使開發(fā)出來的產(chǎn)品可重用性和可擴(kuò)展性得到更大的發(fā)揮。在這種大背景下,JSP應(yīng)運(yùn)而生了,它很好的解決了上述問題,因此,JSP與ASP、PHP共同成為當(dāng)今Web編程的三大主流技術(shù),但JSP在網(wǎng)絡(luò)安全性、高效性等方面比其它兩種做得更好,可以說JSP必將取代其他兩種技術(shù)。2.2.2JSP編程的特點(diǎn)及優(yōu)勢JSP是英文JavaServerPages的縮寫,它是Sun公司開發(fā)的一種新型動態(tài)網(wǎng)頁編程技術(shù)。JSP源代碼能直接插入到HTML中,只需要在代碼前后加上<%…%>作為標(biāo)志就行了,由于JSP技術(shù)是從Java編程語言中的Servlet技術(shù)擴(kuò)展而來,因此它成功的實(shí)現(xiàn)了動態(tài)頁面和靜態(tài)頁面的分離以及程序代碼與硬件平臺的無關(guān)性。JSP為創(chuàng)建顯示動態(tài)生成內(nèi)容的Web頁面提供了一個(gè)簡捷而快速的方法。JSP技術(shù)的設(shè)計(jì)目的是使得構(gòu)造基于Web的應(yīng)用程序更加容易和快捷,而這些應(yīng)用程序能夠與各種Web服務(wù)器,應(yīng)用服務(wù)器,瀏覽器和開發(fā)工具共同工作。JSP規(guī)范是Web服務(wù)器、應(yīng)用服務(wù)器、交易系統(tǒng)、以及開發(fā)工具供應(yīng)商間廣泛合作的結(jié)果。在傳統(tǒng)的網(wǎng)頁HTML文件(*htm,*.html)中加入Java程序片段(Scriptlet)和JSP標(biāo)記(tag),就構(gòu)成了JSP網(wǎng)頁(*.JSP)。Web服務(wù)器在遇到訪問JSP網(wǎng)頁的請求時(shí),首先執(zhí)行其中的程序片段,然后將執(zhí)行結(jié)果以HTML格式返回給客戶。程序片段可以操作數(shù)據(jù)庫、重新定向網(wǎng)頁以及發(fā)送email等等,這就是建立動態(tài)網(wǎng)站所需要的功能。所有程序操作都在服務(wù)器端執(zhí)行,網(wǎng)絡(luò)上傳送給客戶端的僅是得到的結(jié)果,對客戶瀏覽器的要求最低,可以實(shí)現(xiàn)無Plugin,無ActiveX,無JavaApplet,甚至無Frame。JSP技術(shù)在多個(gè)方面加速了動態(tài)Web頁面的開發(fā):內(nèi)容的生成和顯示進(jìn)行分離使用JSP技術(shù),Web頁面開發(fā)人員可以使用HTML或者XML標(biāo)識來設(shè)計(jì)和格式化最終頁面。使用JSP標(biāo)識或者小腳本來生成頁面上的動態(tài)內(nèi)容(內(nèi)容是根據(jù)請求來變化的,例如請求帳戶信息或者特定的一瓶酒的價(jià)格)。生成內(nèi)容的邏輯被封裝在標(biāo)識和JavaBeans組件中,并且捆綁在小腳本中,所有的腳本在服務(wù)器端運(yùn)行。如果核心邏輯被封裝在標(biāo)識和Beans中,那么其他人,如Web管理人員和頁面設(shè)計(jì)者,能夠編輯和使用JSP頁面,而不影響內(nèi)容的生成。在服務(wù)器端,JSP引擎解釋JSP標(biāo)識和小腳本,生成所請求的內(nèi)容(例如,通過訪問JavaBeans組件,使用JDBCTM技術(shù)訪問數(shù)據(jù)庫,或者包含文件),并且將結(jié)果以HTML(或者XML)頁面的形式發(fā)送回瀏覽器。這有助于作者保護(hù)自己的代碼,而又保證任何基于HTML的Web瀏覽器的完全可用性。強(qiáng)調(diào)可重用的組件絕大多數(shù)JSP頁面依賴于可重用的,跨平臺的組件(JavaBeans或者EnterpriseJavaBeansTM組件)來執(zhí)行應(yīng)用程序所要求的更為復(fù)雜的處理。開發(fā)人員能夠共享和交換執(zhí)行普通操作的組件,或者使得這些組件為更多的使用者或者客戶團(tuán)體所使用。基于組件的方法加速了總體開發(fā)過程,并且使得各種組織在他們現(xiàn)有的技能和優(yōu)化結(jié)果的開發(fā)努力中得到平衡。采用標(biāo)識簡化頁面開發(fā)Web頁面開發(fā)人員不會都是熟悉腳本語言的編程人員。JavaServerPage技術(shù)封裝了許多功能,這些功能是在易用的、與JSP相關(guān)的XML標(biāo)識中進(jìn)行動態(tài)內(nèi)容生成所需要的。標(biāo)準(zhǔn)的JSP標(biāo)識能夠訪問和實(shí)例化JavaBeans組件,設(shè)置或者檢索組件屬性,下載Applet,以及執(zhí)行用其他方法更難于編碼和耗時(shí)的功能。通過開發(fā)定制化標(biāo)識庫,JSP技術(shù)是可以擴(kuò)展的。今后,第三方開發(fā)人員和其他人員可以為常用功能創(chuàng)建自己的標(biāo)識庫。這使得Web頁面開發(fā)人員能夠使用熟悉的工具和如同標(biāo)識一樣的執(zhí)行特定功能的構(gòu)件來工作。JSP技術(shù)很容易整合到多種應(yīng)用體系結(jié)構(gòu)中,以利用現(xiàn)存的工具和技巧,并且擴(kuò)展到能夠支持企業(yè)級的分布式應(yīng)用。作為采用Java技術(shù)家族的一部分,以及Java2(企業(yè)版體系結(jié)構(gòu))的一個(gè)組成部分,JSP技術(shù)能夠支持高度復(fù)雜的基于Web的應(yīng)用。由于JSP頁面的內(nèi)置腳本語言是基于Java編程語言的,而且所有的JSP頁面都被編譯成為JavaServlet,JSP頁面就具有Java技術(shù)的所有好處,包括健壯的存儲管理和安全性。作為Java平臺的一部分,JSP擁有Java編程語言"一次編寫,各處運(yùn)行"的特點(diǎn)。隨著越來越多的供應(yīng)商將JSP支持添加到他們的產(chǎn)品中,您可以使用自己所選擇的服務(wù)器和工具,更改工具或服務(wù)器并不影響當(dāng)前的應(yīng)用。當(dāng)與Java2平臺,企業(yè)版(J2EE)和EnterpriseJavaBean技術(shù)整合時(shí),JSP頁面將提供企業(yè)級的擴(kuò)展性和性能,這對于在虛擬企業(yè)中部署基于Web的應(yīng)用是必需的。技術(shù)分析Microsoft公司的ASP技術(shù)也是動態(tài)網(wǎng)頁開發(fā)技術(shù)。JSP和ASP從形式上非常相似,ASP程序員一眼就能認(rèn)出<%%>以及<%=%>。但是深入探究下去會發(fā)現(xiàn)它們很多的差別,其中最主要的有以下三點(diǎn):1、JSP的效率和安全性更高ASP以源碼形式存放,以解釋方式運(yùn)行,每次ASP網(wǎng)頁調(diào)用都需要對源碼進(jìn)行解釋,運(yùn)行效率不高。另外,IIS的漏洞曾使得許多網(wǎng)站源程序大曝光,包括筆者以前用ASP開發(fā)的網(wǎng)站,ASP程序全部被人下載了去。JSP在執(zhí)行以前先被編譯成字節(jié)碼(bytecode),字節(jié)碼由Java虛擬機(jī)(JavaVirtualMachine)解釋執(zhí)行,比源碼解釋的效率高;服務(wù)器上還有字節(jié)碼的Cache機(jī)制,能提高字節(jié)碼的訪問效率。第一次調(diào)用JSP網(wǎng)頁可能稍慢,因?yàn)樗痪幾g成Cache,以后就快得多了。同時(shí),JSP源程序不大可能被下載,特別是JavaBean程序完全可以放到不對外的目錄中。2、JSP的組件(Component)方式更方便ASP通過COM來擴(kuò)充復(fù)雜的功能,如文件上載、發(fā)送email以及將業(yè)務(wù)處理或者復(fù)雜計(jì)算分離出來成為獨(dú)立可重復(fù)利用的模塊。JSP通過JavaBean實(shí)現(xiàn)了同樣的功能擴(kuò)充。在開發(fā)方面,COM的開發(fā)遠(yuǎn)比JavaBean復(fù)雜和繁瑣,學(xué)會ASP不難,但學(xué)會開發(fā)COM可不簡單。而JavaBean就簡單多了,從本文上述示例中可以看出開發(fā)JavaBean很方便。在維護(hù)方面,COM必須在服務(wù)器上注冊,如果修改了COM程序,就必須重新注冊,甚至必須關(guān)機(jī)和重新啟動。JavaBean則不需要注冊,放在CLASSPATH包含的目錄中就行了。如果JavaBean進(jìn)行了修改,則JSWDK和Tomcat現(xiàn)在還需要關(guān)閉和重新運(yùn)行(但不是關(guān)機(jī)),但開發(fā)者已經(jīng)許諾將在以后的版本中做到不需要關(guān)閉服務(wù)器。另外JavaBean是完全的OOP,可以針對不同的業(yè)務(wù)處理功能方便地建立一整套可重復(fù)利用的對象庫,例如用戶權(quán)限控制、email自動回復(fù)等等。3、JSP的適應(yīng)平臺更廣ASP目前僅適用于NT和IIS。雖然Unix下有ChiliSoft的插件來支持ASP,但是ASP本身的功能有限,必須通過ASP+COM的組合來擴(kuò)充,Unix下的COM實(shí)現(xiàn)起來非常困難。JSP的具體執(zhí)行過程如下:1、由客戶端的瀏覽器,以超文本形式通過表單向Web服務(wù)器提出請求。2、服務(wù)器得到客戶端的請求后,由Web服務(wù)器上的JSP引擎把JSP代碼、組件、Java腳本以及HTML代碼,轉(zhuǎn)換為Servlet代碼。3、JSP引擎服務(wù)器端的Java編譯器對Servlet代碼進(jìn)行編譯JDK執(zhí)行編譯文件,并向客戶端發(fā)送HTML文件2.2JDBC簡介JDBC是執(zhí)行SQL語句的JavaAPI。JDBC即“JavaDatabaseConnectivity”(Java數(shù)據(jù)庫連接),它由一組用Java語言編寫的類與接口組成,已成為一種數(shù)據(jù)庫連接的標(biāo)準(zhǔn)。2.2.1

JDBC概述計(jì)算機(jī)環(huán)境的分布式意味著在分布式環(huán)境中的每一個(gè)節(jié)點(diǎn)都是一個(gè)小的計(jì)算機(jī)單元。客戶機(jī)/服務(wù)器(C/S)技術(shù)是分布式的一個(gè)例子。在它的核心層上,客戶機(jī)是需求者,服務(wù)器是給予者。但并不是說,客戶機(jī)就不能夠創(chuàng)建新的信息發(fā)送給服務(wù)器;大多數(shù)情況下,很多的客戶機(jī)連接到一個(gè)服務(wù)器上。這個(gè)服務(wù)器是一個(gè)典型的包含所有信息的資源庫(因此有了數(shù)據(jù)庫這個(gè)術(shù)語)。

C/S可以根據(jù)許多計(jì)算的要求給出各種各樣的方案。Java完美地集成了C/S模式。網(wǎng)絡(luò)可能代表著一個(gè)最好的例子,從某種角度講它就是一個(gè)分布式C/S環(huán)境。另外,Java正努力改進(jìn)以便更容易開發(fā)C/S程序。JDBC是Java新增加的內(nèi)容之一,它幾乎使得任何種類的C/S實(shí)現(xiàn)更容易。

JDBC是一套API集合,該集合設(shè)置了許多允許Java程序連接數(shù)據(jù)庫的框架。JDBC操作在某些方面看起來和ODBC一樣。區(qū)別是ODBC不能在Java程序中直接實(shí)現(xiàn),原因是ODBC是用C語言寫的。然而JDBC提供了JDBC/ODBC之間的橋梁。使用JDBC可以很容易地把SQL語句傳送到任何關(guān)系數(shù)據(jù)庫中。JDBC的基本功能包括建立與數(shù)據(jù)庫的連接,發(fā)送SQL語句和處理結(jié)果。JDBC提供了連接數(shù)據(jù)庫的幾種方法:

·與數(shù)據(jù)源直接通信

使用JDBC和數(shù)據(jù)庫已制定的協(xié)議時(shí),可使用一個(gè)驅(qū)動程序直接與數(shù)據(jù)源通信。既可以建立自己的驅(qū)動程序,也可找一個(gè)公用的。

·通過JDBC驅(qū)動程序的通信

可連接到一個(gè)高標(biāo)準(zhǔn)的驅(qū)動程序上,該驅(qū)動程序依次與另一個(gè)可與數(shù)據(jù)源通信的專用驅(qū)動程序通信。

·與ODBC數(shù)據(jù)源通信

一個(gè)公開可用的專用驅(qū)動程序是JDBC/ODBC橋梁驅(qū)動程序,它是Javasoft公司開發(fā)的,允許應(yīng)用程序與ODBC數(shù)據(jù)源相連。2.2.2

JDBC的設(shè)計(jì)目標(biāo)

JDBC設(shè)想為建立數(shù)據(jù)庫連接從Java內(nèi)部填補(bǔ)一個(gè)調(diào)用級SQLAPI的空白,因此其核心在于執(zhí)行SQL語句,然后接收其結(jié)果。JDBCAPI由多個(gè)抽象的Java接口組成(在Java中,一個(gè)接口如同一個(gè)類),以滿足標(biāo)準(zhǔn)的數(shù)據(jù)庫查詢需求,如連接到特定的數(shù)據(jù)庫,執(zhí)行SQL語句以及處理查詢結(jié)果。以圖形表示如下(圖2-1):圖2-1JDBC連接數(shù)據(jù)庫方式兩個(gè)模型說明了分布式計(jì)算環(huán)境的分類,在其中可以使用JDBC。第一種情況是有一個(gè)大的數(shù)據(jù)庫并希望有直接連接到該數(shù)據(jù)庫的程序。這是一個(gè)兩層模型,其中,有一個(gè)下載的程序,由其直接連接返回到數(shù)據(jù)庫,處理查詢并為用戶提供結(jié)果。當(dāng)在一個(gè)安全的環(huán)境中運(yùn)行時(shí),該模型往往是恰當(dāng)?shù)模缫粋€(gè)內(nèi)部的Intranet,在其中允許Java程序直接與數(shù)據(jù)庫通信。當(dāng)數(shù)據(jù)庫是只讀時(shí),該模型也很適宜。作為選擇,三層模型有一個(gè)以Java編寫的應(yīng)用服務(wù)器作為訪問數(shù)據(jù)庫均媒介。在這種情況下,可以下載一個(gè)與Java應(yīng)用服務(wù)器通信的Java程序,Java程序又轉(zhuǎn)而與相關(guān)數(shù)據(jù)庫通信。當(dāng)需要額外的約束條件、額外的語義以及不容易直接向數(shù)據(jù)庫表達(dá)的數(shù)據(jù)庫訪問時(shí),該模型尤為適宜。JDBC的一個(gè)主要目標(biāo)是既支持兩層模型也支持三層模型。2.3開發(fā)工具介紹2.3.1

myeclipse介紹MyEclipse達(dá)到了企業(yè)工作臺水平,是EclipseIDE擴(kuò)展,用戶可以用它來大大提高效率的數(shù)據(jù)庫和JavaEE開發(fā)、釋放、和應(yīng)用程序服務(wù)器的集成。它是功能豐富的JavaEE集成開發(fā)環(huán)境,包括了完備的編碼、調(diào)試、測試和發(fā)布功能,完整支持HTML,Struts,JSP,CSS,Javascript,Spring,SQL,Hibernate。MyEclipse是適合用來開發(fā)Java,J2EE的Eclipse插件集合。MyEclipse的功能特別強(qiáng)大,支持面廣泛,特別是對各種開放源產(chǎn)品的支持效果很是不錯。MyEclipse目前支持JavaServlet,AJAX,JSP,JSF,Struts,Spring,Hibernate,EJB3,JDBC數(shù)據(jù)庫鏈接工具等多項(xiàng)功能。在結(jié)構(gòu)上,MyEclipse的特征可以被分為7類:1.J2EE模型2.WEB開發(fā)工具3.EJB開發(fā)工具4.應(yīng)用程序服務(wù)器的連接器5.J2EE項(xiàng)目部署服務(wù)6.數(shù)據(jù)庫服務(wù)7.MyEclipse整合幫助以上所有功能,在Eclipse中都可以找到對應(yīng)功能部件。這些功能的實(shí)現(xiàn)是利用一系列的插件。MyEclipse的結(jié)構(gòu)上是模塊化的,這樣可以在不影響其他模塊在任何單個(gè)模塊擴(kuò)展和升級。簡單來說,MyEclipse的是Eclipse插件,J2EE的集成,支持代碼編寫,配置,測試和調(diào)試功能強(qiáng)大的開發(fā)環(huán)境。2.3.2

mysql介紹MySQL是一個(gè)開發(fā)性的關(guān)系型數(shù)據(jù)庫管理系統(tǒng)。它將數(shù)據(jù)存儲在不同的表,并不是簡單的將所有數(shù)據(jù)都放在一個(gè)大型的倉庫。它是可以提高數(shù)據(jù)讀取的速度和靈活性的RDBMS。[7]MySQL的SQL語言是用于訪問數(shù)據(jù)庫的最常用標(biāo)準(zhǔn)化語言。MySQL軟件擁有社區(qū)版和商業(yè)版兩大版本。因?yàn)镸ySQL體積小、速度快、總成本低,尤其是開放源碼這一特點(diǎn),所以得到了大小型網(wǎng)站開發(fā)者的青睞,他們都十分愿意選擇MySQL作為數(shù)據(jù)庫。[8]一般對于個(gè)人使用者來說MySQL的功能已經(jīng)十分全面了。在多次比較了Oracle、DB2、SQLserver之后,本論文還是選擇了MySQL作為新月出租車公司管理系統(tǒng)的數(shù)據(jù)庫。2.3.3

B/S介紹B/S結(jié)構(gòu)就是只安裝和維護(hù)一個(gè)服務(wù)器,客戶端是利用瀏覽器來運(yùn)行軟件。隨著Internet技術(shù)的興起和發(fā)展。C/S結(jié)構(gòu)已經(jīng)無法滿足人們的要求。于是人們開始變換的C/S,這產(chǎn)生了B/S結(jié)構(gòu)。B/S比C/S的維護(hù)工作量大大減少了。[9]C/S結(jié)構(gòu)的每個(gè)客戶端都必須安裝和配置軟件。B/S能夠降低總體擁有成本。隨著計(jì)算機(jī)技術(shù)的發(fā)展,目前大多數(shù)科技公司都不約而同的對數(shù)據(jù)提出了實(shí)時(shí)性、一致性和安全性等這些要求。傳統(tǒng)類型C/S結(jié)構(gòu)根本達(dá)不到這些要求,迫切的需要做出改變。但是B/S結(jié)構(gòu)則不同,它可以清楚正確的看到系統(tǒng)正在處理的業(yè)務(wù),這樣有利于管理人員快速的做出決策,有效地避免了企業(yè)經(jīng)濟(jì)上的虧損。B/S結(jié)構(gòu)的軟件,因?yàn)樵跀?shù)據(jù)集中在數(shù)據(jù)庫服務(wù)器,客戶端不持有任何業(yè)務(wù)數(shù)據(jù)和數(shù)據(jù)庫連接信息,也無需進(jìn)行數(shù)據(jù)同步,所以安全性可以大大提高。B/S結(jié)構(gòu)中的數(shù)據(jù)采取了集中式管理模式。當(dāng)客戶端的業(yè)務(wù)產(chǎn)生數(shù)據(jù)時(shí),這些數(shù)據(jù)都直接被存入中央數(shù)據(jù)庫。這樣的做法避免了數(shù)據(jù)一致性的問題。這些優(yōu)點(diǎn)很好更好的迎合了人們的需要。[10] 以當(dāng)下技術(shù)水平來說,利用B/S結(jié)構(gòu)來開發(fā)網(wǎng)絡(luò)應(yīng)用,并通過Internet/Intranet模式下數(shù)據(jù)庫應(yīng)用,是容易把握的而且成本也是比較低的。這樣的開發(fā)模式實(shí)現(xiàn)了不同的人,從不同的地點(diǎn),不同的接入方式訪問和操作共同的數(shù)據(jù)庫;它可以有效地保護(hù)和管理數(shù)據(jù)訪問平臺,服務(wù)器數(shù)據(jù)庫也是非常安全的。尤其是在這樣一種跨平臺語言JAVA之后出現(xiàn),B/S體系結(jié)構(gòu)管理軟件是更方便、更快捷、更高效。

理學(xué)學(xué)士學(xué)位論文第六章系統(tǒng)運(yùn)行情況第三章需求分析自1999年以來,各大高校都在擴(kuò)招,隨著學(xué)生的增加,各高校的教師、教室也急劇增加,有些學(xué)校甚至新增校區(qū)。因此,高校的課程,教師,教室的安排是比較復(fù)雜的,有些老師所帶的課程有多門,可能會跨越新老校區(qū)。有些院系在新老校區(qū)都有班級,更加增加了排班的困難。如果采用人工排班,這無疑是一項(xiàng)比較繁重的工作,人工排班有很多問題存在,比如說排班隨機(jī)性比較大,沒有一個(gè)嚴(yán)格的規(guī)定。人工排班會消耗大量的工作時(shí)間,排班過程也是一個(gè)不斷修改、嘗試的過程,有些排班不太合理的地方往往要等到上課時(shí)才能發(fā)現(xiàn),給老師、學(xué)生帶來了極大的不便,這就降低了教學(xué)效率。3.1排班系統(tǒng)使用現(xiàn)狀目前有些學(xué)?;蛘咂笫聵I(yè)單位也使用計(jì)算機(jī)排班,在這些機(jī)構(gòu)中,以企事業(yè)單位排班比較簡單,容易實(shí)現(xiàn)。一些大型的生產(chǎn)企業(yè)的相對來說比較復(fù)雜,但也有比較多的企業(yè)使用計(jì)算機(jī)排班,但并未在一個(gè)比較大的區(qū)域內(nèi)形成一個(gè)統(tǒng)一的使用規(guī)范。在各高校中,情況就更為復(fù)雜了,首先各高校的情況不盡相同,比如校區(qū)、院系、教學(xué)樓、教師等都各有差別。因此,要在目前還沒有公司或高校能開發(fā)出一個(gè)軟件能完整的實(shí)現(xiàn)排班功能,可以說它還不是智能的,或只適合本?;蛞徊糠謱W(xué)校。智能二字只是一個(gè)強(qiáng)加上去的。再從已開發(fā)出來的排班系統(tǒng)來看,絕大多數(shù)是采用C/S結(jié)構(gòu),即客戶端/服務(wù)器結(jié)構(gòu)。這種模式缺點(diǎn)就是靈活性差、升級困難、維護(hù)工作量大,當(dāng)客戶訪問量增加時(shí),會極大的降低訪問速度。而本系統(tǒng)采用的是B/S結(jié)構(gòu),這種結(jié)構(gòu)優(yōu)點(diǎn)在于:(1)無須開發(fā)客戶端軟件,維護(hù)和升級方便;(2)可跨平臺操作,任何一臺機(jī)器只要裝有WWW瀏覽器軟件,均可作為客戶機(jī)來訪問系統(tǒng);(3)具有良好的開放性和可擴(kuò)充性;(4)可采用防火墻技術(shù)來保證系統(tǒng)的安全性,有效地適應(yīng)了當(dāng)前用戶對管理信息系統(tǒng)的新需求。所以,隨著Web技術(shù)發(fā)展的日益成熟,排班系統(tǒng)的C/S結(jié)構(gòu)必將被B/S結(jié)構(gòu)代替。3.2本系統(tǒng)的主要作用我們學(xué)校的排班都是使用半人工半計(jì)算機(jī)的方式排出來的,都是經(jīng)過反復(fù)的修改、嘗試。因此效率不是很高。開發(fā)并使用排班系統(tǒng),是我校要解決的當(dāng)務(wù)之急。本系統(tǒng)正是順應(yīng)了學(xué)校的這一要求,嚴(yán)格參照本校的具體情況而開發(fā)的。所以本系統(tǒng)的功能模塊的設(shè)計(jì)、代碼的開發(fā)都是緊密結(jié)合校情的。改善本校的排班現(xiàn)狀、提高排班效率是本系統(tǒng)的要求之一。如果系統(tǒng)在本校運(yùn)行成功,以后可以擴(kuò)充其功能,使之能適應(yīng)一部分高校的排班情況。第四章總體設(shè)計(jì)4.1

系統(tǒng)功能模塊劃分4.1.1系統(tǒng)管理與維護(hù)1.值班人員管理對需要值班的人員種類和人員進(jìn)行增刪改查。2.設(shè)置假期對需要進(jìn)行值班安排的假期進(jìn)行管理初始化。3.管理值班對值班進(jìn)行自動安排,也可以進(jìn)行手動調(diào)整。4.查詢統(tǒng)計(jì)可以對值班進(jìn)行查詢統(tǒng)計(jì)并且可以實(shí)現(xiàn)導(dǎo)出功能。4.1.2排班算法設(shè)計(jì)與實(shí)現(xiàn)該模塊是整個(gè)系統(tǒng)的核心。在排班需要的相關(guān)數(shù)據(jù)準(zhǔn)備好后,系統(tǒng)自動安排值班表。系統(tǒng)可以一次將值班表排好,也可以進(jìn)行手動調(diào)整。4.2

系統(tǒng)的數(shù)據(jù)字典1管理員表列名類型說明IdInt主鍵IDUsernamevarchar用戶名Passwordvarchar密碼2假期表列名類型說明IdInt主鍵IDNamesvarchar用戶名DaysInt天數(shù)Statesvarchar狀態(tài)Descsvarchar備注BtimesDatetime開始日期EtimesDatetime結(jié)束日期3種類表列名類型說明IdInt主鍵ID4人員表列名類型說明IdInt主鍵IDNamesvarchar姓名AgeInt年齡urlvarchar頭像Descsvarchar備注timesDatetime添加日期Telvarchar電話TidInt種類id5值班表列名類型說明IdInt主鍵IDJqidInt假期IDYgidInt值班IDtimesDatetime值班日期第五章詳細(xì)設(shè)計(jì)與實(shí)現(xiàn)5.1數(shù)據(jù)庫連接Stringdriver="com.mysql.jdbc.Driver"; Stringurl="jdbc:mysql://localhost:3306/zb1511?useUnicode=true&characterEncoding=utf-8"; Stringusername="root"; Stringpassword="3699"; Connectionconnection=null; try{ Class.forName(driver); connection=DriverManager.getConnection(url,username,password); if(connection.isClosed()) { System.out.println("數(shù)據(jù)庫開啟成功!"); } returnconnection; }catch(Exceptione){ e.printStackTrace(); }5.2列表查詢功能Stringsql="select*fromzbwhere1=1"; Stringsql2="selectcount(*)fromzbwhere1=1"; if(keyword!=null&&!keyword.equals("")){ List<Yg>lisyyg=ValueBean.getYgAllByNames(keyword); List<Jq>lisyjq=ValueBean.getJqAllByNames(keyword); Stringygstr=""; intygindex=0; for(inti=0;i<lisyyg.size();i++){ Ygyg=lisyyg.get(i); if(ygindex!=0){ ygstr+=","; } ygstr+=yg.getId(); ygindex++; } Stringjqstr=""; intjqindex=0; for(intj=0;j<lisyjq.size();j++){ Jqyg=lisyjq.get(j); if(jqindex!=0){ jqstr+=","; } jqstr+=yg.getId(); jqindex++; } if(!ygstr.equals("")){ sql+="andygidin("+ygstr+")"; sql2+="andygidin("+ygstr+")"; } if(!jqstr.equals("")){ sql+="andjqidin("+jqstr+")"; sql2+="andjqidin("+jqstr+")"; } if(ygstr.equals("")&&jqstr.equals("")){ sql+="and1=2"; sql2+="and1=2"; } } sql+="limit"+m+","+n; System.out.println("sql"+sql); System.out.println("sql2"+sql2); PreparedStatementpstmt1=conn.prepareStatement(sql); PreparedStatementpstmt2=conn.prepareStatement(sql2); ResultSetrs=pstmt1.executeQuery(); ResultSetrs2=pstmt2.executeQuery(); rs2.next(); totle=rs2.getInt(1); inttotlePage=totle/n; inttotlePageY=totle%n; if(totlePageY!=0){ totlePage=totlePage+1; } List<Zb>list=newArrayList<Zb>(); while(rs.next()){ Zbbean=newZb(); bean.setId(rs.getInt("id")); bean.setTimes(rs.getDate("times")); bean.setJqid(rs.getInt("jqid")); bean.setYgid(rs.getInt("ygid")); list.add(bean); } Pagepage=newPage(); page.setPageNo(pageNo); page.setTotlePage(totlePage); page.setTotle(totle); page.setList(list); request.setAttribute("page",page); System.out.println("!!!!!!!!!!!!!!!!!!!!!!!"); request.getRequestDispatcher("zbsearchlist.jsp").forward(request, response);第六章系統(tǒng)運(yùn)行情況本系統(tǒng)運(yùn)行平臺為:Windows2000professional+JDK+TOMCAT+SQLserver2000JSP平臺的搭建:1、JDK下載和安裝:第一步:進(jìn)入SUN公司JAVA的JDK1.5版本免費(fèi)安裝程序,下載主頁地址:/j2se/1.5/download.html單擊download,進(jìn)入下載協(xié)議,選擇接受協(xié)議。第二步:JDK安裝程序:我安裝的是:j2sdk-1_5_0版本第三步:安裝jdk的目錄,我設(shè)為d:\jdk2、TOMCAT下載和安裝:第一步:登陸第二步:下載tomcat程序。我安裝的是:Jakarta-tomcat-5.0.18.exe第三步:在安裝tomcat時(shí),要選擇custom形式第四步:安裝tomcat時(shí),目錄設(shè)為d:\tomcat53、在安裝完jdk和tomcat后,要設(shè)置“控制面板”中的系統(tǒng)特性中的環(huán)境變量:增加變量CLASSPATH,它里面的內(nèi)容為:d:\jdk\lib\tools.jar;d:\tomcat5\common\lib\servlet.jar增加變量JAVA_HOME,內(nèi)容為:D:\j2sdk1.5.0(這個(gè)參數(shù)只有操作系統(tǒng)是windows2000時(shí)設(shè)置,如果是windows98時(shí),則不用)增加PATH的內(nèi)容為:d:\jdk在整個(gè)參數(shù)都改變之后,要重新啟動計(jì)算機(jī)。4、運(yùn)行tomcat目錄里\bin\startup.bat。啟動tomcat.5、打開IE,在地址欄里鍵入http://localhost:8080或:8080進(jìn)入連接狀態(tài)。即可進(jìn)入http://localhost:8080/index.jsp6、SQLserver2000的安裝:SQLserver2000要從光盤安裝,點(diǎn)擊“安裝SQLserver2000服務(wù)器組件”,進(jìn)入安裝向?qū)?,按默認(rèn)的安裝進(jìn)行,一直到向?qū)б竽氵x擇用戶名和密碼,我這里用的用戶名為:sa,密碼為空。JDK是所有.java文件.jsp文件的運(yùn)行平臺,tomcat是服務(wù)器運(yùn)行平臺,SQLserver2000是數(shù)據(jù)庫,為了方便文件的管理,我們要對tomcat進(jìn)行一些設(shè)置主要是建立一個(gè)虛擬目錄,具體步驟如下:用editplus打開tomcat目錄下的conf/server.xml文件,在</host>之前添加如下代碼:<Contextpath="/PKXT"docBase="PKXT"debug="0"reloadable="true"crossContext="true"/>此代碼為tomcat增加了一個(gè)web應(yīng)用。(2)在tomcat/webapps/目錄下新建文件夾PKXT,以后所有系統(tǒng)文件都放在這個(gè)目錄下面,再在PKXT下建立文件夾WEB-INF,并在此目錄下新建web.xml文件,文件內(nèi)容如下:<?xmlversion="1.0"encoding="ISO-8859-1"?><!DOCTYPEweb-appPUBLIC"-//SunMicrosystems,Inc.//DTDWebApplication2.3//EN""/dtd/web-app_2_3.dtd"><web-app></web-app>再在WEB-INF下新建classes文件夾和lib文件夾,以后所有的.java和.class文件都放在classes文件夾下,所有的驅(qū)動,包,類文件放在lib文件夾,至此一個(gè)簡單的JSP的web應(yīng)用建立完成。理學(xué)學(xué)士學(xué)位論文第七章

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論