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

正文內(nèi)容

基于jsp(java)網(wǎng)絡(luò)教學(xué)平臺(tái)系統(tǒng)的設(shè)計(jì)和開發(fā)(參考版)

2025-05-11 19:49本頁面
  

【正文】 (1) getRemoteUser: 獲得認(rèn)證用戶的用戶名 (2) isUserInRole: 確定用戶是否是屬于特定的安全角色 (3) getUserPrincipal: 返回一個(gè) 對(duì)。當(dāng)僅使用聲明 性安全方法不能完全滿足應(yīng)用程序的安全要求時(shí),利用可編程安全方法來滿足之。 正如上面所述,本系統(tǒng)采用的是基于表單的驗(yàn)證。這個(gè)數(shù)字證書必須符合 X509 公鑰體系結(jié)構(gòu) (PKI)的標(biāo)準(zhǔn)。在此驗(yàn)證方式中,客戶端必須提供一個(gè)公鑰證書,你可以把這個(gè)公鑰證書看作是你的數(shù)字護(hù)照。它通過 HTTPS(HTIP over SSL)來保證驗(yàn)證的安全性。因此在使用基本 HTTP 的驗(yàn)證方式和基于表單的驗(yàn)證方法時(shí),要確定這兩種方式的弱點(diǎn)對(duì)你的應(yīng)用是可接受的,為了消除明文傳輸?shù)拇_定,我們可以將基于表單的驗(yàn)證建立在 SSL 層上。P 驗(yàn)證類似的不安全的弱點(diǎn)。 基于表單的驗(yàn)證 (FonnBased Authentication) 基于表單的驗(yàn)證使系統(tǒng)開發(fā)者可以自定義用戶的登錄頁面和報(bào)錯(cuò)頁面。可以采用一些安全措施來克服這個(gè)弱點(diǎn)。而且目標(biāo) web 服務(wù)器對(duì)用戶來說也是非驗(yàn)證的。但需要注意的是,這種驗(yàn)證方法是不夠安全的。這種驗(yàn)證機(jī)制利用用戶名和密碼作為驗(yàn)證信息。當(dāng)一個(gè)未認(rèn)證的用戶試圖訪問受保護(hù)的網(wǎng)絡(luò)資源時(shí),系統(tǒng)進(jìn)行身份認(rèn)證,并且只有當(dāng)你是具有訪問這些資源的資格的用戶時(shí)才能進(jìn) 行訪問。 系統(tǒng)安全實(shí)現(xiàn) 網(wǎng)絡(luò)層安全 我們可以通過設(shè)定安全約束來保護(hù)網(wǎng)絡(luò)資源,這個(gè)安全約束決定何人被授權(quán)訪問那些由一系列的 URL 地址和 HTTP 協(xié)議描述的受保護(hù)的網(wǎng)絡(luò)資源。 以用戶信息實(shí)體組件為例,對(duì)可更新的值對(duì)象進(jìn)行簡(jiǎn)略的說明。 因此,在值對(duì)象的設(shè)計(jì)上采用了可更新值對(duì)象的策略,也就是說,不僅可以把來自實(shí)體組件的值傳遞到客戶端,而且可以把客戶端更新的數(shù)據(jù)傳遞回實(shí)體組件對(duì)象。 網(wǎng)絡(luò)教學(xué)管理系統(tǒng)的用戶不僅可以檢索數(shù)據(jù),還能對(duì)特定的數(shù)據(jù)進(jìn)行修改??蛻舳丝梢酝ㄟ^檢索一該值對(duì)象獲取單個(gè)的屬性值。值對(duì)象是普通的Java 對(duì)象,封裝了實(shí)體組件的所有屬性。隨著調(diào)用次數(shù)的逐漸增加,系統(tǒng)的性能會(huì)明顯下降。通常,客戶端需要多次調(diào)用實(shí)體組件的 getter 方法才能得到所有的屬性值。 數(shù)據(jù)訪問優(yōu)化實(shí)現(xiàn) 網(wǎng)絡(luò)教學(xué)管理系統(tǒng)中的業(yè)務(wù)數(shù)據(jù)使用相應(yīng)的實(shí)體組件作為對(duì)象視圖,客戶端可以通過組件提供的屬性讀寫方法。對(duì)應(yīng)于第4 章的系統(tǒng)設(shè)計(jì),只需在 bean 類的方法里調(diào)用 初始化靜態(tài)的連接池管理對(duì)象,然后就可以調(diào)用相應(yīng)方法取得連接對(duì)象。 51 使用數(shù)據(jù)庫連接池 將數(shù)據(jù)庫連接池的實(shí)現(xiàn)應(yīng)用于系統(tǒng)很容易實(shí)現(xiàn)。 類 DBConnectionPool通過實(shí)現(xiàn) TimerListene:接口來響應(yīng) Time:事件,從而實(shí)現(xiàn)其自管理功能。必要時(shí)關(guān)閉連接。包括根據(jù)連接使用次數(shù),連接空閑時(shí)間等來對(duì)連接進(jìn)行管理。 (3) 在系統(tǒng)關(guān)閉時(shí)釋放所有資源,關(guān)閉所有連接。 類 DBConnectionPool提供以下功能: (1) 從連接池獲取 (或創(chuàng)建 )可用連接。 一個(gè)完整的連接池應(yīng)用應(yīng)包括功能:從連接池獲取 (或創(chuàng)建 )連接、將連接返回給連接池、系統(tǒng)關(guān)閉時(shí)關(guān)閉所有連接釋放所有資源;裝載 JDBC 驅(qū)動(dòng)、 根據(jù)屬性文件中定義的屬性創(chuàng)建 DBConnectionPool、跟蹤應(yīng)用程序?qū)B接池的引用等;應(yīng) 用 程 序 對(duì) 連 接 池 的 使 用 。它的核心思想是連接復(fù)用,通過建立一個(gè)數(shù)據(jù)庫連接池以及一套連接使用、分配、管理策略,使得一個(gè)數(shù)據(jù)庫連接可以得到高效、安全的復(fù)用,避免了數(shù)據(jù)庫連接頻繁建立、關(guān)閉的開銷。 為了有效地解決這個(gè)問題,我們引入了連接池的概念。在進(jìn)行數(shù)據(jù)庫操作之前,需要與數(shù)據(jù)庫建立連接。 此 cookie 被送往客戶端,且在客戶端的后續(xù)的請(qǐng)求中將被返回給服務(wù)器。 如果客戶端的 HTTP 請(qǐng)求中不包括一個(gè)會(huì)話 ID,或是包括的會(huì)話 ID 無效,服務(wù)器將創(chuàng)建一個(gè) HttpSession 對(duì)象,并將其引用返回到一個(gè) Session 變量??蛻舳擞糜跇?biāo)識(shí)一個(gè) Session 的是一個(gè)會(huì)話 ID如果一個(gè) JSP/Servlet 允許會(huì)話,任何時(shí)候,客戶端向服務(wù)器請(qǐng)求一個(gè) JSP/Servlet頁面時(shí),服 務(wù)器將檢查該 HTTP 請(qǐng)求的頭標(biāo)中是否包括一個(gè)會(huì)話 ID。會(huì)話 Session 本質(zhì)上是服務(wù)器端的一個(gè)對(duì)象。 包中提供了一個(gè) HttpSession 類。一旦服務(wù)器初始化了一個(gè)會(huì)話對(duì)象并且客戶端接受了它,服務(wù)器就可以構(gòu)建復(fù)雜的、有效的對(duì)象并保存大量的屬于該會(huì)話的數(shù) 扼。 本系統(tǒng)采用 JSP/Servlet 會(huì)話 API 來對(duì)會(huì)話進(jìn)行跟蹤和管理。服務(wù)器不會(huì)保留請(qǐng)求的任何信息:下一次客戶端進(jìn)行請(qǐng)求時(shí),服務(wù)器沒有方法可以將它與其他客戶端區(qū)別開來。 HTTP 最初的設(shè)計(jì)意圖是在 WWW 上發(fā)布文檔和圖像,因此,它使用了一個(gè)相當(dāng)簡(jiǎn) 單的通信模型。 一個(gè)客戶機(jī)與服務(wù)器建立連接后,發(fā)送一個(gè)請(qǐng)求給服務(wù)器,請(qǐng)求方的格式為:請(qǐng)求方法,請(qǐng)求 URI,協(xié)議版本號(hào),后邊是 0 個(gè)或多個(gè)頭標(biāo)以及可能的請(qǐng)求數(shù)據(jù)。其最新版本為 ,在 RFC 2068 中最先提出,并在 RFC 2616 中進(jìn)行了修正。 Userbean 在本系統(tǒng)的許多程序中都要用到,它是作為 session范圍的 bean定義的。 (8) isLogin:獲取 login 值,檢查是否是登錄會(huì)員的訪問。 (7) checkUser:用來檢查用戶登錄信息。 (5) login,這是一個(gè) boolean 屬性,用來判斷當(dāng)前的訪問是否是登錄會(huì)員的訪問。 當(dāng)用戶登錄認(rèn)證的表單請(qǐng)求后,表單采用 POST 方法提交到 LoginServlet. LoginServlet 將獲得的參數(shù)傳給 Userbean(是一個(gè) JavaBean),如果通過驗(yàn)證就進(jìn)入系統(tǒng)的功能區(qū),否則就返回登錄界面。如果采用 GET方法將表單數(shù)據(jù)提交給服務(wù)器,用戶瀏覽器將在 URL 中明顯地顯示出口令,而且瀏覽器還會(huì)將它保存在最近瀏覽地頁面列表中。 在基于表單的鑒別中,提示用戶名和口令的 Web 頁面由服務(wù)器來提供,而不是依靠瀏覽器顯示對(duì)話框,這樣,在需要用戶登錄時(shí)就可以給用戶提交額外的信息和選項(xiàng)了。通過 IP 地址來鑒別只有當(dāng)用戶擁有靜態(tài) IP 時(shí)才起作用,所以并不常用。一般而言,做到第三范式 (3NF)就足夠了。規(guī)范化一共有六個(gè)級(jí)別: 1NF, 2NF, 3NF. BCNF, 4NF, 5NF。 ( 4)可伸縮性原則 數(shù)據(jù)庫結(jié)構(gòu) 的設(shè)計(jì)應(yīng)充分考慮發(fā)展的需要、移植的孺要,具有良好的擴(kuò)展性、伸縮性和適度冗余。對(duì)輸入到數(shù)據(jù)庫中的數(shù)據(jù)要有審核和約束機(jī)制。 ( 2)完整性原則 數(shù)據(jù)庫的完整性是指數(shù)據(jù)的正確性和相容性。 圖 44 發(fā)布教學(xué)公告類圖 數(shù) 據(jù)庫設(shè)計(jì) 數(shù)據(jù)庫設(shè)計(jì)原則 ( 1)一致性原則 對(duì)信息進(jìn)行統(tǒng)一、系統(tǒng)的分析與設(shè)計(jì),協(xié)調(diào)好各數(shù)據(jù)源,做到“數(shù)出一門”、“算法統(tǒng)一”、“度量一致”。在 UML 的語法中類之間的關(guān)系主要分為以下兒種:協(xié)作、依賴、泛化、實(shí)現(xiàn)、積聚。同一 JSP 網(wǎng)頁被分解成兩個(gè)部分:客戶頁和服務(wù)器頁其中后者和前者的關(guān)系是構(gòu)建和被構(gòu)建的關(guān)系 (即圖 47中的 Build 的關(guān)系 )。對(duì) JSP 以及 JavaBean 組件我們現(xiàn)在都可以用類為它們建模,方便類圖和序列圖中的表示,對(duì)于系統(tǒng)中的用例,可以根據(jù)設(shè)計(jì)類來進(jìn)一步細(xì)化其順序圖,下面顯示了發(fā)布教學(xué)公告和學(xué)生選課用例的細(xì)化順序圖。在 ROSE 中,可以設(shè)置類的 stereotyp。 UML 提供了版類 (stereotype)這個(gè)擴(kuò)展機(jī)制來區(qū)分不同類型的類。因此在本子系統(tǒng)中設(shè)計(jì)了下面這些控制類如表 : 表 控制類設(shè)計(jì) 功能模塊 控制類名稱 操作 課程資源管理 CourseUstSevlet 顯示課程 資源列表 CourseSeekSevlet 查詢課程資源 CourseAddSevlet 增加課程資源 CourseEditSevlet 編輯課程資源 CourseDeleteSevlet 刪除課程資源 CourseControlSevlet 前端請(qǐng)求總控制器 CourseBean 封裝所有對(duì)課程資源的操作 教學(xué)公告管理 TeachCourseListSevlet 顯示開課信息列表 TeachCourseSeekSevlet 查詢開課信息 TeachCourseAddSevlet 增加開課信息并提交發(fā)布 TeachCourseEditSevlet 編輯開課信息 TeachCourseDeleteSeviet 刪除開課信息 TeachCourseControlSevlet 前端請(qǐng)求總控制器 TeachCourseBean 封裝所有對(duì)開課信息的操作 學(xué)生選課管理 ChooseCourseServlet 學(xué)生選課提交 ChooseCourseViewServlet 查看選課內(nèi)容 ChooseCourseEditServlet 修改選課內(nèi)容 ChooseCourseControlServlet 前端請(qǐng)求總控制器 ChooseCourseBean 封裝所有對(duì)選課信息的操作 成績管理 MarkAddServlet 添加成績 MarkSeekServlet 查詢成績 MarkEditServlet 修改成績 MarkDeleteServiel 刪除成績 MarkControlServlet 前端請(qǐng)求總控制器 MarkBean 封裝所有對(duì)成績的操作 教師信息管理 TeacherEditServlet 修改教師信息 TeacherSeekServlet 查詢教師信息 TeacherDeleteSeNlet 刪除教師信息 TeacherListServlet 顯示教師信息列表 TeacherControlServlet 前端請(qǐng)求總控制器 TeacherBean 封裝所有對(duì)教師信息的操作 學(xué)生信息查看 StuListServlet 學(xué)生信息列表顯示 StuSeekServlet 學(xué)生信息查詢 系統(tǒng)管理 LoginServlet 用戶登錄控制 UserBean 身份驗(yàn)證 LogoutServlet 用戶 注銷 ①顯示開課信息列表 入口參數(shù):無 返回結(jié)果:結(jié)果集 ②查詢開課信息 入口參數(shù):無 查詢條件 類型:字符串 返回結(jié)果:結(jié)果集 ③增加開課信息 入口參數(shù): 開課名稱 類型:字符串 開課日期 類型:日期型 主講教師 類型:字符串 收費(fèi)數(shù)目 類型:整型 返回結(jié)果:布爾型 如果添加成功,返回 TRUE,否則返回 FALSE. ④編輯開課信息 入口參數(shù): 開課名稱 類型:字符串 開課日期 類型:日期型 主講教師 類型:字符串 收費(fèi)數(shù)目 類型:整型 返回結(jié)果:布爾型 如果修改成功,返回 TRUE,否則返回 FALSE. ⑤刪除開課信息 入口參數(shù): 課程編號(hào) 類型:字符串 返回結(jié)果:布爾型 如果刪除成功,返回 TRUE,否則返回 FALSE. 用例設(shè)計(jì) 設(shè)計(jì)用例是為了識(shí)別類或者子系統(tǒng),其實(shí)例去執(zhí)行用例的事件流。由特定的會(huì)話組件控制和協(xié)調(diào)各實(shí)體組件之間的交互,把數(shù)據(jù)查詢、更新和新增的業(yè)務(wù)操作遷移到業(yè)務(wù)功能層來處理。 使用實(shí)體組件作為業(yè)務(wù)數(shù)據(jù)的對(duì)象視圖,客戶端可以通過實(shí)體組件提供的接 口間接地實(shí)現(xiàn)對(duì)數(shù)據(jù)庫業(yè)務(wù)數(shù)據(jù)的訪問與操作。 功能實(shí)現(xiàn)設(shè)計(jì) ( 1)類設(shè)計(jì) ① 邊界類 邊界類設(shè)計(jì)為 ISP 頁面,主要有以下邊界類,如表 所示: 表 邊界類設(shè)計(jì) 功能模塊 頁面 課程管理 學(xué)生選課管理 (選課頁面 ) (查看選課內(nèi)容頁面 ) (選課修改頁面 ) 課程資源管理 (課程資源列表頁面 ) Addcoursejsp(新增課程資源頁面 ) (編輯課程資源頁面 ) (課程查詢頁面 ) (課程查詢結(jié)果頁面 ) 教 學(xué)公告管理 (發(fā)布教學(xué)公告頁面 ) (開課信息列表頁面 ) (查詢頁面 ) (查詢結(jié)果頁面 ) (編輯開課信息頁面 ) 成績管理 (成績錄入頁面 ) MarkSeekjsp(成績查詢頁面 ) MarkEdit jsp(成績修改頁面 ) (查詢結(jié)果頁面 ) 教 師檔案管理 個(gè)人信息管理 (教師信息輸入頁面 ) (教師信息修改頁面 ) (教師信息列表頁面 ) (教師信息查詢頁面 ) (查詢結(jié)果頁面 ) 學(xué)生檔案查看 StulnfoListjsp(學(xué)生信息列表頁面 ) StulnfoSeekjSP(學(xué)生信息查詢頁面 ) (查詢結(jié)果頁面 ) 用戶登錄注銷 用戶登錄 (登錄頁面 ) (主頁面 ) 用戶注銷 Logoutjsp(注銷頁面 ) ② 實(shí)體類 實(shí)體類設(shè)計(jì)為實(shí)體 Bean,實(shí)體組件是存儲(chǔ)在關(guān)系型數(shù)據(jù)庫中的數(shù)據(jù)模型,代表了數(shù)據(jù)庫中業(yè)務(wù)數(shù)據(jù)的對(duì)象視圖,并提供了訪問和操作數(shù)據(jù)的對(duì)象封
點(diǎn)擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1