版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第1章JavaWeb基礎(chǔ)知識(shí)與Web開發(fā)環(huán)境配置了解Web應(yīng)用程序中的靜態(tài)網(wǎng)站、動(dòng)態(tài)網(wǎng)站、前端、后端的基本概念了解Web開發(fā)中的B/S架構(gòu)、C/S架構(gòu)了解HTTP協(xié)議的基本概念掌握HTTP請(qǐng)求報(bào)文及響應(yīng)報(bào)文的格式掌握獲取HTTP請(qǐng)求報(bào)頭的方法掌握設(shè)置HTTP響應(yīng)報(bào)頭的方法掌握Tomcat服務(wù)器的安裝及啟動(dòng)掌握在Eclipse中配置Tomcat服務(wù)器及創(chuàng)建Web應(yīng)用掌握在IDEA中配置Tomcat服務(wù)器及創(chuàng)建Web應(yīng)用學(xué)習(xí)目標(biāo)1.1.1靜態(tài)網(wǎng)站與動(dòng)態(tài)網(wǎng)站一個(gè)Web應(yīng)用程序由完成特定任務(wù)的各種Web組件(Webcomponents)構(gòu)成并通過Web將服務(wù)展示給外界。在實(shí)際應(yīng)用中,Web應(yīng)用程序由Servlet、JSP頁(yè)面、HTML文件及圖像文件等多種元素組成。簡(jiǎn)單來說,Web應(yīng)用程序就是各種網(wǎng)站,網(wǎng)站由一系列的網(wǎng)頁(yè)構(gòu)成,網(wǎng)站又分為靜態(tài)網(wǎng)站和動(dòng)態(tài)網(wǎng)站。1.1Web應(yīng)用程序基本概念靜態(tài)網(wǎng)站的所有網(wǎng)頁(yè)直接用HTML(HyperTextMarkupLanguage,超文本標(biāo)記語言)編寫,所有的網(wǎng)頁(yè)均是標(biāo)準(zhǔn)的HTML文件,一般文件名以htm、html或shtml等為后綴。網(wǎng)頁(yè)上可以展現(xiàn)各種視覺動(dòng)態(tài)效果,如GIF動(dòng)畫、FLASH動(dòng)畫、滾動(dòng)字幕等,但是它展示的內(nèi)容一般是固定不變的,用戶在不同時(shí)間、不同地點(diǎn)訪問網(wǎng)站的同一靜態(tài)網(wǎng)頁(yè)時(shí),其顯示出來的內(nèi)容是一樣的。動(dòng)態(tài)網(wǎng)站是指網(wǎng)站內(nèi)容可根據(jù)不同情況動(dòng)態(tài)變更的網(wǎng)站,在相同的網(wǎng)站、相同的時(shí)間,不同的人訪問時(shí)展示出來的內(nèi)容是不同的,即使同一用戶在不同時(shí)間或不同地點(diǎn)訪問同一動(dòng)態(tài)網(wǎng)頁(yè),其展示出的內(nèi)容也可以是不同的。動(dòng)態(tài)網(wǎng)站通過數(shù)據(jù)庫(kù)進(jìn)行架構(gòu),網(wǎng)頁(yè)中變化的內(nèi)容主要來自數(shù)據(jù)庫(kù)中數(shù)據(jù)的變化。動(dòng)態(tài)網(wǎng)頁(yè)的技術(shù)主要有ASP、PHP、JSP等。1.1Web應(yīng)用程序基本概念1.1.2Web前端與Web后端Web前端是在Web應(yīng)用中用戶可以看得見的部分,包括Web頁(yè)面的結(jié)構(gòu)、Web的外觀視覺展現(xiàn)及Web層面的交互實(shí)現(xiàn)。Web前端主要涉及的技術(shù)有DIV+CSS、HTML、JS和JQuery等。Web后端主要指服務(wù)器端的工作,通常負(fù)責(zé)對(duì)數(shù)據(jù)庫(kù)進(jìn)行交互以處理相應(yīng)的業(yè)務(wù)邏輯,需要考慮的是如何實(shí)現(xiàn)功能、數(shù)據(jù)的存取、平臺(tái)的穩(wěn)定性與性能等。1.1Web應(yīng)用程序基本概念1.1.3C/S架構(gòu)與B/S架構(gòu)C/S架構(gòu)是一種早期的分布式架構(gòu),客戶端需要安裝專門的客戶端程序,服務(wù)器端通常為高性能的PC或工作站,并采用大型數(shù)據(jù)庫(kù)系統(tǒng),嚴(yán)格意義上它是個(gè)數(shù)據(jù)庫(kù)服務(wù)器,多個(gè)客戶端程序可以同時(shí)訪問這個(gè)數(shù)據(jù)庫(kù)服務(wù)器,如圖1-1所示。這種結(jié)構(gòu)可以充分利用兩端硬件環(huán)境的優(yōu)勢(shì),將任務(wù)合理分配到客戶端和服務(wù)器,從而降低系統(tǒng)的通信開銷。1.1Web應(yīng)用程序基本概念圖1-1C/S架構(gòu)模式B/S架構(gòu)借助IE等瀏覽器來運(yùn)行,它是Web興起后的一種網(wǎng)絡(luò)架構(gòu)模式。在這種模式中,客戶端不需要安裝專門的客戶端程序,而是使用瀏覽器向Web服務(wù)器發(fā)送請(qǐng)求,服務(wù)器進(jìn)行處理后將處理結(jié)果返回給客戶端,如圖1-2所示。此時(shí)的服務(wù)器不僅是數(shù)據(jù)庫(kù)服務(wù)器,它還是應(yīng)用服務(wù)器。這種結(jié)構(gòu)能夠利用現(xiàn)在普及的瀏覽器技術(shù)實(shí)現(xiàn)原來需要復(fù)雜專用軟件才能實(shí)現(xiàn)的強(qiáng)大功能,能有效節(jié)約開發(fā)成本,是一種全新的軟件體系結(jié)構(gòu),也是目前應(yīng)用軟件的首選體系結(jié)構(gòu)。1.1Web應(yīng)用程序基本概念圖1-2B/S架構(gòu)模式1.2.1HTTP協(xié)議HTTP是HypertextTransferProtocol的縮寫,即超文本傳輸協(xié)議,是瀏覽器與Web服務(wù)器進(jìn)行數(shù)據(jù)交互時(shí)需要遵守的規(guī)范。當(dāng)客戶端與服務(wù)器端建立連接后,客戶端就可以向服務(wù)器發(fā)送URL(UniformResourceLacator,統(tǒng)一資源定位符)請(qǐng)求,被稱為HTTP請(qǐng)求,服務(wù)器端在接收到請(qǐng)求后會(huì)做出響應(yīng),被稱為HTTP響應(yīng)??蛻舳伺c服務(wù)器在HTTP下的交互過程如圖1-3所示。1.2Web的工作原理圖1-3客戶端與服務(wù)器的交互過程1.2.2HTTP報(bào)文格式1.HTTP請(qǐng)求報(bào)文
當(dāng)用戶在瀏覽器中訪問某個(gè)網(wǎng)址、單擊某個(gè)鏈接或提交網(wǎng)頁(yè)上的表單時(shí),瀏覽器會(huì)向服務(wù)器發(fā)送請(qǐng)求數(shù)據(jù),即HTTP請(qǐng)求報(bào)文。一個(gè)完整的HTTP請(qǐng)求報(bào)文由三個(gè)部分組成:請(qǐng)求行、請(qǐng)求頭、請(qǐng)求正文。1.2Web的工作原理圖1-4HTTP請(qǐng)求報(bào)文1.2.2HTTP報(bào)文格式1.HTTP請(qǐng)求報(bào)文(1)請(qǐng)求行
請(qǐng)求行位于請(qǐng)求報(bào)文的第一行,它由請(qǐng)求方式、資源路徑和所使用的HTTP版本三個(gè)部分組成。格式為:請(qǐng)求方式URL協(xié)議版本1.2Web的工作原理請(qǐng)求方式含義GET請(qǐng)求獲取請(qǐng)求行的URI所標(biāo)識(shí)的資源POST向指定資源提交數(shù)據(jù),請(qǐng)求服務(wù)器進(jìn)行處理(如提交表單或上傳文件)HEAD請(qǐng)求獲取由URI所標(biāo)識(shí)資源的響應(yīng)消息頭OPTIONS請(qǐng)求查詢Web服務(wù)器的性能,或者查詢與資源相關(guān)的選項(xiàng)和需求PUT將網(wǎng)頁(yè)放置到指定URL位置(上傳/移動(dòng))DELETE請(qǐng)求服務(wù)器刪除URI所指定的資源,是與PUT相反的方法TRACE請(qǐng)求Web服務(wù)器端將之前的請(qǐng)求通信環(huán)回給客戶端CONNECT保留將來使用HTTP的常用請(qǐng)求方式1.2.2HTTP報(bào)文格式1.HTTP請(qǐng)示報(bào)文(2)請(qǐng)求頭
請(qǐng)求頭主要用于向服務(wù)器端傳遞附加消息,例如,客戶端可以接收的數(shù)據(jù)類型、壓縮方法、語言及發(fā)送請(qǐng)求的超鏈接所屬頁(yè)面的URL地址等信息。請(qǐng)求頭由一個(gè)頭字段名稱和一個(gè)值構(gòu)成,頭字段名稱和值之間用冒號(hào)(:)和空格分隔,格式為:頭部字段名:值常用的請(qǐng)求頭字段說明詳見教材表1-2所示。1.2Web的工作原理1.2.2HTTP報(bào)文格式2.HTTP響應(yīng)報(bào)文
服務(wù)器接收到請(qǐng)求數(shù)據(jù)時(shí),會(huì)將處理后的數(shù)據(jù)傳送給客戶端,即HTTP響應(yīng)報(bào)文。一個(gè)完整的響應(yīng)報(bào)文由三個(gè)部分組成:響應(yīng)狀態(tài)行、響應(yīng)頭、響應(yīng)實(shí)體1.2Web的工作原理圖1-5HTTP響應(yīng)報(bào)文1.2.2HTTP報(bào)文格式2.HTTP響應(yīng)報(bào)文
(1)響應(yīng)狀態(tài)行
位于響應(yīng)報(bào)文的第一行,它包含三個(gè)部分,即HTTP版本、一個(gè)表示成功或錯(cuò)誤的整數(shù)代碼(狀態(tài)碼)和對(duì)狀態(tài)碼進(jìn)行描述的文本信息。格式為:協(xié)議版本狀態(tài)碼狀態(tài)碼描述1.2Web的工作原理1.2.2HTTP報(bào)文格式2.HTTP響應(yīng)報(bào)文
(1)響應(yīng)狀態(tài)行1.2Web的工作原理狀態(tài)碼說明101(切換協(xié)議)如果客戶端發(fā)送的請(qǐng)求使用另外一種協(xié)議與服務(wù)器進(jìn)行對(duì)話,服務(wù)器發(fā)送101響應(yīng)狀態(tài)碼表示自己將遵從客戶端請(qǐng)求,轉(zhuǎn)換到另外一種協(xié)議200(正常)客戶端的請(qǐng)求成功,響應(yīng)消息返回正常的請(qǐng)求結(jié)果。201(已創(chuàng)建)服務(wù)器已經(jīng)根據(jù)客戶端的請(qǐng)求創(chuàng)建了文檔,文檔的URL為響應(yīng)消息中Location響應(yīng)頭的值302(找到)表示請(qǐng)求的資源臨時(shí)從不同的URL響應(yīng)請(qǐng)求,但請(qǐng)求者應(yīng)繼續(xù)使用原有位置進(jìn)行以后的請(qǐng)求305(使用代理)客戶端應(yīng)通過Location頭所指定的代理服務(wù)器獲得請(qǐng)求的文檔404(找不到)表示服務(wù)器上不存在客戶端請(qǐng)求的資源408(請(qǐng)求超時(shí))在服務(wù)器等待的時(shí)間內(nèi),客戶端沒有發(fā)出任何請(qǐng)求500(內(nèi)部服務(wù)器錯(cuò)誤)表示服務(wù)器發(fā)生錯(cuò)誤,無法處理客戶端的請(qǐng)求503(服務(wù)不可用)由于服務(wù)器目前過載或者處于維護(hù)狀態(tài),不能處理客戶端的請(qǐng)求常見狀態(tài)碼說明1.2.2HTTP報(bào)文格式2.HTTP響應(yīng)報(bào)文
(2)響應(yīng)頭
服務(wù)器端通過響應(yīng)頭向客戶端傳遞附加信息,包括服務(wù)程序名、被請(qǐng)求資源需要的誰方式、客戶端請(qǐng)求資源的最后修改時(shí)間、重定向地址等。當(dāng)服務(wù)器向客戶端回送響應(yīng)消息時(shí),根據(jù)情況不同,發(fā)送的響應(yīng)頭也不相同。1.2Web的工作原理頭字段說明Accept-Range用于說明服務(wù)器是否接收客戶端使用Range請(qǐng)求頭字段請(qǐng)求資源Age用于指出當(dāng)前網(wǎng)頁(yè)文檔可以在客戶端或代理服務(wù)器中緩存的有效時(shí)間,以秒為單位Content-Length表示內(nèi)容長(zhǎng)度Content-Type表示后面的文檔屬于什么類型。Servlet默認(rèn)為text/plain,但通常需要顯式地指定為text/html。Date當(dāng)前的GMT時(shí)間。Etag用于向客戶端傳送代表實(shí)體內(nèi)容特征的標(biāo)記信息Location用于通知客戶端獲取請(qǐng)求文檔的新地址,其值為一個(gè)使用絕對(duì)路徑的URL地址Retry-After可以與503狀態(tài)碼配合使用,告訴客戶端在什么時(shí)間可以重新發(fā)送請(qǐng)求Server用于指定服務(wù)器軟件產(chǎn)品的名稱Vary用于指定服務(wù)器軟件產(chǎn)品的名稱Refresh用于告知瀏覽器自動(dòng)刷新頁(yè)面的時(shí)間,以秒為單位常用的響應(yīng)頭字段1.2.2HTTP報(bào)文格式2.HTTP響應(yīng)報(bào)文
(3)響應(yīng)實(shí)體
響應(yīng)實(shí)體用于存放需要返回給客戶端的數(shù)據(jù)信息。1.2Web的工作原理
在客戶端和服務(wù)器之間進(jìn)行請(qǐng)求——響應(yīng)時(shí),兩種最常被用到的方法是GET方法和POST方法。GET方法用于從指定的資源請(qǐng)求數(shù)據(jù);POST方法用于向指定的資源提交要被處理的數(shù)據(jù)。1.2.3GET方法當(dāng)客戶端要從服務(wù)器端中讀取文檔時(shí),使用GET方法。使用GET方法時(shí),請(qǐng)求的參數(shù)和對(duì)應(yīng)的值被附加在URL地址后面,一起被發(fā)送到服務(wù)器。舉例如下。/test/form.jsp?id=1001&name=zhang從這個(gè)例子中我們可以看到,問號(hào)(?)代表URL的結(jié)尾與請(qǐng)求參數(shù)的開始,參數(shù)由參數(shù)名和參數(shù)值組成,中間用等號(hào)(=)連接。如果有多個(gè)參數(shù),參數(shù)之間用&分隔。因此GET方法在通過URL提交數(shù)據(jù)時(shí),數(shù)據(jù)在URL中是可以被看到的,若用戶輸入的數(shù)據(jù)是非敏感數(shù)據(jù),則可以使用GET。1.2Web的工作原理1.2.4POST方法當(dāng)客戶端給服務(wù)器端發(fā)送請(qǐng)求時(shí)可以使用POST方法,比如當(dāng)用戶提交表單時(shí),瀏覽器將使用POST方法提交表單內(nèi)容。POST方法將請(qǐng)求參數(shù)放置在RequestBody內(nèi),可以傳輸大量數(shù)據(jù),也可用來傳送文件。舉例如下。POST/form.jspHTTP/1.1Host:id=1001&name=zhangPOST方法不會(huì)像GET方法那樣將參數(shù)顯示在地址欄上,因此如果用戶輸入的數(shù)據(jù)是敏感數(shù)據(jù),那么還是使用POST為好。1.2Web的工作原理1.2Web的工作原理GET方法的特點(diǎn):以GET方法獲取的數(shù)據(jù)
能夠被緩存GET方法獲取的數(shù)據(jù)會(huì)保存在瀏覽器的瀏覽記錄中以GET方法請(qǐng)求的URL能夠保存為瀏覽器書簽GET方法獲取的數(shù)據(jù)有長(zhǎng)度限制GET方法主要用于獲取數(shù)據(jù)GET方法不應(yīng)在處理敏感數(shù)據(jù)時(shí)使用POST方法的特點(diǎn):以POST方法提交的數(shù)據(jù)
不會(huì)被緩存POST方法提交的數(shù)據(jù)不會(huì)保留在瀏覽器歷史記錄POST方法提交的數(shù)據(jù)不能被收藏至?xí)濸OST方法對(duì)提交的數(shù)據(jù)長(zhǎng)度沒有要求。
在搭建Web應(yīng)用的開發(fā)環(huán)境時(shí),首先需要安裝開發(fā)工具包JDK,其次安裝Web服務(wù)器和數(shù)據(jù)庫(kù)。1.3.1Servlet容器介紹Servlet(ServerApplet)是JavaServlet的簡(jiǎn)稱,稱為小服務(wù)程序或服務(wù)連接器,是用Java語言編寫的運(yùn)行在服務(wù)器端的程序,主要功能在于交互式地瀏覽和修改數(shù)據(jù),生成動(dòng)態(tài)Web內(nèi)容。其主要作用包括:①通過請(qǐng)求對(duì)象讀取用戶程序發(fā)送過來的顯式數(shù)據(jù)(如表單數(shù)據(jù));②通過請(qǐng)求對(duì)象讀取用戶程序發(fā)送過來的隱式數(shù)據(jù)(請(qǐng)求報(bào)頭);③處理數(shù)據(jù)并生成響應(yīng)內(nèi)容或設(shè)置響應(yīng)報(bào)頭。1.3Tomcat服務(wù)器1.3.2Tomcat簡(jiǎn)介Tomcat是由Apache軟件基金會(huì)下屬的Jakarta項(xiàng)目開發(fā)的一個(gè)重要子項(xiàng)目,是按照Sun公司(已被Oracle收購(gòu))提供的技術(shù)規(guī)范,實(shí)現(xiàn)了對(duì)Servlet和JavaServerPage(JSP)的支持,是一個(gè)免費(fèi)的開放源代碼的Web應(yīng)用服務(wù)器。1.3.3Tomcat的安裝配置1.3.4測(cè)試Tomcat1.3.5在Eclipse中配置Tomcat1.3.6在IDEA中配置TomcatTomcat的安裝、配置、測(cè)試詳見教材1.3.3、1.3.4、1.3.5、1.3.61.3Tomcat服務(wù)器1.4創(chuàng)建Web應(yīng)用示例1.4.1在Eclipse中創(chuàng)建Web應(yīng)用1.啟動(dòng)Eclipse,菜單欄中選擇File→New→DynamicWebProject。2.打開NewDynamicWebProject窗口,在Projectname文本框中輸入項(xiàng)目的名稱“firstProject”,其他采用默認(rèn),并依次單擊Next,打開如下圖所示界面,在此界面中,Contextroot用于指定Web項(xiàng)目的根目錄,此處我們?cè)O(shè)置為chap1,Contentdirectory用于指定存放Web資源的目錄,我們采用默認(rèn)的設(shè)置,單擊Finish按鈕。1.4創(chuàng)建Web應(yīng)用示例1.4.2在IDEA中創(chuàng)建Web應(yīng)用1.打開IDEA,點(diǎn)擊菜單File→New→Project,打開“NewProject”窗口,在窗口左側(cè)選擇“Java”,右側(cè)選擇項(xiàng)目SDK版本,再依次單擊Next按鈕。如下圖所示。1.4創(chuàng)建Web應(yīng)用示例1.4.2在IDEA中創(chuàng)建Web應(yīng)用2.在打開的窗口中,輸入項(xiàng)目名稱“secondProject”,并設(shè)置好項(xiàng)目存放路徑,單擊Finish按鈕。如下
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 課程設(shè)計(jì)實(shí)驗(yàn)感想
- 采礦通風(fēng)課程設(shè)計(jì)摘要
- 網(wǎng)絡(luò)運(yùn)用課程設(shè)計(jì)理念
- 辜鴻銘課程設(shè)計(jì)
- 高校課程設(shè)計(jì)中的短板補(bǔ)齊心得體會(huì)
- 二零二五版建設(shè)工程造價(jià)咨詢協(xié)會(huì)專業(yè)服務(wù)合同3篇
- 2024房屋買賣更名協(xié)議書
- 二零二五年房地產(chǎn)項(xiàng)目合伙開發(fā)及利潤(rùn)分配管理合同3篇
- 二零二五年度防盜門產(chǎn)品智能化升級(jí)改造合同2篇
- 2025年度鐵路行車維修及軌道建設(shè)合作協(xié)議3篇
- 下肢皮牽引護(hù)理PPT課件(19頁(yè)P(yáng)PT)
- 臺(tái)資企業(yè)A股上市相關(guān)資料
- 電 梯 工 程 預(yù) 算 書
- 參會(huì)嘉賓簽到表
- 機(jī)械車間員工績(jī)效考核表
- 形式發(fā)票格式2 INVOICE
- 2.48低危胸痛患者后繼治療評(píng)估流程圖
- 人力資源管理之績(jī)效考核 一、什么是績(jī)效 所謂績(jī)效簡(jiǎn)單的講就是對(duì)
- 山東省醫(yī)院目錄
- 云南地方本科高校部分基礎(chǔ)研究
- 廢品管理流程圖
評(píng)論
0/150
提交評(píng)論