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