freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

基于bs的在線考試系統(tǒng)的分析與實現(xiàn)-資料下載頁

2024-11-08 06:27本頁面

【導讀】隨著計算機與互聯(lián)網(wǎng)的飛速發(fā)展,信息技術逐漸應用于各個科目。育科目中,各種教務系統(tǒng),教學管理系統(tǒng),網(wǎng)上教學平臺等相繼出現(xiàn)。試系統(tǒng)相對較少,且功能不完善。在線考試系統(tǒng)PSWExam。該系統(tǒng)允許教師管理一個題庫并可自動手動。系統(tǒng)除了允許學生進行參加考試之外,還允許學生使用系統(tǒng)進行平時。使學生在平時測試和練習時可以以此鞏固知識點。做錯一道題的次數(shù),進而掌握學生對知識點的掌握情況??梢哉f這是一套兼。具日常學習和最終考核的一套完善的學習和考試系統(tǒng)。到更換界面需求時易于修改和維護。優(yōu)良,避免了業(yè)務邏輯代碼中出現(xiàn)大量的SQL,為以后的維護提供了方便。相比同類類庫,使用iBatis為系統(tǒng)帶來了優(yōu)良的性能。類庫與同類類庫相比具有高效、美觀、自適應等優(yōu)良特性。ing的IoC機制管理對象之間的依賴,進一步提高了系統(tǒng)的可擴展性。表、試卷修改、開始考試、考試成績與報表計算等功能進行了詳盡的測試,并在文中給出了測試截圖。

  

