




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
太原理工大學畢業(yè)設計(論文)用紙第1章緒論1.1背景目前,國內基于網(wǎng)絡的遠程教學正處于迅速崛起的發(fā)展階段,迫切需要一個能夠很好地支持管理員教學、學生學習的專用遠程教學平臺,相關的研究正在進展之中。在遠程教學支持平臺上,作業(yè)、考試、自我練習與測試是非常重要的一環(huán)。本系統(tǒng)具備了自動生成試卷功能輸出試卷功能等多項功能,可以為遠程教學提供強有力的支持。現(xiàn)在是一個獨立的系統(tǒng),我們今后將把各個功能模塊拆分,并與網(wǎng)絡課程緊密整合,無縫的集成到遠程教學支持平臺中。在國外,比如美國的大學及研究生入學考試(TOFEL和GRE)都采用基于IRT的計算機化適應性測試,學生可以隨時參加他所選擇的考點舉行的考試,而不像過去,必須同時參加定期舉行的考試。這種不同考試之間測量結果的可比性,正好可以滿足遠程學習中考核的異步性的要求。因此,未來遠程教育中的考核測量,必然是計算機化的適應性測試。目前,隨著計算機技術和數(shù)據(jù)庫技術的不斷發(fā)展,計算機考試系統(tǒng)已逐漸成為人們研究的一個熱點。其中自動組卷模塊,決定了抽取試題的質量,從而決定了該考試系統(tǒng)能否檢驗出學生的真實水平和教師的教學質量。因此,自動組卷模塊在很大程度上決定了考試系統(tǒng)的好壞。然而,目前常用的自動組卷策略已逐步顯示出了組卷成功率低,組卷時間長,生成的試卷難以滿足實際需求等問題。為此,本畢業(yè)設計旨在尋求一種更加合理、有效的組卷算法以解決目前教學工作中較為迫切的需要。信息時代的今天,傳遞和獲取信息的途徑越來越多,其中網(wǎng)絡以其跨時間,跨地域以及快速、高效,低成本的顯著特性己經成為信息傳遞和信息獲取的主要途徑,而如何把信息以更快、更具表達力地發(fā)布到網(wǎng)上己經成為各單位部門急需解決的問題。其中新聞發(fā)布系統(tǒng)(NewsReleasesystem)是上個世紀九十年代互連網(wǎng)技術發(fā)展以后才出現(xiàn)的技術,最初表現(xiàn)是解決網(wǎng)站的信息動態(tài)發(fā)布而開發(fā),最初只是簡單的發(fā)布和顯示,應用對于各種不同的站點需要構建不同的系統(tǒng)來滿足需要,而且功能單一,在九十年代后期,互連網(wǎng)技術進一步發(fā)展,網(wǎng)絡作為新起的新聞媒介工具,其用戶大大增加,對系統(tǒng)的要求也越來越高,新聞發(fā)布系統(tǒng)在這樣的一個環(huán)境中提出、開發(fā)、并改進,到現(xiàn)在,新聞系統(tǒng)開發(fā)的成功案例己經不計其數(shù),而且己經應用到各種站點上,可以說,各行各業(yè)的絕大部分的網(wǎng)站都使用到了新聞系統(tǒng),大量的用戶引發(fā)了新聞系統(tǒng)功能的進一步擴大和深化,給新聞系統(tǒng)提出了更高的要求。計算機技術的高速發(fā)展,對教育的管理模式、教學模式帶來了巨大的影響,教育要適應未來社會的需要,就要有新的教育思想,新的教育理論。計算機輔助教學的產生與發(fā)展對促進教育、教學技術的變革與發(fā)展具有巨大的推動作用。考試是教學管理中一個重要的環(huán)節(jié),而出卷是考試的重點,出卷如果仍然采用傳統(tǒng)的手工方式就很難跟上時代的步伐,利用計算機輔助試卷生成已成為當今非常熱門的話題。考試不僅要對學生的學習情況進行評價,而且還要對任課老師的教學質量進行評價,為了使評價公正、準確,需要合理的組卷。傳統(tǒng)的手工出卷是教師根據(jù)教學大綱、教材要求或所講授的內容來手工命題組卷,采用這種方式出卷需要根據(jù)許多教師多年的教學經驗,經過反復推敲,才能完成一份比較滿意的試卷。而且組織試卷這一過程是一項非常繁重的腦力勞動,從收集資料到試題的選取、試題分值的設置等工作非常煩瑣。采取傳統(tǒng)的手工出卷,存在一些弊端。由少數(shù)任課老師憑借經驗出卷,考試前有些學生總愛向任課老師打聽考試的重點,有些任課老師也習慣在考前給學生劃重點,而且手工出卷在試卷的標準化程度、題量大小、覆蓋面等方面都難以控制,不可避免由不同老師出卷而產生試題的難度、重點、內容的差異,這樣的試卷很難做到考試的公平性、合理性,不利于對教學質量的統(tǒng)一評估。有些學校的評價為了避開任課老師,經常請一些沒有任課的老師來命題,這樣經常會出現(xiàn)試卷過難或過易的情況,使評價失去原有的意義。實踐證明,使用計算機輔助試卷生成系統(tǒng)具有許多優(yōu)越性,歸納起來主要有以下幾點:(1)提高了考試工作的科學性和嚴肅性,使考試工作更加規(guī)范化,促進了教學管理水平的不斷提高。(2)使用試卷生成系統(tǒng)大大地縮短了命題時間,可以減輕教師的負擔。試卷生成系統(tǒng)可以根據(jù)用戶要求,隨時輸出一套套試卷,從而減輕了教師的負擔。(3)使用試卷生成系統(tǒng)可以提高試卷的質量。試題庫中的每一道題,我們都可以事先進行主觀預測或樣本測試,很多指標(如難度、區(qū)分度等)都有確定的參數(shù),從而可以做到心中有數(shù),且題量多,覆蓋面寬,有一定的準確性和科學性,生成的試卷能夠測出學生較真實的成績。使用試卷生成系統(tǒng)有助于調動教師的積極性,提高教學質量和教學管理水平。因為用試卷生成系統(tǒng)來生成試卷,試題庫中每道試題被命中的幾率是相等的,因此可以做到公正無私,而且改變了以前誰授課誰命題以及劃范圍、定重點的做法,促進教師嚴格按教學大綱進行教學,努力上好每一堂課,強化教師之間的競爭意識。完善教育手段,最大限度地發(fā)揮教師資源,最佳配置教學內容:提供盡可能簡單的、統(tǒng)一的界面,為學習者和管理者帶來方便,為現(xiàn)代信息社會培養(yǎng)更多高素質人才。1.2目的意義題庫系統(tǒng)與試卷生成是為管理員方便且快速出試卷而開發(fā)的?,F(xiàn)在的試題動不動就是上千道之多,連練習書都是厚厚的一沓。想從里面挑一份好的試卷實在是不容易。即使勉強出了一份試卷也是即費時又費力。簡直就沒有效率可言?,F(xiàn)在好了,有了這套題庫與試卷生成系統(tǒng)你只要在平時閑暇的時間把一些試題輸入題庫,到要出試卷的時候你只要輕松的點幾下鼠標就可生成一份高質量的試卷了!利用網(wǎng)絡和數(shù)據(jù)庫技術,結合目前硬件價格普遍下跌與寬帶網(wǎng)大力建設的有利優(yōu)勢,我們研究開發(fā)了在線考試這一應用程序。它運用方便、操作簡單、效率很高,具有試題(卷)錄入、修改和查詢、手動組卷與自動組卷等重要功能,以便能更好地把教學質量提高。隨著計算機科學和網(wǎng)絡技術的迅速發(fā)展和廣泛應用,計算機技術已進入現(xiàn)代教育鄰域并形成一門新興的邊緣科學——計算機輔助教學CAI(ComputerAidedInstruction)。利用計算機建立試題庫,實現(xiàn)計算機自動選題組卷,是CAI工程的重要組成部分,是實現(xiàn)考試規(guī)范化、科學化的重要措施,更是實現(xiàn)考教分離的一個重要手段。利用計算機組卷,不僅能節(jié)省教師時間,提高工作效率,而且能消除命題人主觀意志的影響,是考試更加標準化,更加客觀、真實、全面地反映教學的實際效果,有利于促進教學質量的提高。建立了試題庫系統(tǒng)后,可實行考教分離,促使任課教師按照教學大綱的要求認真?zhèn)湔n,認真組織教學內容,改進教學方法,對提高教學質量和整體教學水平有著非常重要的意義。高校教務管理工作中一項非常重要的工作就是考試管理工作,每學期各專業(yè)考試,從組織出卷到試卷的印制及試卷的管理等工作非常繁瑣且工作量很大,這種組織管理方式不僅工作任務繁重而且試卷的標準化程度、難易程度、題量大小等各方面難以控制,難以形成有效的試題庫,不利于充分發(fā)揮歷年來的優(yōu)秀試題及試卷的作用,給試題和試卷的管理帶來很多問題和困難。鑒于這種情況,利用計算機進行試卷的自動生成并逐步積累形成有效的試題庫,對試題和試卷的管理將變的高效而便捷,對提高工作效率,使試卷管理逐步走向正規(guī)化自動化將起到十分重要的作用。課程改革后,一本教材統(tǒng)天下的局面已不復存在。于是,不同版本多樣化的教材,輔導資料應運而生。各個學校不再使用單一固定的教材,那么學校原有的教學思路,方案也要隨之進行改革。新課標明確每個階段的學習目標,至于學什么、學多少、怎么學,沒有做具體規(guī)定,所以對每一個學校首先需要結合自己本身的條件制定向適應的標準,選擇向適應的教材與輔導資料。目前,市場上的各類資料特別多,特別雜,內容水平上更是褒貶不一、參差不齊,所以很難找到一套適合自己學校教師教學,學生學習的材料。除此以外,教務管理工作中一項非常重要的工作就是考試管理工作,每學期各學科考試,從組織出卷到試卷的印制及試卷的管理等工作非常繁瑣且工作量龐大,這種方式不僅工作任務繁重而且試卷的標準化程度、難易程度、題量大小等各方面難以控制,難以形成針對本校學生的試卷,給出卷工作和試卷管理帶來很多問題和困難,不利于學生暴露學習中的不足,也不利于老師把握學生對知識了解的情況。鑒于這種情況,利用計算機的快速計算、網(wǎng)絡的資源共享和數(shù)據(jù)庫的信息維護三者的優(yōu)勢,綜合新課標、各輔導資料,以及學校教學特點,將各科習題、資料進行有效的整理和總結,形成適合本校教學的教學資源信息庫,使學校的教學資源可以取百家之所長,使得教學更具備針對性,讓出卷工作和試卷管理變得高效而便捷,對提高工作效率,使試卷管理逐步走向正規(guī)化、自動化將起到十分重要的作用。1.3主要內容本軟件實現(xiàn)了以下主要功能:1.用戶管理;2.專業(yè)學科管理;3.題庫管理;4.組卷管理;5.數(shù)據(jù)管理;為實現(xiàn)以上功能,第一,本系統(tǒng)將使用MSSQL建立數(shù)據(jù)庫和表以及相應的視圖。第二,設計高級權限管理機制,用于限定不同人員對數(shù)據(jù)庫的操作,提高數(shù)據(jù)庫使用的安全性。第三,保證數(shù)據(jù)庫的完整性約束條件。1.4系統(tǒng)的開發(fā)工具高校教務管理工作中一項非常重要的工作就是考試管理工作,每學期各專業(yè)考試,從組織出卷到試卷的印制及試卷的管理等工作非常繁瑣且工作量很大,這種組織管理方式不僅工作任務繁重而且試卷的標準化程度、難易程度、題量大小等各方面難以控制,難以形成有效的試題庫,不利于充分發(fā)揮歷年來的優(yōu)秀試題及試卷的作用,給試題和試卷的管理帶來很多問題和困難。鑒于這種情況,利用計算機進行試卷的自動生成并逐步積累形成有效的試題庫,對試題和試卷的管理將變的高效而便捷,對提高工作效率,使試卷管理逐步走向正規(guī)化自動化將起到十分重要的作用。課程改革后,一本教材統(tǒng)天下的局面已不復存在。于是,不同版本多樣化的教材,輔導資料應運而生。各個學校不再使用單一固定的教材,那么學校原有的教學思路,方案也要隨之進行改革。新課標明確每個階段的學習目標,至于學什么、學多少、怎么學,沒有做具體規(guī)定,所以對每一個學校首先需要結合自己本身的條件制定向適應的標準,選擇向適應的教材與輔導資料。目前,市場上的各類資料特別多,特別雜,內容水平上更是褒貶不一、參差不齊,所以很難找到一套適合自己學校教師教學,學生學習的材料。除此以外,教務管理工作中一項非常重要的工作就是考試管理工作,每學期各學科考試,從組織出卷到試卷的印制及試卷的管理等工作非常繁瑣且工作量龐大,這種方式不僅工作任務繁重而且試卷的標準化程度、難易程度、題量大小等各方面難以控制,難以形成針對本校學生的試卷,給出卷工作和試卷管理帶來很多問題和困難,不利于學生暴露學習中的不足,也不利于老師把握學生對知識了解的情況。鑒于這種情況,利用計算機的快速計算、網(wǎng)絡的資源共享和數(shù)據(jù)庫的信息維護三者的優(yōu)勢,綜合新課標、各輔導資料,以及學校教學特點,將各科習題、資料進行有效的整理和總結,形成適合本校教學的教學資源信息庫,使學校的教學資源可以取百家之所長,使得教學更具備針對性,讓出卷工作和試卷管理變得高效而便捷,對提高工作效率,使試卷管理逐步走向正規(guī)化、自動化將起到十分重要的作用。SQLServer2005數(shù)據(jù)庫完全采用C和C++代碼開發(fā),堅實地保證了SQLServer2005產品的高效和穩(wěn)定性;在大量不同的作業(yè)平臺上可以穩(wěn)定運行;提供了事務性和非事務性的各種存儲引擎支持;全面利用內核的多線程功能,可以輕易地獲得多顆CPU帶來的更充足運算力;可輕易接插多種類型的存儲引擎;支持的應用編程接口有C,C++,Java,Perl和PHP等等。MICROSOFTSQLSERVER是運行在NT操作系統(tǒng)上的、基于客戶機/服務器的關系型數(shù)據(jù)庫管理系統(tǒng)。SQLSERVER使用客戶機/服務器結構,把工作負荷分解成分別在服務器上和客戶機上執(zhí)行的任務??蛻魴C應用程序可以運行在一個或多個客戶機機器上,也可以運行在服務器上,負責向用戶提供數(shù)據(jù);服務器負責管理和分配服務器資源。MICROSOFTSQLSERVER是運行在NT操作系統(tǒng)上的、基于客戶機/服務器的關系型數(shù)據(jù)庫管理系統(tǒng)。SQLSERVER使用客戶機/服務器結構,把工作負荷分解成分別在服務器上和客戶機上執(zhí)行的任務??蛻魴C應用程序可以運行在一個或多個客戶機機器上,也可以運行在服務器上,負責向用戶提供數(shù)據(jù);服務器負責管理和分配服務器資源。它為企業(yè)中的用戶提供了一個安全、可靠和高效的平臺用于企業(yè)數(shù)據(jù)管理和商業(yè)智能應用。SQLServer2005為IT專家和信息工作者帶來了強大的、熟悉的工具,同時減少了在從移動設備到企業(yè)數(shù)據(jù)系統(tǒng)的多平臺上創(chuàng)建、部署、管理及使用企業(yè)數(shù)據(jù)和分析應用程序的復雜度。通過全面的功能集、和現(xiàn)有系統(tǒng)的集成性、以及對日常任務的自動化管理能力,SQLServer2005為不同規(guī)模的企業(yè)提供了一個完整的數(shù)據(jù)解決方案。解決方案。SQLServer數(shù)據(jù)平臺包括以下工具:(1)關系型數(shù)據(jù)庫:安全、可靠、可伸縮、高可用的關系型數(shù)據(jù)庫引擎,提升了性能且支持結構化和非結構化(XML)數(shù)據(jù)。(2)復制服務:數(shù)據(jù)復制可用于數(shù)據(jù)分發(fā)、處理移動數(shù)據(jù)應用、系統(tǒng)高可用、企業(yè)報表解決方案的后備數(shù)據(jù)可伸縮存儲、與異構系統(tǒng)的集成等,包括已有的Oracle數(shù)據(jù)庫等。(3)通知服務:用于開發(fā)、部署可伸縮應用程序的先進的通知服務能夠向不同的連接和移動設備發(fā)布個性化、及時的信息更新。(4)集成服務:可以支持數(shù)據(jù)倉庫和企業(yè)范圍內數(shù)據(jù)集成的抽取、轉換和裝載能力。(5)分析服務:聯(lián)機分析處理(OLAP)功能可用于多維存儲的大量、復雜的數(shù)據(jù)集的快速高級分析。(6)報表服務:全面的報表解決方案,可創(chuàng)建、管理和發(fā)布傳統(tǒng)的、可打印的報表和交互的、基于Web的報表。(7)管理工具:SQLServer包含的集成管理工具可用于高級數(shù)據(jù)庫管理和調諧,它也和其他微軟工具,如MOM和SMS緊密集成在一起。標準數(shù)據(jù)訪問協(xié)議大大減少了SQLServer和現(xiàn)有系統(tǒng)間數(shù)據(jù)集成所花的時間。此外,構建于SQLServer內的內嵌Webservice支持確保了和其他應用及平臺的互操作能力。(8)開發(fā)工具:SQLServer為數(shù)據(jù)庫引擎、數(shù)據(jù)抽取、轉換和裝載(ETL)、數(shù)據(jù)挖掘、OLAP和報表提供了和MicrosoftVisualStudio?相集成的開發(fā)工具,以實現(xiàn)端到端的應用程序開發(fā)能力。SQLServer中每個主要的子系統(tǒng)都有自己的對象模型和API,能夠以任何方式將數(shù)據(jù)系統(tǒng)擴展到不同的商業(yè)環(huán)境中。MICROSOFTSQLSERVER2005數(shù)據(jù)庫管理系統(tǒng)可以滿足各種類型不同用戶和獨立軟件供應商商業(yè)程序的要求,可以說,MICROSOFTSQLSERVER2005是面向21世紀的關系型數(shù)據(jù)庫,它在易用性、伸縮性、可靠性和數(shù)據(jù)倉庫等方面都具有優(yōu)良的性能。SQLServer2005的突出特征如下:1.全面重新設計的DTS體系結構和工具,2.引入了由管理工具和管理應用編程接口(API)組成的集成化套件用以降低操作的復雜度,3.主要改進包括表分區(qū)、增強復制功能和64位支持特性,4.允許使用任何Microsoft.NET語言開發(fā)數(shù)據(jù)庫對象的能力,5.增添新的XML數(shù)據(jù)類型,6.新增查詢類型和在事務中進行錯誤處理的能力。MyEclipse功能豐富的J2EE集成開發(fā)環(huán)境,包括了完備的編碼、調試、測試和發(fā)布功能,完整支持HTML,Struts,CSS,Javascript,SQL,Hibernate。MyEclipse企業(yè)級工作平臺(MyEclipseEnterpriseWorkbench,簡稱MyEclipse)是對EclipseIDE的擴展,利用它我們可以在數(shù)據(jù)庫和J2EE的開發(fā)、發(fā)布,以及應用程序服務器的整合方面極大的提高工作效率。MyEclipse企業(yè)級工作平臺(MyEclipseEnterpriseWorkbench,簡稱MyEclipse)是對EclipseIDE的擴展,利用它我們可以在數(shù)據(jù)庫和J2EE的開發(fā)、發(fā)布,以及應用程序服務器的整合方面極大的提高工作效率。它是功能豐富的J2EE集成開發(fā)環(huán)境,包括了完備的編碼、調試、測試和發(fā)布功能,完整支持HTML,Struts,JSF,CSS,Javascript,SQL,Hibernate。在結構上,MyEclipse的特征可以被分為7類:1.J2EE模型2.WEB開發(fā)工具3.EJB開發(fā)工具4.應用程序服務器的連接器5.J2EE項目部署服務6.數(shù)據(jù)庫服務7.MyEclipse整合幫助對于以上每一種功能上的類別,在Eclipse中都有相應的功能部件,并通過一系列的插件來實現(xiàn)它們。MyEclipse結構上的這種模塊化,可以讓我們在不影響其他模塊的情況下,對任一模塊進行單獨的擴展和升級。簡單而言,MyEclipse是Eclipse的插件,也是一款功能強大的J2EE集成開發(fā)環(huán)境,支持代碼編寫、配置、測試以及除錯。Tomcat是一個免費的開源的Serlvet容器,它是Apache基金會的Jakarta項目中的一個核心項目,由Apache,Sun和其它一些公司及個人共同開發(fā)而成。由于有了Sun的參與和支持,最新的Servlet和Jsp規(guī)范總能在Tomcat中得到體現(xiàn)。Tomcat被JavaWorld雜志的編輯選為2001年度最具創(chuàng)新的java產品,可見其在業(yè)界的地位。omcat很受廣大程序員的喜歡,因為它運行時占用的系統(tǒng)資源小,擴展性好,支持負載平衡與郵件服務等開發(fā)應用系統(tǒng)常用的功能;而且它還在不斷的tomcat標志改進和完善中,任何一個感興趣的程序員都可以更改它或在其中加入新的功能。Tomcat是一個小型的輕量級應用服務器,在中小型系統(tǒng)和并發(fā)訪問用戶不是很多的場合下被普遍使用,是開發(fā)和調試JSP程序的首選。對于一個初學者來說,可以這樣認為,當在一臺機器上配置好Apache服務器,可利用它響應對HTML頁面的訪問請求。實際上Tomcat部分是Apache服務器的擴展,但它是獨立運行的,所以當你運行tomcat時,它實際上作為一個與Apache獨立的進程單獨運行的。這里的訣竅是,當配置正確時,Apache為HTML頁面服務,而Tomcat實際上運行JSP頁面和Servlet。另外,Tomcat和IIS、Apache等Web服務器一樣,具有處理HTML頁面的功能,另外它還是一個Servlet和JSP容器,獨立的Servlet容器是Tomcat的默認模式。不過,Tomcat處理靜態(tài)HTML的能力不如Apache服務器。Tomcat主要是作為Servlet/JSP容器,但它也有許多傳統(tǒng)web服務器的性能。支持通用網(wǎng)關接口(CommonGatewayInterface,即CGI)就是其中之一,CGI提供一組方法在響應瀏覽器請求時運行一些擴展程序。CGI之所以被稱為通用,是因為它能在大多數(shù)程序或腳本中被調用,包括:Perl,Python,awk,Unixshellscripting等,甚至包括Java。不會把一個Java應用程序當作CGI來運行,畢竟這樣太過原始。一般而言,開發(fā)Servlet總要比CGI具有更好的效率,因為當用戶點擊一個鏈接或一個按鈕時,不需要從操作系統(tǒng)層開始進行處理。Tomcat包括一個可選的CGIServlet,允許你運行遺留下來的CGI腳本。為了使Tomcat能夠運行CGI,必須做的幾件事:把servlets-cgi.renametojar(在CATALINA_HOME/server/lib/目錄下)改名為servlets-cgi.jar。處理CGI的servlet應該位于Tomcat的CLASSPATH下。2.在Tomcat的CATALINA_BASE/conf/web.xml文件中,把關于<servlet-name>CGI的那段的注釋去掉(默認情況下,該段位于第241行)。3.同樣,在Tomcat的CATALINA_BASE/conf/web.xml文件中,把關于對CGI進行映射的那段的注釋去掉(默認情況下,該段位于第299行)。注意,這段內容指定了HTML鏈接到CGI腳本的訪問方式。4.可以把CGI腳本放置在WEB-INF/cgi目錄下(注意,WEB-INF是一個安全的地方,你可以把一些不想被用戶看見或基于安全考慮不想暴露的文件放在此處),或者也可以把CGI腳本放置在context下的其他目錄下,并為CGIServlet調整cgiPathPrefix初始化參數(shù)。這就指定的CGIServlet的實際位置,且不能與上一步指定的URL重名。5.重新啟動Tomcat,你的CGI就可以運行了。在Tomcat中,CGI程序缺省放置在WEB-INF/cgi目錄下,正如前面所提示的那樣,WEB-INF目錄受保護的,通過客戶端的瀏覽器無法窺探到其中內容,所以對于放置含有密碼或其他敏感信息的CGI腳本而言,這是一個非常好的地方。為了兼容其他服務器,盡管你也可以把CGI腳本保存在傳統(tǒng)的/cgi-bin目錄,但要知道,在這些目錄中的文件有可能被網(wǎng)上好奇的沖浪者看到。另外,在Unix中,請確定運行Tomcat的用戶有執(zhí)行CGI腳本的權限。在Tomcat4.1,JSP的編譯由包含在Tomcat里面的Ant程序控制器直接執(zhí)行。這聽起來有一點點奇怪,但這正是Ant有意為之的一部分,有一個API文檔指導開發(fā)者在沒有啟動一個新的JVM的情況下,使用Ant。這是使用Ant進行Java開發(fā)的一大優(yōu)勢。另外,這也意味著你現(xiàn)在能夠在Ant中使用任何javac支持的編譯方式,這里有一個關于ApacheAnt使用手冊的javacpage列表。使用起來是容易的,因為你只需要在<init-param>元素中定義一個名字叫“compiler”,并且在value中有一個支持編譯的編譯器名字,示例如下:<servlet><servlet-name>jsp</servlet-name><servlet-class>org.apache.jasper.servlet.JspServlet</servlet-class><init-param><param-name>logVerbosityLevel</param-name><param-value>WARNING</param-value></init-param><init-param><param-name>compiler</param-name><param-value>jikes</param-value></init-param><load-on-startup>3</load-on-startup></servlet>當然,給出的編譯器必須已經安裝在你的系統(tǒng)中,并且CLASSPATH可能需要設置,那處決于你選擇的是何種編譯器。1.5系統(tǒng)的開發(fā)環(huán)境語言:JSP、Servlet、JAVA。數(shù)據(jù)庫:SQLServer2005。服務器:Tomcat5.5。操作系統(tǒng):MicrosoftWindows。1.6系統(tǒng)硬件配置圖1.1系統(tǒng)硬件配置圖
第2章需求分析2.1系統(tǒng)的結構框架目前流行的網(wǎng)絡軟件系統(tǒng)結構有C/S結構和B/S結構。所謂C/S結構即客戶機/服務器結構,是大家熟知的軟件系統(tǒng)結構,通過將任務合理的分配到客戶端和服務器端,降低了系統(tǒng)的通訊開銷,可以充分利用兩端硬件環(huán)境的優(yōu)勢。早期的軟件系統(tǒng)多以此作為首選設計標準。在這種結構下,每一個客戶機都必須安裝并正確配置相應的數(shù)據(jù)庫驅動程序,應用程序也必須安裝在客戶機上,這樣應用程序才能訪問數(shù)據(jù)庫。所謂B/S結構即Browser/Server結構,該結構在20世紀90年代末期開始盛行,是隨著因特網(wǎng)技術的興起,對C/S結構的一種變化或者改進的結構,是目前最流行的網(wǎng)絡軟件系統(tǒng)結構,它正逐漸取代C/S結構,成為軟件開發(fā)商的首選。在這種結構下,用戶界面完全通過WWW瀏覽器實現(xiàn),一部分事務邏輯在前端實現(xiàn),但是主要事務邏輯在服務器端實現(xiàn),服務器端可以編寫代碼從而與數(shù)據(jù)庫相連接,其具體結構為:瀏覽器/網(wǎng)絡服務器/數(shù)據(jù)庫服務器,除數(shù)據(jù)庫服務器外,應用程序以網(wǎng)頁的形式存放于網(wǎng)絡服務器上,用戶運行某個應用程序時,只需在客戶端瀏覽器中鍵入相應的網(wǎng)址,調用網(wǎng)絡服務器上的應用程序,并對數(shù)據(jù)庫進行操作完成相應的數(shù)據(jù)處理工作,最后將結果通過瀏覽器顯示給用戶。B/S結構主要是利用了不斷成熟得WWW瀏覽器技術,結合瀏覽器的多種Script語言(VBScript,JavaScript等)和ActiveX技術,用通用瀏覽器就實現(xiàn)了原來需要復雜專用軟件才能實現(xiàn)的強大功能,是一種全的軟件系統(tǒng)構造技術。采用了B/S結構,因為它除了傳承C/S結構的優(yōu)點外,還具有以下的優(yōu)勢:首先,維護工作量大大減少了,降低了總體擁有的成本。C/S結構的每一個客戶端都必須安裝和配置軟件,當軟件哪怕進行了微小的改動后(比如增加某個功能),系統(tǒng)維護人員都必須將服務器更新到最新的版本;將客戶端原有的軟件卸載,再安裝新的版本,然后進行設置,最為可怕的是必須對每個客戶端都進行更新,當客戶端很多時,維護量可想而知了。然而B/S結構,客戶端運行軟件就像瀏覽網(wǎng)頁一樣。所有的維護、升級工作都只在服務器上進行,客戶端始終能獲得最新版本的軟件。無論用戶的規(guī)模有多大,有多少分支機構都不會增加任何維護升級的工作量,這對人力、時間、費用的節(jié)省是相當驚人的。其次,平臺的依賴性小,可以在多個不同的操作系統(tǒng)上運行。B/S結構的應用軟件只需安裝在服務器上,所以服務器操作系統(tǒng)的選擇是很多的,不管選用的是哪種操作系統(tǒng)都可以讓大部分人使用windows作為桌面操作系統(tǒng)的情況不受影響,大大提高了程序可移植性。傳統(tǒng)的C/S結構要求針對不同的操作系統(tǒng)開發(fā)不同版本的軟件。由于產品換代是非??斓?,所以這么高的代價和低效率越來越不適應了,特別是在Java這樣的跨平臺語言出現(xiàn)之后,B/S結構具有了更多的優(yōu)勢,因此本系統(tǒng)選擇應用B/S結構。2.2系統(tǒng)需求描述下列圖表大體描述了系統(tǒng)及其運行環(huán)境。企業(yè)的日常管理將在網(wǎng)上進行。系統(tǒng)在數(shù)據(jù)庫中通過用戶的請求來存儲、找回及操作數(shù)據(jù),然后在用戶端的瀏覽器中以HTML顯示出來。圖2.1系統(tǒng)描述2.2.1功能描述(1)用戶管理模塊系統(tǒng)管理員管理;修改個人密碼;(2)專業(yè)學科管理模塊專業(yè)添加;專業(yè)查詢;學科添加;學科查詢;(3)組卷管理模塊添加組卷;管理組卷;(4)題庫管理模塊添加題庫;管理題庫;(5)數(shù)據(jù)管理模塊數(shù)據(jù)備份2.2.2流程圖開始開始登錄界面登錄界面口令不正確口令不正確結束結束輸入用戶名和口令輸入用戶名和口令口令正確主菜單主菜單界面操作界面操作題庫登記設定類型設定科目手動出試卷查詢題目用戶管理打印試卷退出自動出試卷題庫登記設定類型設定科目手動出試卷查詢題目用戶管理打印試卷退出自動出試卷圖2.2流程圖2.2.3E-R圖圖2.3E-R圖2.3可行性分析2.3.1經濟可行性在開發(fā)過程中本系統(tǒng)使用的軟件都是免費的。其中JDK1.5和Eclipse3.0是完全免費的,而Hibernate也是開源的,所使用的數(shù)據(jù)庫MSSQL對個人用戶也是免費的。所以說,開發(fā)成本相對較低。2.3.2技術可行性隨著Internet技術的進步和應用領域的不斷擴展,使得電子商務具有更加堅實的技術基礎和良好的應用前景。由于JSP和數(shù)據(jù)庫緊密配合的良好性能,使得快速開發(fā)出Web應用程序成為可能,并具有很好的安全性,因此,JSP和XML等技術在構建網(wǎng)站上有其獨特的優(yōu)越性。2.3.3社會可行性隨著信息技術的飛速發(fā)展和知識經濟時代的到來,計算機網(wǎng)絡已經深入到人們的工作、學習和生活之中,成為當今社會各領域中不可缺少的組成部分。2.3.4操作可行性本系統(tǒng)操作界面簡單,分為前臺和后臺兩個主界面。前臺是結合了JSP+JavaBean技術:主要是實現(xiàn)人機的交互,網(wǎng)頁操作簡單,用戶即可根據(jù)所需選擇相應的服務;后臺結合了MSSQL技術,是針對會員而設的。前后臺設計合理,操作簡單,即具備基本的網(wǎng)站管理和維護知識的人都可以進行操作。第3章系統(tǒng)設計3.1系統(tǒng)總體設計3.1.1系統(tǒng)功能描述表3.1系統(tǒng)特性表系統(tǒng)特性名稱系統(tǒng)特性描述優(yōu)先級試題管理可對題庫中已有的試題進行管理高試卷管理可對題庫中已生成的試卷進行管理高專業(yè)設置可對題庫中添加新的章節(jié)高添加試題可以像題庫中添加新的試題高刪除試題可對題庫中已有的試題進行刪除低修改試題可對題庫中已有的試題進行修改低查詢試題可對題庫中已有的試題進行查詢高自動生成試卷可對題庫中的試題隨機的生成試卷高3.1.2功能層次圖題庫入組卷管理系統(tǒng)題庫入組卷管理系統(tǒng)系統(tǒng)管理員管理數(shù)據(jù)管理組卷添加查詢題庫添加查詢學科添加查詢密碼修改專業(yè)添加查詢系統(tǒng)管理員管理數(shù)據(jù)管理組卷添加查詢題庫添加查詢學科添加查詢密碼修改專業(yè)添加查詢圖3.2題庫及組卷管理系統(tǒng)層次功能圖題庫及組卷管理系統(tǒng)的功能如圖3.1所示。管理員進入到系統(tǒng)之后可以隨時對自己的密碼進行修改,。在試題錄入頁面管理員可以對單選題,判斷題,填空題以及問答題四類題型進行錄入。在試題管理頁面管理員可以根據(jù)題型對試題進行查詢,然后可以對試題進行修改和刪除操作。在章節(jié)設置頁面管理員可以增加或刪除章節(jié)。在試卷提取頁面管理員可以手動提取試卷或自動生成試卷。在試卷管理頁面管理員可以對已有的試卷進行瀏覽或是下載。專業(yè)學科管理模塊3.1.3模塊結構圖專業(yè)學科管理模塊學科查詢學科添加專業(yè)添加專業(yè)查詢學科查詢學科添加專業(yè)添加專業(yè)查詢圖3.3專業(yè)學科管理模塊結構圖題庫管理模塊題庫管理模塊題庫查詢題庫添加題庫查詢題庫添加圖3.4題庫管理模塊結構圖3.2數(shù)據(jù)庫設計數(shù)據(jù)庫設計是開發(fā)一個好的數(shù)據(jù)庫應用系統(tǒng)的基礎。設計一個數(shù)據(jù)庫需要耐心的收集和分析數(shù)據(jù),仔細理清數(shù)據(jù)間的關系,消除對數(shù)據(jù)庫應用不利的隱患等等。確定建立數(shù)據(jù)庫的目的也稱為需求分析,這在前面我已經有所說明。確定完目的之后就需要根據(jù)目的收集有用的數(shù)據(jù)。在著手收集數(shù)據(jù)之前最重要的就是要調查用戶的實際需求,然后分析與表達這些需求。調查用戶需求的方法有很多,如查閱記錄、訪談、開調查會、設計調查表請用戶填寫或回答相關問題等。其中比較有效的方法是訪談,而我們調查的主要方式就是訪談,我們利用休息時間與大連德勝裝飾材料商行的經理進行了比較充分細致的言談,通過充分交流,我們逐漸了解到了他們平時是如何使用數(shù)據(jù)庫的,以及對當前信息的要求,進而我們才可以設計滿足用戶需求的字段,并根據(jù)設計的字段收集數(shù)據(jù)。確定建立數(shù)據(jù)庫的目的以及完成數(shù)據(jù)收集后,就進入數(shù)據(jù)庫設計過程的第二階段——建立概念模型。這一階段是整個數(shù)據(jù)庫設計的關鍵。設計時,根據(jù)應用的需求,畫出能反映每個應用需求的E-R圖,其中包括確定實體、屬性和聯(lián)系的類型。然后優(yōu)化初始的E-R圖,消除冗余和可能存在的矛盾。概念模型是對用戶需求的客觀反映,并不涉及具體的計算機軟、硬件環(huán)境。因此,在這一階段中我將主要的注意力集中在怎樣表達出用戶對信息的需求,而不考慮具體實現(xiàn)問題。完成上一階段后,我得到了一個與具體計算機軟、硬件無關的概念模型。接著我就開始著手建立數(shù)據(jù)庫模型,這是數(shù)據(jù)庫設計過程的第三個階段。在這一階段中我要將概念模型中得到的E-R圖轉換成具體的數(shù)據(jù)模型。數(shù)據(jù)模型一般分為層次、網(wǎng)狀、關系和面向對象模型等。目前比較常用的是關系數(shù)據(jù)模型,所以我就將E-R圖轉換成關系數(shù)據(jù)模型,實際上就是將實體、實體的屬性和實體之間的聯(lián)系轉換為關系模式。這是數(shù)據(jù)庫設計的最后一個階段。完成數(shù)據(jù)模型的建立后,首先對字段進行命名,確定字段的類型和寬度,并利用數(shù)據(jù)庫管理系統(tǒng)或數(shù)據(jù)庫語言創(chuàng)建數(shù)據(jù)庫結構、輸入數(shù)據(jù)和運行等。數(shù)據(jù)庫運行正常,數(shù)據(jù)庫設計任務基本結束,以后的工作重點就是數(shù)據(jù)庫的維護工作,包括做好備份工作、數(shù)據(jù)庫的安全性和完整性調整、改善數(shù)據(jù)庫性能等。表3.2用戶表序號字段名稱字段類型大小允許為空最大長度備注1IDInt4自增編號10
2usernameVarChar50是255
3pwdVarChar50是255
4cxVarChar50是255
5addtimeDateTime8是23
表3.3選擇題表序號字段名稱字段類型大小允許為空最大長度備注1IDInt4自增編號10
2專業(yè)VarChar50是255
3學科VarChar50是255
4題目VarChar50是255
5選項AVarChar50是255
6選項BVarChar50是255
7選項CVarChar50是255
8選項DVarChar50是255
9答案VarChar50是255
10難度系數(shù)VarChar50是255
11addtimeDateTime8是23
表3.4學科信息表序號字段名稱字段類型大小允許為空最大長度備注1IDInt4自增編號10
2學科VarChar50是255
3addtimeDateTime8是23
表3.5專業(yè)信息表序號字段名稱字段類型大小允許為空最大長度備注1IDInt4自增編號10
2專業(yè)VarChar50是255
3addtimeDateTime8是23
表3.6自動組卷表序號字段名稱字段類型大小允許為空最大長度備注1IDInt4自增編號10
2編號VarChar50是255
3專業(yè)VarChar50是255
4tishuVarChar50是255
5fenzhiVarChar50是255
6addtimeDateTime8是23
7timuVarChar500是2553.3運用的分析和設計方法由于本系統(tǒng)是用基于java編程語言進行開發(fā)的,而java以一種純粹的面向對象的語言,所以本文運用了面向對象的分析與設計方法,并且用時下流行的UML(統(tǒng)一建模語言)圖對整個過程進行描述。 UML是一種定義良好、易于表達、功能強大且普遍適用的建模語言。它溶入了軟件工程領域的新思想、新方法和新技術。它的作用域不限于支持面向對象的分析與設計,還支持從需求分析開始的軟件開發(fā)的全過程。首先,UML融合了Booch、OMT和OOSE方法中的基本概念,而且這些基本概念與其他面向對象技術中的基本概念大多相同,因而,UML必然成為這些方法以及其他方法的使用者樂于采用的一種簡單一致的建模語言;其次,UML不僅僅是上述方法的簡單匯合,而是在這些方法的基礎上廣泛征求意見,集眾家之長,幾經修改而完成的,UML擴展了現(xiàn)有方法的應用范圍;第三,UML是標準的建模語言,而不是標準的開發(fā)過程。盡管UML的應用必然以系統(tǒng)的開發(fā)過程為背景,但由于不同的組織和不同的應用領域,需要采取不同的開發(fā)過程。UML圖基本包括用例圖、靜態(tài)圖(包括類圖、對象圖和包圖)、行為圖、交互圖(包括順序圖和合作圖)、實現(xiàn)圖。這里就本次系統(tǒng)開發(fā)中所用到的圖的意義作簡要地說明。(1)用例圖,從用戶角度描述系統(tǒng)功能,并指出各功能的操作者。(2)順序圖顯示對象之間的動態(tài)合作關系,它強調對象之間消息發(fā)送的順序,同時顯示對象之間的交互。(3)類圖描述系統(tǒng)中類的靜態(tài)結構。不僅定義系統(tǒng)中的類,表示類之間的聯(lián)系如關聯(lián)、依賴、聚合等,也包括類的內部結構(類的屬性和操作)。類圖描述的是一種靜態(tài)關系,在系統(tǒng)的整個生命周期都是有效的。(4)活動圖表示在處理某個活動時,兩個或者更多類對象之間的過程控制流。(5)狀態(tài)圖描述類的對象所有可能的狀態(tài)以及事件發(fā)生時狀態(tài)的轉移條件。通常,狀態(tài)圖是對類圖的補充。在實用上并不需要為所有的類畫狀態(tài)圖,僅為那些有多個狀態(tài)其行為受外界環(huán)境的影響并且發(fā)生改變的類畫狀態(tài)圖。而活動圖描述滿足用例要求所要進行的活動以及活動間的約束關系,有利于識別并行活動。3.4開發(fā)技術分析JSP是JavaServerPages的簡寫。JSP技術能讓Web開發(fā)員和網(wǎng)頁設計員快速地開發(fā)容易維護的動態(tài)Web主頁。用JSP開發(fā)的Web應用是跨平臺的,即能在Linux下運行,也能在其他操作系統(tǒng)上運行。JSP技術使用Java編程語言編寫類XML的tags和scriptlets,來封裝產生動態(tài)網(wǎng)頁的處理邏輯。網(wǎng)頁還能通過tags和scriptlets訪問存在于服務端的資源(例如JavaBesns)的應用邏輯。JSP將網(wǎng)頁邏輯與網(wǎng)頁設計和顯示分離,支持可重用的基于組件的設計,使基于Web的應用程序的開發(fā)變得迅速和容易。JSP技術是Servlet技術的擴展。Servlet是平臺無關的,100%純Java的Java服務端組件。在Sun正式發(fā)布JSP(JavaServerPages)之后,這種新的Web應用開發(fā)技術很快引起了人們的關注。JSP為創(chuàng)建高度動態(tài)的Web應用提供了一個獨特的開發(fā)環(huán)境。按照Sun的說法,JSP能夠適應市場上包括ApacheWebServer、IIS4.0在內的85%的服務器產品。即使您對ASP"一往情深",我們認為,關注JSP的發(fā)展仍舊很有必要。JSP與Microsoft的ASP技術非常相似。兩者都提供在HTML代碼中混合某種程序代碼、由語言引擎解釋執(zhí)行程序代碼的能力。在ASP或JSP環(huán)境下,HTML代碼主要負責描述信息的顯示樣式,而程序代碼則用來描述處理邏輯。普通的HTML頁面只依賴于Web服務器,而ASP和JSP頁面需要附加的語言引擎分析和執(zhí)行程序代碼。程序代碼的執(zhí)行結果被重新嵌入到HTML代碼中,然后一起發(fā)送給瀏覽器。ASP和JSP都是面向Web服務器的技術,客戶端瀏覽器不需要任何附加的軟件支持。隨著Windows將瀏覽器技術植入操作系統(tǒng)內部以及網(wǎng)絡的普及,這種結構更成為當今應用軟件的首選體系結構MSSQL是一個真正的多用戶、多線程SQL數(shù)據(jù)庫服務器。SQL(結構化查詢語言)是世界上最流行的和標準化的數(shù)據(jù)庫語言。
第4章系統(tǒng)實現(xiàn)4.1登陸模塊圖4.1登陸界面本模塊是系統(tǒng)登陸界面,實現(xiàn)的功能是檢測合法用戶,驗證其用戶名密碼,以杜絕非法用戶侵入系統(tǒng)。本模塊界面非常簡單,就一用戶名和密碼兩個文本框和一個登陸按鈕,但實現(xiàn)的方法比較復雜,因為系統(tǒng)要自動判斷其輸入的用戶名及密碼的正誤,還要自動識別其權限(超級管理員與普通管理員之分),如果登陸正常后,系統(tǒng)要將當前用戶名和權限記錄下來以便之后其他操作給予適當?shù)臋嘞薹峙?。實現(xiàn)本模塊的主要代碼如下所示:<body><%//登陸驗證程序Stringuid=request.getParameter("username");//獲得用戶名Stringpwd=request.getParameter("pwd");//獲得密碼Stringsql="";Stringcx=newString(request.getParameter("cx").getBytes("8859_1"));//獲得用戶類型if(cx.equals("管理員")){ sql="select*from[allusers]whereusername='"+uid+"'andpwd='"+pwd+"'";//設置sql語句}else{ if(cx.equals("學生")) { sql="select*fromxueshengwherexuehao='"+uid+"'andmima='"+pwd+"'"; } else { sql="select*fromjiaoshiwheregonghao='"+uid+"'andmima='"+pwd+"'"; }}ResultSetRS_result=connDbBean.executeQuery(sql);if(!RS_result.next())//登陸失敗{ out.print("<script>alert('你輸入的用戶不存在或密碼錯誤,請重新登錄!');window.history.go(-1);</script>"); }else{//登陸成功 session.setAttribute("username",uid); if(cx.equals("管理員")) { session.setAttribute("cx",RS_result.getString("cx")); } else { if(cx.equals("教師")) { session.setAttribute("cx","教師"); } else { session.setAttribute("cx","學生"); } } response.sendRedirect("main.jsp"); }RS_result.close();%></body>圖4.2登陸后的界面該模塊主要是讓超級管理員可以添加系統(tǒng)中的普通管理員來共同管理本系統(tǒng)。該模塊分為兩個小塊,上面是添加新管理員,包括用戶名和密碼兩個可見字段,還有一個權限是默認隱藏字段。下面是將已有的管理員信息以列表的形式列出,簡單明了!由于考慮到系統(tǒng)人員泛濫問題,本模塊僅限超級管理員一人使用。實現(xiàn)本模塊的主要代碼如下所示:<title>題庫及組卷管理系統(tǒng)</title></head><bodyonload="window.resizeTo(window.screen.width-4,window.screen.height-50);window.moveTo(-4,-4)"style="MARGIN:0px"scroll=yesoncontextmenu="window.event.returnValue=false"onselectstart="returnfalse"onMouseOver="window.status='題庫及組卷管理系統(tǒng)';returntrue"OnMouseOut="window.status='題庫及組卷管理系統(tǒng)';returntrue"onmousedown="window.status='題庫及組卷管理系統(tǒng)';returntrue"onmouseup="window.status='題庫及組卷管理系統(tǒng)';returntrue"><script>4.2管理員管理模塊圖4.3密碼修改界面密碼修改主要代碼如下:<scriptlanguage="javascript">functioncheck()//分別驗證提交的各項信息是否為空{ if(document.form1.ymm.value=="") { alert("請輸入原密碼"); document.form1.ymm.focus(); returnfalse; } if(document.form1.xmm1.value=="") { alert("請輸入新密碼"); document.form1.xmm1.focus(); returnfalse; } if(document.form1.xmm2.value=="") { alert("請輸入確認密碼"); document.form1.xmm2.focus(); returnfalse; } if(document.form1.xmm1.value!=document.form1.xmm2.value) { alert("兩次密碼不一致,請確認"); document.form1.xmm1.value=""; document.form1.xmm2.value=""; document.form1.xmm1.focus(); returnfalse;}圖4.4用戶管理界面該模塊是一個很普通的模塊,幾乎所有的管理系統(tǒng)都有這個功能,即讓用戶修改自己的密碼信息。 該模塊界面非常簡單明了,只有三個文本框和兩個按鈕。三個文本框分別是原密碼,新密碼和確認密碼。實現(xiàn)本模塊的主要代碼如下所示:<%//系統(tǒng)管理員管理模塊if(request.getSession().getAttribute("cx").equals("超級管理員"))//如果是超級管理員,進入程序{ }else//其余用戶,沒有權限,提示{out.print("<script>alert('對不起,您沒有這個權限!!');history.back();</script>");}%><%@pagelanguage="java"pageEncoding="gb2312"%><%Stringpath=request.getContextPath();StringbasePath=request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";%><%@pagelanguage="java"import="java.sql.*"%><jsp:useBeanid="connDbBean"scope="page"class="db.db"/><html><head><basehref="<%=basePath%>"><title>修改密碼</title></head><scriptlanguage="javascript">functioncheck()//分別驗證提交的各項信息是否為空{ if(document.form1.username.value=="") { alert("請輸入用戶名"); document.form1.username.focus(); returnfalse; } if(document.form1.pwd1.value=="") { alert("請輸入密碼"); document.form1.pwd1.focus(); returnfalse; } if(document.form1.pwd2.value=="") { alert("請輸入確認密碼"); document.form1.pwd2.focus(); returnfalse; } if(document.form1.pwd2.value!=document.form1.pwd1.value) { alert("兩次密碼不一致,請確認"); document.form1.pwd1.value=""; document.form1.pwd2.value=""; document.form1.pwd1.focus(); returnfalse; }}</script><body><formname="form1"id="form1"method="post"action="yhzhgl_post.jsp"><tablewidth="100%"border="1"align="center"cellpadding="3"cellspacing="1"bordercolor="#00FFFF"style="border-collapse:collapse"><tr><td>用戶名:</td><td><inputname="username"type="text"id="username"/>*</td></tr><tr><td>密碼:</td><td><inputname="pwd1"type="password"id="pwd1"/>*</td></tr><tr><td>確認密碼:</td><td><inputname="pwd2"type="password"id="pwd2"/>*</td></tr><tr><td> </td><td><inputtype="submit"name="Submit"value="提交"onclick="returncheck();"/><inputtype="reset"name="Submit2"value="重置"/></td></tr></table></form><p>已有管理員列表:</p><tablewidth="100%"border="1"align="center"cellpadding="3"cellspacing="1"bordercolor="#00FFFF"style="border-collapse:collapse"><tr><tdbgcolor="A4B6D7">序號</td><tdbgcolor="A4B6D7">用戶名</td><tdbgcolor="A4B6D7">密碼</td><tdbgcolor="A4B6D7">權限</td><tdbgcolor="A4B6D7">添加時間</td><tdbgcolor="A4B6D7">操作</td></tr><%ResultSetRS_result=connDbBean.executeQuery("select*fromallusersorderbyiddesc");Stringid="";Stringusername="";Stringpwd="";Stringcx="";Stringaddtime="";inti=0;while(RS_result.next()){//顯示已經存在的管理員的信息i=i+1;id=RS_result.getString("id");username=RS_result.getString("username");pwd=RS_result.getString("pwd");cx=RS_result.getString("cx");addtime=RS_result.getString("addtime");%><tr><td><%=i%></td><td><%=username%></td><td><%=pwd%></td><td><%=cx%></td><td><%=addtime%></td><td><ahref="del.jsp?id=<%=id%>&tablename=allusers"onclick="returnconfirm('真的要刪除?')">刪除</a></td></tr> <%}%></table></body></html>4.3專業(yè)學科模塊 管理員可以通過動態(tài)出題界面完成多種類型的出題,包括專業(yè)添加,專業(yè)查詢,學科添加,學科查詢等。圖4.5專業(yè)信息添加圖4.6專業(yè)添加界面圖4.7專業(yè)搜索界面圖4.8專業(yè)查詢界面實現(xiàn)本模塊的主要代碼如下所示:<scriptlanguage="javascript">functioncheck()//驗證輸入的各項信息是否為空{ if(document.form1.zhuanye.value==""){alert("請輸入專業(yè)");document.form1.zhuanye.focus();returnfalse;}}functiongow(){ document.location.href="zhuanyexinxi_add.jsp?jihuabifffanhao="+document.form1.jihuabifffanhao.value;}</script><body><formname="form1"id="form1"method="post"action="zhuanyexinxi_add_post.jsp"><!--zhuanyexinxi_add_post.jsp,進行處理-->添加專業(yè)信息關鍵代碼:<br><br><tablewidth="100%"border="1"align="center"cellpadding="3"cellspacing="1"bordercolor="#00FFFF"style="border-collapse:collapse"><tr><td>專業(yè):</td><td><inputname='zhuanye'type='text'id='zhuanye'value=''/> *</td></tr><tr><td> </td><td><inputtype="submit"name="Submit"value="提交"onclick="returncheck();"/><!--提交到前,調用check()進行驗證--><inputtype="reset"name="Submit2"value="重置"/></td></tr></table></form></body>查詢專業(yè)信息:<%Stringsql="";sql="select*fromzhuanyexinxiwhere1=1";//設置sql語句if(request.getParameter("bianhao")==""||request.getParameter("bianhao")==null){}else{ sql=sql+"andzhuanyelike'%"+newString(request.getParameter("bianhao").getBytes("8859_1"))+"%'";}sql=sql+"orderbyiddesc";ResultSetRS_result=connDbBean.executeQuery(sql);//執(zhí)行數(shù)據(jù)庫查詢操作Stringid="";Stringzhuanye="";Stringaddtime="";inti=0;while(RS_result.next()){//列出查詢結果i=i+1;id=RS_result.getString("id");zhuanye=RS_result.getString("zhuanye");addtime=RS_result.getString("addtime");%>4.4題庫管理模塊題庫管理分為題庫添加,題庫查詢。另外試卷管理還要實現(xiàn)對已經設計好的word試卷的打印等操作。如下圖:圖4.9題庫添加界面圖4.10題庫查詢界面實現(xiàn)本模塊的主要代碼如下所示:<%Stringsql="";sql="select*fromzhuanyexinxiwhere1=1";//設置sql語句if(request.getParameter("bianhao")==""||request.getParameter("bianhao")==null){}else{ sql=sql+"andzhuanyelike'%"+newString(request.getParameter("bianhao").getBytes("8859_1"))+"%'";}sql=sql+"orderbyiddesc";ResultSetRS_result=connDbBean.executeQuery(sql);//執(zhí)行數(shù)據(jù)庫查詢操作Stringid="";Stringzhuanye="";Stringaddtime="";inti=0;while(RS_result.next()){//列出查詢結果i=i+1;id=RS_result.getString("id");zhuanye=RS_result.getString("zhuanye");addtime=RS_result.getString("addtime");%>4.5組卷管理模塊圖4.11組卷添加圖4.12組卷查詢圖圖4.13試卷查看圖圖4.14修改試卷圖組卷添加主要代碼:<body><formname="form1"id="form1"method="post"action="zidongzujuan_add_post.jsp"><!--提交到zidongzujuan_add_post.jsp進行處理-->添加自動組卷:<br><br><tablewidth="100%"border="1"align="center"cellpadding="3"cellspacing="1"bordercolor="#00FFFF"style="border-collapse:collapse"><tr><td>編號:</td><td><inputname='bianhao'type='text'id='bianhao'value=''/> *</td></tr><tr><td>專業(yè):</td><td><selectname='zhuanye'id='zhuanye'><%Stringsql="selectzhuanyefromzhuanyexinxiorderbyiddesc";ResultSetRS_result=connDbBean.executeQuery(sql);while(RS_result.next()){%><optionvalue="<%=RS_result.getString("zhuanye")%>"><%=RS_result.getString("zhuanye")%></option><%}%></select></td></tr><tr><td>題數(shù):</td><td><inputname='tishu'type='text'id='tishu'value=''/> *</td></tr><tr><td>分值:</td><td><inputname='fenzhi'type='text'id='fenzhi'value=''/> *</td></tr><tr><td> </td><td><inputtype="submit"name="Submit"value="提交"onclick="returncheck();"/><!--提交之前調用check進行驗證--><inputtype="reset"name="Submit2"value="重置"/></td></tr></table></form></body>試卷查看主要代碼:<%Stringid=request.getParameter("id");Stringsql="",nnn="",bianhao="",tishu="",fenzhi=""; sql="select*fromzidongzujuanwhereid="+id+"";//設置sql語句 ResultSetRS_result=connDbBean.executeQuery(sql);//執(zhí)行查詢數(shù)據(jù)庫語句 while(RS_result.next()){//每道題的信息賦值 nnn=RS_result.getString("timu"); bianhao=RS_result.getString("bianhao"); tishu=RS_result.getString("tishu"); fenzhi=RS_result.getString("fenzhi"); }%><body><formname="form1"id="form1"method="post"action=""><p>試卷編號:<%=bianhao%>試題數(shù)量:<%=tishu%>每題分值:<%=fenzhi%></p><tablewidth="100%"height="103"border="1"cellpadding="1"cellspacing="0"bordercolor="#F8C878"><tr><tdheight="33"colspan="3">選擇題</td></tr><% sql="select*fromxuanzetiwhereidin("+nnn+")";//顯示每道題的信息sql=sql+"orderbyiddesc";RS_result=connDbBean.executeQuery(sql);id="";Stringzhuanye="";Stringxueke="";Stringtimu="";StringxuanxiangA="";StringxuanxiangB="";StringxuanxiangC="";StringxuanxiangD="";Stringdaan="";Stringnanduxishu="";Stringaddtime="";inti=0;while(RS_result.next()){i=i+1;id=RS_result.getString("id");zhuanye=RS_result.getString("zhuanye");xueke=RS_result.getString("xueke");timu=RS_result.getString("timu");xuanxiangA=RS_result.getString("xuanxiangA");xuanxiangB=RS_result.getString("xuanxiangB");xuanxiangC=RS_result.getString("xuanxiangC");xuanxiangD=RS_result.getString("xuanxiangD");daan=RS_result.getString("daan");nanduxishu=RS_result.getString("nanduxishu");addtime=RS_result.getString("addtime");%>圖4.15數(shù)據(jù)備份<%//數(shù)據(jù)庫備份Stringsql="";sql="backupdatabasejsptikuzujuanxnstodisk='C:/jsptikuzujuanxns.dat'";//數(shù)據(jù)庫備份sql語句 connDbBean.executeUpdate(sql);out.print("<script>alert('操作成功!!,您的數(shù)據(jù)庫已成功備份于C:/jsptikuzujuanxns.dat');location.href='sy.jsp';</script>");%>數(shù)據(jù)庫工具類關鍵代碼如下,主要進行數(shù)據(jù)庫相關工作:packagedb;importjava.sql.*;publicclassdb{ privateStringdbDriver="net.sourceforge.jtds.jdbc.Driver"; privateStringsConnStr="jdbc:jtds:sqlserver://localhost:1433/jsptikuzujuanxns;instance=SQLE
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025至2030年中國脫色土數(shù)據(jù)監(jiān)測研究報告
- 二零二五年度法院執(zhí)行和解協(xié)議書簽訂流程指導
- 幼兒園入園安全協(xié)議書(2025年度)包含戶外活動安全管理
- 科技公司如何通過創(chuàng)新驅動實現(xiàn)戰(zhàn)略目標
- 二零二五年度職業(yè)體育團隊兼職教練員聘用協(xié)議
- 2025年度股東內部協(xié)議書:關于股東退出機制及股權轉讓的專項協(xié)議
- 二零二五年度太空旅游項目合作合同議價協(xié)議
- 2025年度門頭房屋出租與周邊商業(yè)項目聯(lián)營合作協(xié)議
- 二零二五年度倆人合伙經營農家樂旅游項目協(xié)議
- 小店鋪二零二五年度勞動合同與員工晉升發(fā)展協(xié)議
- 《駱駝祥子》通讀指導手冊
- 股東會會議系列文件(通知、議程、簽到表、表決票、決議)
- 非法占用農田建房舉報信范文
- 伐樹工程施工合同范本
- 數(shù)據(jù)挖掘(第2版)PPT全套完整教學課件
- 工程開工報告(5篇)
- 配電箱試驗項目
- 運動技能學習與控制課件第一章運動技能學習與控制概述
- 溫室大棚花卉苗圃采暖方案空氣源熱泵
- BEC商務英語高級考試歷年真題
- 初二地理中考復習備考策略與計劃
評論
0/150
提交評論