資源描述:
《基于java的web應(yīng)用開發(fā)實訓(xùn)教程》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫。
1、基于JAVA的WEB應(yīng)用開發(fā)實訓(xùn)教程¨第一章WEB應(yīng)用體系架構(gòu)簡介¨基于Java技術(shù)的Web應(yīng)用開發(fā)1Web應(yīng)用體系架構(gòu)基本知識511Web應(yīng)用的B/S結(jié)構(gòu)編程模式512HTTP協(xié)議請求相應(yīng)模式513Web應(yīng)用程序的發(fā)展514Web應(yīng)用程序中的服務(wù)器端技術(shù)5uWEB應(yīng)用模型:基于B/S結(jié)構(gòu):瀏覽器—服務(wù)器(WEB服務(wù)器+WEB應(yīng)用服務(wù)器)IBMHTTPSERVER,MSIIS,APACHEIBMWEBSPHEREAPPLICATIONSERVERuHTTP請求/響應(yīng)模型:請求消息和響應(yīng)消息一個完整的HTTP會話過程:
2、1)客戶端和WEB服務(wù)器建立連接,通過默認8080端口。2)連接后,客戶端向服務(wù)器發(fā)送HTTP請求消息,WEB服務(wù)器處理請求消息,并將響應(yīng)消息送給客戶端,3)連接關(guān)閉HTTP是一個無狀態(tài)的協(xié)議:客戶端訪問WEB服務(wù)器上某個WEB頁面都要建立獨立的連接,服務(wù)器不保留前一次訪問的信息。服務(wù)器不保留客戶機的狀態(tài)信息。所以服務(wù)器需要采取一定措施保留用戶狀態(tài)數(shù)據(jù)。uHTTP消息格式:三個部分:起始行,題頭域,一個空行后的消息體POST/certifyHTTP/1.1POST方法,HTTP版本號Host:172.23.77.94
3、主機地址Content-Type:text/xml消息內(nèi)容的類型Content-Length:16消息內(nèi)容的長度Hello,IBMWorld消息體1)起始行:包含HTTP方法(GET,POST),URI,HTTP版本號例如:GET/default.htmlHTTP/1.0無效的URI請求返回錯誤代碼(404),如是指向生成數(shù)據(jù)的資源,servlet,數(shù)據(jù)在響應(yīng)消息中返回。遞交表單用POST方法,GET方法向服務(wù)器請求資源由URI指示請求地址2)HTTP消息---題頭域名稱目的舉例Accept可接受的媒體類型如沒有,則
4、假設(shè)客戶端可接受所有的媒體Accept:image/gifAccept:image/jpegAccept-Language客戶端希望響應(yīng)優(yōu)先使用的語言Accept-Language:en-usContent-type發(fā)送到接受者的消息題的媒介類型Content-type:text/html63基于JAVA的WEB應(yīng)用開發(fā)實訓(xùn)教程Host所請求資源的主機名稱和端口號User-Agent包含發(fā)出請求消息的客戶端的信息User-Agent:Mozilla/4.0uHTTP響應(yīng)消息包含狀態(tài)行+0個或多個題頭域HTTP/1.1
5、200OK版本號,響應(yīng)狀態(tài)碼,成功響應(yīng)Content-Type:text/plainContent-Length;25WelcometotheIBMWorld!常見的HTTP響應(yīng)狀態(tài)碼:200OK請求成功400不良請求由于語法錯誤而導(dǎo)致服務(wù)器無法理解請求信息401未授權(quán)請求要求身份驗證和或授權(quán)404為發(fā)現(xiàn)服務(wù)器未發(fā)現(xiàn)與請求URI匹配的內(nèi)容500內(nèi)部服務(wù)器錯誤服務(wù)器出錯,無法處理請求uWEB應(yīng)用程序發(fā)展—靜態(tài)ClientserverWebbrowserHTTPrequestWEBSERVERHTTPResponseFi
6、leSystemuWEB應(yīng)用程序發(fā)展---AppletClientnetworkserverWEBBrowserHTTPRequestWithJVMWEBServerHTTPResponseFileSystemuWEB應(yīng)用程序發(fā)展---ServletClientserverHTTPRequestWebBrowserWebServerPluginRequestsforstaticresourceRequestsfordynamicresourceHTTPResponseWebServerWebContainerFile
7、System63基于JAVA的WEB應(yīng)用開發(fā)實訓(xùn)教程Servlet是運行在服務(wù)器上的WEBContainer中的,WEB容器,WEB應(yīng)用服務(wù)器提供WEBContainer,用于管理Servlet這樣的服務(wù)器端組件。帶來問題:Servlet會把業(yè)務(wù)邏輯和顯示邏輯混合在一起uWEB應(yīng)用程序發(fā)展---JSPWebContainerRequestservice(req,res)method()ServletJavaBeanReponseforward(req,res)RequestDispatchermethods()Ser
8、vice(req,res)JavaServerPageJSP實現(xiàn)更好的MVC結(jié)構(gòu),分離視圖、控制和業(yè)務(wù)邏輯JSP頁面顯示給用戶的數(shù)據(jù),Servlet控制頁面的流程,JSP和Servlet調(diào)用JavaBeanuWEB應(yīng)用程序發(fā)展---EJBWebHTTPWebBrowserServerContainerEJBContainerJavaApplic