【正文】 軟件系統(tǒng)在沒有引入 IOC 容器之前,如圖 1所示,對象 A 依賴于對象 B,那么對象 A在初始化或者運行到某一點的時候,自己必須主動去創(chuàng)建對象 B 或者使用已經(jīng)創(chuàng)建的對象 B。無論是創(chuàng)建還是使用對象 B,控制權(quán)都在自己手上。 軟件系統(tǒng)在引入 IOC 容器之后,這種情形就完全改變了,如圖 3 所示,由于 IOC 容器 的加入,對象 A 與對象 B 之間失去了直接聯(lián)系,所以,當對象 A運行到需要對象 B 的時候, IOC 容器會主動創(chuàng)建一個對象 B 注入到對象 A 需要的地方。 對象 A 獲得依賴對象 B 的過程 ,由主動行為變?yōu)榱吮粍有袨椋刂茩?quán)顛倒過來了,這就是“控制反轉(zhuǎn)”。 2020 年, Martin Fowler 探討了同一個問題,既然 IOC 是控制反轉(zhuǎn),那么到底是“哪些方面的控制被反轉(zhuǎn)了呢?”,經(jīng)過詳細地分析和論證后,他得出了答案:“獲得依賴對象的過程被反轉(zhuǎn)了”??刂票环崔D(zhuǎn)之后,獲得依賴對象的過程由自身管理變?yōu)榱擞?IOC 容器主動注入。所謂依賴注入,就是由 IOC 容器在運行期間,動態(tài)地將某種依賴關系注入到對象之中。 Spring 實現(xiàn)了 IoC 思想,用戶通過配置 xml 文件告訴容易各個對象之間的相互注入的關系。 Spring 在運行時動態(tài)的將依賴注入到相應的對象之中。 本文采用 Spring 作為 Ioc 容器。 面向切面與 Spring AOP 在項目開發(fā)中,通常會做日志記錄,事務控制和權(quán)限控制,然后才是核心的業(yè)務邏輯處理代碼。這些日志處理等需要使用大量代碼,且貫穿整個軟件之中。一旦需要修改,則修改量極為巨大。 面向切面編程 AOP 技術就是為解決這個問題而誕生 的,切面就是橫切面,代表的是一個普遍存在的共有功能,例如,日志切面、權(quán)限切面及事務切面等[10]。 這種技術通常用來處理貫穿于所有軟件模塊的功能,如日志記錄。所有的功能模塊都需要日志記錄。將這些功能獨立出來就構(gòu)成了一個橫切整個項目的“切面”。 AOP 技術是建立在 Java 語言的反射機制與動態(tài)代理機制之上的。業(yè)務邏輯 基于 B/S 的在線考試系統(tǒng)的設計與實現(xiàn) 17 組件在運行過程中, AOP 容器會動態(tài)創(chuàng)建一個代理對象供使用者調(diào)用,該代理對象已經(jīng)按 Java EE 程序員的意圖將切面成功切入到目標方法的連接點上,從而使切面的功能與業(yè)務邏輯的功能同時得以執(zhí)行。從原理上講 ,調(diào)用者直接調(diào)用的其實是 AOP 容器動態(tài)生成的代理對象,再由代理對象調(diào)用目標對象完成原始的業(yè)務邏輯處理,而代理對象則已經(jīng)將切面與業(yè)務邏輯方法進行了合成。 Spring 給出了 AOP 的優(yōu)良實現(xiàn)。使用配置文件方式配置切面。切面可以附著于任意方法的開始和結(jié)束處。 文中采用 Spring AOP做日志記錄。 依賴管理與 Maven 隨著開源軟件的蓬勃發(fā)展,網(wǎng)絡上出現(xiàn)了大量的開源軟件,散布于CodeProject,SourceFe, Git 之上。這些軟件往往依賴于一些其他的開源社區(qū)?;?License 和類庫提及 的考慮,大多數(shù)類庫沒有包含它依賴的類庫。這導致我們在使用這些類庫時,不得不到處尋找其依賴的類庫。因為每個類庫的不同版本我往往具備不同特性,開發(fā)人員常常需要考慮兼容性和版本的問題。 另外一個問題是,在建立大的項目時,常常需要大量的拷貝復制依賴類庫。這往往導致缺漏類庫或添加了多余的類庫。每個項目都要重復,構(gòu)建、測試、打包、文檔、部署這些過程。 Maven 作為一個依賴管理和構(gòu)建工具為我們管理依賴并自動構(gòu)建、打包、文檔和部署。使用 Maven 只需要編寫配置文件, Maven 即可自動的查找并下載相關的類庫并編譯它。使用 Maven 來建立項目的構(gòu)建系統(tǒng)。在設計階段,也完全可以針對設計開發(fā)測試用例,然后再編寫代碼來滿足這些測試用例。然而,有了自動化構(gòu)建系統(tǒng),我們可以節(jié)省很多手動的測試時間。此外,盡早地使用構(gòu)建系統(tǒng)集成團隊的代碼,對項目也是百利而無一害。最后, Maven 還能幫助我們快速地發(fā)布項目 [11]。 Maven 給出了一組一致、簡潔的操作接口,能幫助團隊成員從原來的高度自定義的、復雜的構(gòu)建系統(tǒng)中解脫出來,使用 Maven 現(xiàn)有的成熟的、穩(wěn)定的組件也能簡化構(gòu)建系統(tǒng)的復雜度。交流與反饋。與版本控制系統(tǒng)結(jié)合后,所有人都能執(zhí)行最新的構(gòu)建并 快速得到反饋。此外,自動生成的項目報告也能幫助成員了解項目的狀態(tài),促進團隊的交流 [12]。 基于 B/S 的在線考試系統(tǒng)的設計與實現(xiàn) 18 文中給出的系統(tǒng)使用 Maven 管理依賴和構(gòu)建項目。 數(shù)據(jù)庫與 MySQL MySQL 是一個關系型數(shù)據(jù)庫管理系統(tǒng),由瑞典 MySQL AB 公司開發(fā),目前屬于 Oracle 公司。 MySQL 是最流行的關系型數(shù)據(jù)庫管理系統(tǒng),在 WEB 應用方面MySQL 是最好的 RDBMS( Relational Database Management System:關系數(shù)據(jù)庫管理系統(tǒng) ) 應用軟件之一。 MySQL 是一種關聯(lián)數(shù)據(jù)庫管理系統(tǒng),關聯(lián)數(shù)據(jù)庫將 數(shù)據(jù)保存在不同的表中,而不是將所有數(shù)據(jù)放在一個大倉庫內(nèi),這樣就增加了速度并提高了靈活性。 MySQL 所使用的 SQL 語言是用于訪問數(shù)據(jù)庫的最常用標準化語言。 MySQL 軟件采用了雙授權(quán)政策,它分為社區(qū)版和商業(yè)版,由于其體積小、速度快、總體擁有成本低,尤其是開放源碼這一特點,一般中小型網(wǎng)站的開發(fā)都選擇 MySQL 作為網(wǎng)站數(shù)據(jù)庫。由于其社區(qū)版的性能卓越,搭配 PHP和 Apache 可組成良好的開發(fā)環(huán)境 [13]。 與其他的大型數(shù)據(jù)庫例如 Oracle、 DB SQL Server 等相比, MySQL 有它的不足之處,但是這絲毫也沒 有影響它受歡迎的程度。對于個人和中小型企業(yè)來說, MySQL 提供的功能已經(jīng)綽綽有余,且由于 MySQL 是開放源碼軟件,沒有購買授權(quán)的高昂成本。 Linux 作為操作系統(tǒng), Apache 和 Nginx 作為 Web服務器,MySQL 作為數(shù)據(jù)庫, PHP/Perl/Python 作為服務器端腳本解釋器。由于這四個軟件都是免費或開放源碼軟件( FLOSS),因此使用這種方式不用花一分錢(除開人工成本)就可以建立起一個穩(wěn)定、免費的網(wǎng)站系統(tǒng),被業(yè)界稱為“ LAMP“或“ LNMP”組合。 MySQL 具有以下特點: 1.使用 C 和 C++編寫,并使 用了多種編譯器進行測試,保證源代碼的可移植性。 2.支持 AIX、 FreeBSD、 HPUX、 Linux、 Mac OS、 NovellNetware、 OpenBSD、OS/2 Wrap、 Solaris、 Windows 等多種操作系統(tǒng)。 3.為多種編程語言提供了 API。這些編程語言包括 C、 C++、 Python、 Java、Perl、 PHP、 Eiffel、 Ruby,.NET 和 Tcl 等。 4.支持多線程,充分利用 CPU資源。 5.優(yōu)化的 SQL 查詢算法,有效地提高查詢速度。 基于 B/S 的在線考試系統(tǒng)的設計與實現(xiàn) 19 6.既能夠作為一個單獨的應用程序應用在客戶端服務 器網(wǎng)絡環(huán)境中,也能夠作為一個庫而嵌入到其他的軟件中。 7.提供多語言支持,常見的編碼如中文的 GB 231 BIG5,日文的 Shift_JIS等都可以用作數(shù)據(jù)表名和數(shù)據(jù)列名。 8.提供 TCP/IP、 ODBC 和 JDBC 等多種數(shù)據(jù)庫連接途徑。 9.提供用于管理、檢查、優(yōu)化數(shù)據(jù)庫操作的管理工具。 10.支持大型的數(shù)據(jù)庫??梢蕴幚頁碛猩锨f條記錄的大型數(shù)據(jù)庫。 11.支持多種存儲引擎。 是開源的,所以你不需要支付額外的費用。 使用標準的 SQL 數(shù)據(jù)語言形式。 對 PHP 有 很好的支持, PHP 是目前最流行的 Web 開發(fā)語言。 是可以定制的,采用了 GPL 協(xié)議,你可以修改源碼來開發(fā)自己的Mysql 系統(tǒng)。 DDL/更改功能,數(shù)據(jù)架構(gòu)支持動態(tài)應用程序和開發(fā)人員靈活性( [3] 新增) ,可支持自我修復式集群 ,可提高可用性 ,可提高性能 文中選用MySQL作為數(shù)據(jù)庫管理系統(tǒng)。 JSP 容器與 Tomcat JSP(全稱 JavaServer Pages)是由 Sun Microsystems 公司 倡導和許多公司參與共同創(chuàng)建的一種使軟件開發(fā)者可以響應客戶端請求,而動態(tài)生成 HTML、XML 或其他格式文檔的 Web 網(wǎng)頁的技術標準。 JSP 技術是以 Java 語言作為腳本語言的, JSP 網(wǎng)頁為整個服務器端的 Java 庫單元提供了一個接口來服務于 HTTP的應用程序 [14]。 JSP 使 Java 代碼和特定的預定義動作可以嵌入到靜態(tài)頁面中。 JSP 句法增加了被稱為 JSP 動作的 XML 標簽,它們用來調(diào)用內(nèi)建功能。另外,可以創(chuàng)建 JSP標簽庫,然后像使用標準 HTML 或 XML 標簽一樣使用它們。標簽庫提供了一種和平臺無關的擴展服務器性能的方 法。 基于 B/S 的在線考試系統(tǒng)的設計與實現(xiàn) 20 JSP 被 JSP 編譯器編譯成 Java Servlets。一個 JSP 編譯器可以把 JSP 編譯成 JAVA 代碼寫的 servlet 然后再由 JAVA 編譯器來編譯成機器碼,也可以直接編譯成二進制碼。 Tomcat 是由 Apache 軟件基金會下屬的 Jakarta 項目開發(fā)的一個 Servlet容器,按照 Sun Microsystems提供的技術規(guī)范,實現(xiàn)了對 Servlet和 JavaServer Page( JSP)的支持,并提供了作為 Web 服務器的一些特有功能,如 Tomcat 管理和控制平臺、安全域管理和 Tomcat閥等。由于 Tomcat本身也內(nèi)含了一個 HTTP服務器,它也可以被視作一個單獨的 Web服務器。但是,不能將 Tomcat和 Apache Web 服務器混淆, Apache Web Server 是一個用 C 語言實現(xiàn)的 HTTP web server;這兩個 HTTP web server 不是捆綁在一起的。 Apache Tomcat 包含了一個配置管理工具,也可以通過編輯 XML 格式的配置文件來進行配置 [15]。 Tomcat 服務器是一個免費的開放源代碼的 Web 應用服務器,屬于輕量級應用服務器,在中小型系統(tǒng)和并發(fā)訪問用戶不是很多的場合下 被普遍使用,是開發(fā)和調(diào)試 JSP 程序的首選。對于一個初學者來說,可以這樣認為,當在一臺機器上配置好 Apache 服務器,可利用它響應 HTML(標準通用標記語言下的一個應用)頁面的訪問請求。實際上 Tomcat 部分是 Apache 服務器的擴展,但它是獨立運行的,所以當你運行 tomcat 時,它實際上作為一個與 Apache 獨立的進程單獨運行的。 文中使用 Tomcat 作為系統(tǒng)的開發(fā)調(diào)試和運維的應用服務器。 前段框架與 Bootstrap Bootstrap 是一個用于快速開發(fā) Web 應用程序和網(wǎng)站的前 端框架。Bootstrap 是基于 HTML、 CSS、 JAVASCRIPT 的。 Bootstrap 是由 Twitter 的 Mark Otto 和 Jacob Thornton 開發(fā)的。 Bootstrap 是 2020 年八月在 GitHub 上發(fā)布的開源產(chǎn)品。 Bootstrap 提供了優(yōu)雅的 HTML 和 CSS 規(guī)范,它即是由動態(tài) CSS 語言 Less 寫成。 Bootstrap 一經(jīng)推出后頗受歡迎,一直是 GitHub 上的熱門開源項目,包括 NASA 的 MSNBC(微軟全國廣播公司)的 Breaking News 都使用了該項 目 [16]。 Bootstrap 提供了一個帶有網(wǎng)格系統(tǒng)、鏈接樣式、背景的基本結(jié)構(gòu)。這將 基于 B/S 的在線考試系統(tǒng)的設計與實現(xiàn) 21 在 Bootstrap 基本結(jié)構(gòu) 部分詳細講解。 CSS: Bootstrap 自帶以下特性:全局的 CSS 設置、定義基本的 HTML 元素樣式、可擴展的 class,以及一個先進的網(wǎng)格系統(tǒng)。這將在 Bootstrap CSS 部分詳細講解。 Bootstrap 包含了十幾個可重用的組件,用于創(chuàng)建圖像、下拉菜單、導航、警告框、彈出框等等。 Bootstrap 包含了十幾個自定義的 jQuery 插件。您可以直接包含所有的插件,也可以逐個包含這些插件。這將在 Bootstrap 插件 部分詳細講解。 標簽庫與 JSTL JSTL( JSP Standard Tag Library, JSP 標準標簽庫)是一個不斷完善的開放源代碼的 JSP 標簽庫,是由 apache 的 jakarta 小組來維護的。 JSTL 只能運行在支持 和 規(guī)范的容器上,如 tomcat 。在 JSP 中也是作為標準支持的 [17]。 JSTL 發(fā)布于 2020 年 6 月,由四個定制標記庫( core、 format、 xml 和 sql)和一對通用標記庫驗證器( ScriptFreeTLV 和 PermittedTaglibsTLV)組成。 core 標記庫提供了定制操作,通過限制了作用域的變量管理數(shù)據(jù),以及執(zhí)行頁面內(nèi)容的迭代和條件操作。它還提供了用來生成和操作
點擊復制文檔內(nèi)容
畢業(yè)設計相關推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1