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

正文內(nèi)容

計(jì)算機(jī)組成原理8位模型機(jī)系統(tǒng)邏輯功能設(shè)計(jì)畢業(yè)論文(編輯修改稿)

2025-07-20 17:33 本頁(yè)面
 

【文章內(nèi)容簡(jiǎn)介】 為Java平臺(tái)的一部分,JSP擁有Java編程語(yǔ)言“一次編寫(xiě),各處運(yùn)行”的特點(diǎn)。 第4章 輔導(dǎo)答疑系統(tǒng)詳細(xì)設(shè)計(jì)與實(shí)現(xiàn)J2EE技術(shù)是一項(xiàng)實(shí)現(xiàn)B/S模式應(yīng)用的優(yōu)秀技術(shù)。它的跨平臺(tái)性、健壯性、易用性等在業(yè)界廣為關(guān)注。J2EE技術(shù)成為實(shí)現(xiàn)網(wǎng)上答疑系統(tǒng)的首選。同時(shí)基于J2EE技術(shù)的眾多開(kāi)源項(xiàng)目為J2EE的開(kāi)發(fā)帶來(lái)極大的方便,為開(kāi)發(fā)J2EE項(xiàng)目帶來(lái)了高效的開(kāi)發(fā)效率和良好的穩(wěn)定性、擴(kuò)展性。網(wǎng)上答疑系統(tǒng)選擇用DAO作為持久層框。使用MVC設(shè)計(jì)模式的WEB層和DAO,Servlets來(lái)管理各個(gè)模塊,分離模塊之間的耦合性,易于系統(tǒng)管理維護(hù)和升級(jí)擴(kuò)展。為了達(dá)到更友好的訪問(wèn)界面,系統(tǒng)使用CSS 樣式表進(jìn)行樣式控制,可以在不同瀏覽器中呈現(xiàn)相同結(jié)果。 該層主要是用于存放系統(tǒng)所需要經(jīng)常使用的類(lèi),包括三類(lèi):異常、數(shù)據(jù)庫(kù)聯(lián)接、以及常量。分別為 ApplicationExecption, BussinessException, DaoException, Primary DaoRuntimeException, BussinessRuntimeException, Dbconnector。該層主要存放系統(tǒng)JSP頁(yè)面文件、CSS樣式表文件、JavaScript代碼文件、圖片資源和系統(tǒng)配置文件等。其中JSP頁(yè)面文件均放在WEBINF下,防止頁(yè)面文件被下載。該層主要是使用Java語(yǔ)言編寫(xiě)基于MVC框架控制處理器, 包及其子包下。該層主要是用Java語(yǔ)言編寫(xiě)的業(yè)務(wù)邏輯類(lèi),其中業(yè)務(wù)邏輯方法供WEB層調(diào)用,并且該層面向接口編程使用DAO模式,同時(shí)使用DaoFactory(靜態(tài)工廠)持久層的持久類(lèi)注入進(jìn)來(lái)實(shí)現(xiàn)業(yè)務(wù)邏輯。該層主要是用Java語(yǔ)言,編寫(xiě)對(duì)象持久類(lèi),其中業(yè)務(wù)持久方法被業(yè)務(wù)邏輯層調(diào)用,并且該層面向接口編程使用DAO 模式。 MVC+DAO實(shí)現(xiàn)模塊主要功能由于管理員模塊具有教師模塊和學(xué)生模塊的所有功能,并且每個(gè)功能都是以相同的方法實(shí)現(xiàn),沒(méi)有太多的算法,所以就以管理員模塊的登錄闡述的主要功能的實(shí)現(xiàn)[15]。 MVC框架MVC 通過(guò)將系統(tǒng)分為三個(gè)部分來(lái)幫助解決單一模塊方法所遇到的某些問(wèn)題: Model(模型)模型包含應(yīng)用程序的核心功能。模型封裝了應(yīng)用程序的狀態(tài)、業(yè)務(wù)邏輯和數(shù)據(jù)。它對(duì)視圖或控制器一無(wú)所知。View(視圖)視圖提供模型的表示。它是應(yīng)用程序的外觀。視圖可以訪問(wèn)模型的讀方法,但不能訪問(wèn)寫(xiě)方法。此外,它對(duì)控制器一無(wú)所知。當(dāng)更改模型時(shí),視圖應(yīng)得到通知。Controller (控制器)控制器對(duì)用戶的輸入作出反應(yīng)。它創(chuàng)建并設(shè)置模型。 MVC的具體運(yùn)作如圖41所示:圖41MVC框架 MVC整體結(jié)構(gòu)所有來(lái)自瀏覽器的 request統(tǒng)一由主控servlet解釋處理,主控servlet根據(jù)request中的action參數(shù)執(zhí)行不同的處理分支,在每個(gè)分支中解釋組織request中的其余參數(shù),創(chuàng)建(或定位)并調(diào)用適當(dāng)?shù)暮笈_(tái)類(lèi)完成實(shí)際計(jì)算和業(yè)務(wù)邏輯,從后臺(tái)類(lèi)中得到計(jì)算結(jié)果或者需要的數(shù)據(jù)后,將數(shù)據(jù)放進(jìn)request中,然后挑選適當(dāng)?shù)膉sp頁(yè)面,實(shí)現(xiàn)結(jié)果頁(yè)面顯示。以一個(gè)Servlet作為整個(gè)應(yīng)用(對(duì)應(yīng)本次實(shí)際情況,可以以模塊為單位,每個(gè)功能模塊一個(gè)控制器)的控制器,處理所有Http request,不同的功能通過(guò)request中的action參數(shù)來(lái)區(qū)別。Servlet中首先讀action參數(shù),以本類(lèi)的一個(gè)Action函數(shù)處理一種action的方式進(jìn)行分派。例如://用戶登錄private void actionLogin(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException{ //獲取用戶名密碼 String USER = (username)。 String user = new String((8859_1))。 String pass = (password)。 //判斷是否合法用戶 StudentDao studentImpl = ()。 Student student = (user, pass)。 TeacherDao teacherImpl = ()。 Teacher teacher = (user,pass)。 AdminDao adminImpl = ()。 Admin admin = (user, pass)。 //判斷用戶角色 if(admin!=null){ ().setAttribute(adminID, user)。 (/admin/).forward(request, response)。 } if(student!=null){ ().setAttribute(studentNumber, user)。 (/student/).forward(request, response)。 } if(teacher!=null){ ().setAttribute(teacherNumber, user)。 (/teacher/).forward(request, response)。 } else{ String flag = 用戶名或密碼錯(cuò)誤!。 (message, flag)。 (refresh,1。URL=/WebProject/)。 } }每個(gè)Action函數(shù)掌握對(duì)應(yīng)的request的參數(shù)結(jié)構(gòu)和請(qǐng)求意義、應(yīng)該調(diào)用哪些后臺(tái)類(lèi)去完成請(qǐng)求,得到需要的數(shù)據(jù),以及應(yīng)該使用哪些jsp頁(yè)面顯示結(jié)果這些關(guān)于此request的全部知識(shí)。每個(gè)Action函數(shù)的處理步驟為先從request中取出參數(shù),進(jìn)行組織、轉(zhuǎn)換,然后調(diào)用需要的后臺(tái)類(lèi),成功得到需要的數(shù)據(jù)后,將數(shù)據(jù)組織、封裝為一個(gè)page model對(duì)象,()函數(shù)將創(chuàng)建的這個(gè)page model對(duì)象保存到request中,最后通過(guò) (jspName).forward()。將控制權(quán)交給負(fù)責(zé)顯示結(jié)果的jsp頁(yè)面,其中jspName參數(shù)就是由Action函數(shù)選定的顯示結(jié)果頁(yè)面。page model是一個(gè)值對(duì)象,唯一的功能就是存儲(chǔ)數(shù)據(jù)。會(huì)話管理(session訪問(wèn))也由action函數(shù)負(fù)責(zé),而不在JSP頁(yè)面中做。由于分離了模型,并改為使用page model對(duì)象傳遞JSP需要的數(shù)據(jù),現(xiàn)在在session中只保存基本的會(huì)話狀態(tài),如登錄用戶名等了,所以由負(fù)責(zé)頁(yè)面流轉(zhuǎn)的控制器來(lái)負(fù)責(zé)是最恰當(dāng)?shù)?。以JSP頁(yè)面作為視圖部分,即所有用戶看到的頁(yè)面,都使用JSP來(lái)生成。每個(gè)JSP都由控制器的一個(gè)Action函數(shù)在準(zhǔn)備好page model對(duì)象后以forward方式調(diào)用。JSP在生成HTML頁(yè)面時(shí)需要的全部數(shù)據(jù)都從取自request中的page model對(duì)象中獲得,不調(diào)用任何其它后臺(tái)類(lèi)(也就不import其它類(lèi)),也不執(zhí)行生成HTML之外的其它計(jì)算。也就是說(shuō),JSP頁(yè)面中的全部java代碼,只完成一個(gè)任務(wù):從page model對(duì)象中取得各種需要的數(shù)據(jù),生成本頁(yè)的html代碼。因?yàn)槊總€(gè)JSP頁(yè)面需要的數(shù)據(jù)都不相同,我們采用為每個(gè)JSP頁(yè)面定義一個(gè)對(duì)應(yīng)的page model類(lèi)的簡(jiǎn)單方式來(lái)實(shí)現(xiàn)。前面提到,每種request action對(duì)應(yīng)控制器servlet的一個(gè)action函數(shù),一到多個(gè)結(jié)果JSP頁(yè)面,同時(shí),每個(gè)JSP頁(yè)面對(duì)應(yīng)一個(gè)page model類(lèi)??偨Y(jié)起來(lái),每個(gè)JSP頁(yè)面了解它對(duì)應(yīng)的page model類(lèi)的結(jié)構(gòu),以便從中取數(shù)據(jù);每個(gè)action函數(shù)了解它對(duì)應(yīng)的每個(gè)JSP頁(yè)面對(duì)應(yīng)的page model類(lèi)的結(jié)構(gòu),以便填充數(shù)據(jù)。一般在action函數(shù)中最后寫(xiě)這樣的代碼:().setAttribute(adminID, user)。 (/admin/).forward(request, response)。在被這個(gè)servlet重定向到的JSP頁(yè)面通過(guò)request訪問(wèn)page model對(duì)象,就象這樣:String message = (String)(message)。%=message%模型就是執(zhí)行數(shù)據(jù)訪問(wèn)、業(yè)務(wù)處理、后臺(tái)計(jì)算等所有實(shí)際的計(jì)算的類(lèi)。這些類(lèi)只負(fù)責(zé)根據(jù)調(diào)用,完成接口中規(guī)定的功能,返回結(jié)果數(shù)據(jù),它們對(duì)視圖和控制器沒(méi)有了解。簡(jiǎn)單地說(shuō),系統(tǒng)的‘實(shí)際’工作,都由這些類(lèi)完成。例如:public interface AdminDao { Admin getDetail(String user, String pass)。 Admin getDetailByAdminID(String adminID)。 void InsertAdmin(Admin newadmin)。 void updatePassword(String newpassword, String adminID)。} 顯示登錄頁(yè)面,在登錄框中鍵入正確的賬號(hào)和密碼,將相應(yīng)的值傳遞到LoginController進(jìn)行判斷,然后作出相應(yīng)的操作,轉(zhuǎn)向相應(yīng)的頁(yè)面。如圖42所示//連接到LoginController控制器form method=”post” action=”/WebProject/servlet/LoginController?mand=Login”table width=1009 height=100% border=0 align=center cellpadding=0 cellspacing=0 ……. td align=center valign=middletable width=240 height=140 border=0 align=center cellpadding=0 cellspacing=0 background=images/ tr align=center valign=middle td height=45 colspan=2 class=style1輔導(dǎo)答疑系統(tǒng)/td /tr ……. tr td width=76 height=26 align=right class=style2 amp。nbsp。密amp。nbsp。amp。nbsp。amp。nbsp。碼amp。nbsp。/td ……. tr td height=45 colspan=2 align=center class=style2input name=Submit22 type=submit class=button3 value=登 陸” onClick=jumpto(amp。quot。amp。quot。)amp。nbsp。amp。nbsp。amp。nbsp。amp。nbsp。 input name=Submit3 type=reset class=button3 value=取 消? amp。nbsp。amp。nbsp。amp。nbsp。 /td ……. tr td align=center valign=middleamp。nbsp。/td //顯示相應(yīng)的提示信息td align=center valign=middlefont color=FF0000%=message%/font/td td colspan
點(diǎn)擊復(fù)制文檔內(nèi)容
醫(yī)療健康相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1