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

正文內(nèi)容

基于jsp的網(wǎng)上考試系統(tǒng)論文(編輯修改稿)

2024-12-23 21:53 本頁(yè)面
 

【文章內(nèi)容簡(jiǎn)介】 HP三分天下的局面,但是對(duì) 于大型的電子商務(wù)站點(diǎn), JSP及 J2EE技術(shù)將成為首選。 用 JSP 開(kāi)發(fā) Web的幾種主要方式 JSP網(wǎng)站開(kāi)發(fā)技術(shù)標(biāo)準(zhǔn)給出了兩種使用 jsp的方式。這些方式都可以歸納為模式一和模式二。這兩種結(jié)構(gòu)在 jsp技術(shù)一開(kāi)始應(yīng)用,就占有了絕對(duì)的統(tǒng)治地位。在當(dāng)今的開(kāi)發(fā)中,我們比較偏向使用模式二,但是模式一對(duì)小型的開(kāi)發(fā)比較占優(yōu)勢(shì)。下面來(lái)介紹這兩種模式。 模式一: jsp+javabean 模式一就是指 jsp+javabean技術(shù),如圖 21所示。 圖 21 在模式一中, jsp頁(yè)面獨(dú)自響應(yīng)請(qǐng)求并將處理結(jié)果返回客戶(hù)。所有的 數(shù)據(jù)通過(guò) bean來(lái)處理,jsp實(shí)現(xiàn)頁(yè)面的表現(xiàn)。模式一技術(shù)也實(shí)現(xiàn)了頁(yè)面的表現(xiàn),和頁(yè)面的商業(yè)邏輯的相分離。在最新引入jsp技術(shù)的時(shí)候,模式一占有統(tǒng)治地位。在用 jsp處理顯示和業(yè)務(wù)邏輯時(shí),使用模式一比較簡(jiǎn)單。Jsp頁(yè)面獨(dú)自響應(yīng)請(qǐng)求并經(jīng)處理后把結(jié)果返回給客戶(hù)端。所有的數(shù)據(jù)處理通過(guò) javabean來(lái)處理,jsp實(shí)現(xiàn)頁(yè)面的顯示。通過(guò)使用模式一,可以實(shí)現(xiàn)頁(yè)面的顯示和頁(yè)面的內(nèi)容(邏輯)分離。但是大量使用此模式時(shí)可能帶來(lái)一個(gè)副作用,那就是會(huì)導(dǎo)致在頁(yè)面里嵌入了大量的 java控制代碼,當(dāng)要處理的業(yè)務(wù)邏輯很復(fù)雜時(shí),這種情況就變得非 常糟糕。大量的內(nèi)嵌代碼使得頁(yè)面變得龐大,同時(shí)也非常復(fù)雜,當(dāng)頁(yè)面的功能實(shí)現(xiàn)后交給美工或者頁(yè)面內(nèi)容設(shè)計(jì)人員進(jìn)行包裝時(shí),問(wèn)題就變得嚴(yán)重了。所以,在大型的項(xiàng)目里,這種方法將會(huì)導(dǎo)致頁(yè)面的維護(hù)困難。故在大型的項(xiàng)目中不要使用模式一,而在小型的應(yīng)用中可以考慮此模式。 模式二: jsp+servlet+javabean 模式二,就是指 jsp+servlet+javabean技術(shù),如圖 22所示。 圖 22 在模式二中,結(jié)合了 jsp和 servlet技術(shù)。模式二充分利用了 jsp和 servlet兩種技術(shù)原有的優(yōu)點(diǎn)。此模式遵循模型 視圖 控制器( mvc)模式,模型( model)代表的是系統(tǒng)的內(nèi)部狀態(tài)和業(yè)務(wù)邏輯 beans,視圖( view)代表的是 jsp頁(yè)面和表現(xiàn)層,控制器( controller)代表的是servlets。它的主要思想是使用一個(gè)或者多個(gè) servlet作為控制器。請(qǐng)求由前沿的 servlet(可能是多個(gè) servlet構(gòu)成的一個(gè)處理鏈)接收并處理后,會(huì)重新定向到 jsp。在 servlet作為控制器時(shí),每個(gè) servlet通常只實(shí)現(xiàn)很少一部分功能,多個(gè) servlet控制器就可以結(jié)合起來(lái)完成復(fù)雜的任務(wù),這樣的好處是 servlet的重用 性好,一個(gè)副作用就是可能會(huì)導(dǎo)致請(qǐng)求響應(yīng)的時(shí)間加長(zhǎng)。在此模式里, javabean作為模型的角色,它充當(dāng) jsp和 servlet通信的中間工具, servlet處理完后設(shè)置bean的屬性, jsp讀取此 bean的屬性,然后進(jìn)行顯示。在實(shí)際的項(xiàng)目開(kāi)發(fā)過(guò)程中,頁(yè)面設(shè)計(jì)者可以方便地使用普通的 html工具來(lái)開(kāi)發(fā) jsp頁(yè)面, servlet卻更適合于后端開(kāi)發(fā)者使用,開(kāi)發(fā) servlets需要的工具是 java集成開(kāi)發(fā)工具,也就是說(shuō), servlets技術(shù)需要技術(shù)人員更多的編程。此模式更加地把顯示和邏輯分離,使得代碼比模式一更容易管理, 適合于大型項(xiàng)目的開(kāi)發(fā)。 在本考試系統(tǒng)中,因?yàn)轫?xiàng)目不是太大,故選擇了模型一模式,即 jsp+javabean模式。 第三章 系統(tǒng)設(shè)計(jì) 可復(fù)用性和可維護(hù)性是現(xiàn)代軟件設(shè)計(jì)追求的重要目標(biāo)。面向?qū)ο蟮能浖到y(tǒng)設(shè)計(jì),在支持可維護(hù)性的同時(shí),提高系統(tǒng)的可復(fù)用性。軟件設(shè)計(jì)的原則首先都是復(fù)用的原則,遵循軟件設(shè)計(jì)原則可以有效地提高系統(tǒng)的復(fù)用性,同時(shí)提高系統(tǒng)的可維護(hù)性。 開(kāi)閉原則 (OpenClosed Principle, OCP) 開(kāi)閉原則是面向?qū)ο蟮目蓮?fù)用設(shè)計(jì)的基石,其含義是:一個(gè)軟件實(shí)體應(yīng) 對(duì)擴(kuò)展開(kāi)放,對(duì)修改關(guān)閉( Software should be open for extension, but closed to modification) . 為了滿(mǎn)足開(kāi)閉原則,抽象化是關(guān)鍵。用 JAVA語(yǔ)言可以給系統(tǒng)定義一個(gè)抽象設(shè)計(jì),該抽象設(shè)計(jì)的行為在具體的實(shí)現(xiàn)層被實(shí)現(xiàn)??梢圆捎?JAVA類(lèi)或 JAVA接口,規(guī)定出所有的具體類(lèi)必須提供的方法,這個(gè)抽象層要預(yù)見(jiàn)所有可能的擴(kuò)展,從而使得在任何擴(kuò)展情況下,系統(tǒng)的抽象層不需修改,從而滿(mǎn)足 “開(kāi)閉 ”原則。 可變性封裝原則( Principle of Encapsulation of Variation, EVP)是對(duì)開(kāi)閉原則的另一種表述。該原則要求在進(jìn)行系統(tǒng)設(shè)計(jì)時(shí),考慮容許發(fā)生的變化,且變化不導(dǎo)致系統(tǒng)重新設(shè)計(jì)。達(dá)到這一目的的方法是找到一個(gè)系統(tǒng)的可變因素,將它封裝在一個(gè)對(duì)象里,通過(guò)類(lèi)的繼承來(lái)表示所有可能變化,起到萬(wàn)變不離其中的效果。在進(jìn)行可變性封裝時(shí),應(yīng)注意一種可變性不應(yīng)當(dāng)與另一種可變性混合在一起,也就是說(shuō)在具體繼承類(lèi)中最好不能再有可變性,這樣保證可變性封裝類(lèi)的繼承等級(jí)結(jié)構(gòu)不會(huì)超過(guò)兩層。 里氏代換原則 (Liskov Substitution Principle, LSP) 抽象化到具體化要使用繼承關(guān)系,子類(lèi)與基類(lèi)在軟件中角色互換關(guān)系由里氏代換原則約束。里氏代換原則是指在一個(gè)軟件實(shí)體中如果使用的是一個(gè)基類(lèi)的話(huà),那么一定適用于其子類(lèi),軟件實(shí)體無(wú)法察覺(jué)基類(lèi)對(duì)象與子類(lèi)對(duì)象的區(qū)別,反之則不成立。里氏代換原則是繼承復(fù)用的基石。 JAVA語(yǔ)言編譯器負(fù)責(zé)檢查一個(gè)程序是否符合里氏代換。 依賴(lài)倒轉(zhuǎn)原則 (Dependence Inversion Principle, DIP) 依賴(lài)倒轉(zhuǎn)原則是面向?qū)ο笤O(shè)計(jì)的主要機(jī)制,其內(nèi)容是 :要依賴(lài)于抽象,不要依賴(lài)于具體。依賴(lài) 倒轉(zhuǎn)原則要求客戶(hù)端依賴(lài)于抽象耦合;抽象不應(yīng)當(dāng)依賴(lài)于細(xì)節(jié),細(xì)節(jié)應(yīng)當(dāng)依賴(lài)于抽象;要針對(duì)接口編程,不要針對(duì)實(shí)現(xiàn)編程。 以抽象方式耦合是依賴(lài)倒轉(zhuǎn)原則的關(guān)鍵。依賴(lài)倒轉(zhuǎn)原則是面向?qū)ο笤O(shè)計(jì)的核心原則,設(shè)計(jì)模式的研究和應(yīng)用是以依賴(lài)倒轉(zhuǎn)原則為指導(dǎo)的。 在 JAVA語(yǔ)言中,提供兩種機(jī)制支持抽象類(lèi)型。它們分別是 JAVA接口和 JAVA抽象類(lèi)。 接口隔離原則( Interface Segregation Principle, ISP) 接口隔離原則內(nèi)容是指使用多個(gè)專(zhuān)門(mén)的接口優(yōu)于使用單一的總接口,一個(gè)類(lèi)對(duì)另外一個(gè)類(lèi)的 依賴(lài)性應(yīng)當(dāng)是建立在最小的接口上。 接口是指一個(gè)類(lèi)型所具有的方法特征的集合。一個(gè)接口應(yīng)當(dāng)代表一個(gè)角色,而不是多個(gè)角色。如果系統(tǒng)涉及多個(gè)角色,那么每一個(gè)角色都應(yīng)當(dāng)由一個(gè)特定的接口代表。 將接口理解為狹義的 JAVA接口,接口隔離原則就是為同一個(gè)角色提供寬、窄不同的接口,以達(dá)到為客戶(hù)端訂制服務(wù)的目的。 合成 /聚合復(fù)用原則 (Composite/Aggregate Resuse Principle, CARP) 合成 /聚合復(fù)用原則就是在一個(gè)新的對(duì)象里使用一些已有的對(duì)象,使之成為新對(duì)象的一部分,新的對(duì)象通過(guò)向已有對(duì)象進(jìn)行委派達(dá)到復(fù)用已有功能的目的。合成 /聚合復(fù)用原則可表述為:盡量使用合成 /聚合,盡量不用繼承。 迪米特法則( Law of Demeter, LoD 或 Least Knowledge Principle, LKP) 迪米特法則是指一個(gè)對(duì)象應(yīng)該對(duì)其他的對(duì)象有盡可能少的了解,每一個(gè)軟件單元對(duì)其他單元都只有最少的知識(shí),而且局限于那些與本單元密切相關(guān)的軟件單元。 如果兩個(gè)類(lèi)不必彼此直接通信,那么這兩個(gè)類(lèi)就不應(yīng)當(dāng)發(fā)生直接的相互作用。如果其中的一個(gè)類(lèi)需要調(diào)用另一個(gè)類(lèi)的某一個(gè)方法,通過(guò)第三者轉(zhuǎn) 發(fā)這個(gè)調(diào)用。 系統(tǒng)模塊圖: 圖 31 系統(tǒng)整體分為四大模塊:系統(tǒng)登錄模塊,超級(jí)管理員模塊,教師模塊,學(xué)生模塊。 系統(tǒng)登錄模塊功能: 完成不同角色的登錄,傳遞相應(yīng)的參數(shù)到各個(gè)模塊,為下面各模塊操作做準(zhǔn)備。 超級(jí)管理員模塊的功能: 實(shí)現(xiàn)對(duì)試題的管理,對(duì)試卷的管理,對(duì)科目的管理,對(duì)通知的管理,對(duì)教師用戶(hù)的管理,對(duì)學(xué)生用戶(hù)的管理,以及對(duì)自身信息的修改。 教師模塊的功能: 實(shí)現(xiàn)生成題目,生成試卷,自身信息的修改等功能。 學(xué)生模塊的功能: 實(shí)現(xiàn)參加考試,成績(jī)查詢(xún)等功能。 據(jù)庫(kù)設(shè)計(jì) 數(shù)據(jù)庫(kù)設(shè)計(jì)的重要性 數(shù)據(jù)庫(kù)設(shè)計(jì)是指對(duì)于一個(gè)給定的應(yīng)用環(huán)境,提供一個(gè)確定最優(yōu)數(shù)據(jù)模型與處理模式的邏輯設(shè)計(jì),以及一個(gè)確定數(shù)據(jù)庫(kù)存儲(chǔ)結(jié)構(gòu)與存取方法的物理設(shè)計(jì),建立起既能反映現(xiàn)實(shí)世界信息和信息聯(lián)系,滿(mǎn)足用戶(hù)數(shù)據(jù)要求和加工要求,又能被某個(gè)數(shù)據(jù)庫(kù)管理系統(tǒng)所接受,同時(shí)能實(shí)現(xiàn)系統(tǒng)目標(biāo),并有效存取數(shù)據(jù)的數(shù)據(jù)庫(kù)。 數(shù)據(jù)庫(kù)已成為現(xiàn)代信息系統(tǒng)等計(jì)算機(jī)系統(tǒng)的基礎(chǔ)與核心部分。數(shù)據(jù)庫(kù)設(shè)計(jì)的好壞直接影響著整個(gè)系統(tǒng)的效率和質(zhì)量。在數(shù)據(jù)庫(kù)設(shè)計(jì)中,良好的、清晰的數(shù)據(jù)庫(kù)設(shè)計(jì)方案對(duì)數(shù)據(jù)庫(kù)設(shè)計(jì)來(lái)說(shuō)是非常重要的。之所以需要制定好的數(shù) 據(jù)庫(kù)設(shè)計(jì)方案,是因?yàn)樵O(shè)計(jì)工作提倡組織性、條理性。如果項(xiàng)目已經(jīng)非常有條理地分析并制定了清晰的設(shè)計(jì)方案,設(shè)計(jì)人員就能更好地控制項(xiàng)目的設(shè)計(jì)、實(shí)現(xiàn)以及管理。由于數(shù)據(jù)庫(kù)設(shè)計(jì)的目標(biāo)是要求完全滿(mǎn)足業(yè)務(wù)的數(shù)據(jù)庫(kù)存儲(chǔ)要求,這樣,最終的產(chǎn)品也就是一個(gè)準(zhǔn)確的、便于使用的和性能優(yōu)秀的數(shù)據(jù)庫(kù)。 假設(shè)已經(jīng)制定了優(yōu)秀的數(shù)據(jù)庫(kù)設(shè)計(jì)方案,并且最終的數(shù)據(jù)庫(kù)也實(shí)現(xiàn)了所有業(yè)務(wù)處理、規(guī)則以及便于客戶(hù)使用的應(yīng)用軟件接口。在像這樣的數(shù)據(jù)庫(kù)中,數(shù)據(jù)檢索和修改就可以很容易實(shí)現(xiàn),同樣,從用戶(hù)的角度,數(shù)據(jù)庫(kù)的維護(hù)工作也變得簡(jiǎn)單并且容易完成。數(shù)據(jù)庫(kù)本身也就可以確 保數(shù)據(jù)完整性以及保持與業(yè)務(wù)規(guī)則一致。 在設(shè)計(jì)階段缺少全面而清晰的方向,就會(huì)導(dǎo)致沒(méi)有完全實(shí)現(xiàn)業(yè)務(wù)規(guī)則和業(yè)務(wù)處理,導(dǎo)致有些所需的信息疏漏。沒(méi)有一個(gè)全面的設(shè)計(jì)方案,就不可能與客戶(hù)和最終用戶(hù)開(kāi)展全面的調(diào)研工作,也就不能從客戶(hù)和最終用戶(hù)那里得到所有業(yè)務(wù)的反饋。這樣設(shè)計(jì)出來(lái)的數(shù)據(jù)庫(kù)系統(tǒng)就不可能完全滿(mǎn)足公司的需求,甚至還需要手工處理來(lái)保持?jǐn)?shù)據(jù)的準(zhǔn)確性和一致性。 可見(jiàn),數(shù)據(jù)庫(kù)設(shè)計(jì)工作在設(shè)計(jì)階段中是多么的重要。 數(shù)據(jù)庫(kù) er圖: 圖 32 系統(tǒng)包括七個(gè)實(shí)體:管理員,教師,學(xué)生,科目,試題,試卷,題型 實(shí)際生成 九個(gè)數(shù)據(jù)庫(kù)表 : 用戶(hù)表 :admin,student,teacher 通知表 :news 科目表 :subject 試題表 :question 試卷表 :paper 答案表 :paper_answer 分?jǐn)?shù)表 :scores 表間關(guān)系圖 : 圖 33 系統(tǒng)數(shù)據(jù)庫(kù)表 admin表 序號(hào) 字段名 數(shù)據(jù)類(lèi)型 備注 1 id int(8) 主鍵 2 username varchar(50) 管理員帳號(hào) 3 userpsw varchar(30) 管理員密碼 4 name varchar(50) 管理員真名 5 sex enum(39。male39。,39。female39。) 管理員性別 6 dept varchar(50) 管理員所屬部門(mén) 7 addr varchar(50) 管理員住址 8 idcard varchar(20) 管理員身份證號(hào)碼 9 phone varchar(20) 管理員聯(lián)系電話(huà) 10 varchar(40) 管理員 11 status Enum(39。y39。,39。n39。) 管理員狀態(tài) teacher表 序號(hào) 字段名 數(shù)據(jù)類(lèi)型 備注 1 id int(8) 主鍵 2 username varchar(50) 教師帳號(hào) 3 userpsw varchar(30) 教師密碼 4 tea_no varchar(30) 教師號(hào) 5 name varchar(50) 教師真名 6 sex enum(39。male39。,39。female39。) 教師性別 7 idcard varchar(20) 教師身份證號(hào) 8 addr varchar(50) 教師住址 9 dept varchar(50) 教師所屬部門(mén) 10 birthday varchar(10) 教師生日 11 phone varchar(20) 教師聯(lián)系電話(huà) 12 varchar(50) 教師 13 status enum(39。y39。,39。n39。) 教師狀態(tài) student表 序號(hào) 字段名 數(shù)據(jù)類(lèi)型 備注 1 id int(8) 主鍵 2 username varchar(50) 學(xué)生帳號(hào) 3 userpsw varchar(30) 學(xué)生密碼 4 std_no varchar(30) 學(xué)號(hào) 5 name varchar(50) 學(xué)生真名 6 sex enum(39。male39。,39。female39。) 學(xué)生性別 7 idcard varchar(20) 學(xué)生身份證 8 class varchar(50) 學(xué)生所屬班級(jí) 9 addr varchar(50) 學(xué)生住址 10
點(diǎn)擊復(fù)制文檔內(nèi)容
高考資料相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1