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

正文內(nèi)容

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

2025-07-20 17:33 本頁面
 

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