web 向java_Java web基础
Java?web基礎
一、C\S架構
1、概念
C是英文單詞“Client”的首字母,即客戶端的意思,C/S就是“Client/Server”的縮寫,即“客戶端/服務器”模式。
C/S結構是一種軟件系統(tǒng)體系結構,也是生活中很常見的。這種結構是將需要處理的業(yè)務合理地分配到客戶端和服務器端,這樣可以大大降低通信成本,但是升級維護相對困難。比如我們手機中安裝的微信、qq、王者榮耀等應用程序就是C/S結構。
2、優(yōu)缺點
C/S 模式的優(yōu)點1.由于客戶端實現(xiàn)與服務器的直接相連,沒有中間環(huán)節(jié),因此響應速度快。2.操作界面漂亮、形式多樣,可以充分滿足客戶自身的個性化要求。3.C/S結構的管理信息系統(tǒng)具有較強的事務處理能力,能實現(xiàn)復雜的業(yè)務流程。C/S 模式的缺點1.需要專門的客戶端安裝程序,分布功能弱,針對點多面廣且不具備網(wǎng)絡條件的用戶群體,不能夠實現(xiàn)快速部署安裝和配置。2.兼容性差,對于不同的開發(fā)工具,具有較大的局限性。若采用不同工具,需要重新改寫程序。3.開發(fā)成本較高,需要具有一定專業(yè)水準的技術人員才能完成。
二、B\S架構
1、概念
B/S是Brower/Server的縮寫,客戶機上只要安裝一個瀏覽器,如Netscape Navigator或Internet Explorer,服務器安裝oracle或SQL Server通過等數(shù)據(jù)庫。
在這種結構下,用戶界面完全通過WWW瀏覽器實現(xiàn),一部分事務邏輯在前端實現(xiàn)。但主要事務邏輯在服務器端實現(xiàn),瀏覽器通過Web Server同數(shù)據(jù)庫進行數(shù)據(jù)交互。
Client/Server是建立在局域網(wǎng)的基礎上的。Browser/Server是建立在廣域網(wǎng)的基礎上的。
2、優(yōu)缺點
B/S結構的優(yōu)點(1)、具有分布性特點,可以隨時隨地進行查詢、瀏覽等業(yè)務處理。(2)、業(yè)務擴展簡單方便,通過增加網(wǎng)頁即可增加服務器功能。(3)、維護簡單方便,只需要改變網(wǎng)頁,即可實現(xiàn)所有用戶的同步更新。(4)、開發(fā)簡單,共享性強B/S 模式的缺點(1)、個性化特點明顯降低,無法實現(xiàn)具有個性化的功能要求。(2)、操作是以鼠標為最基本的操作方式,無法滿足快速操作的要求。(3)、頁面動態(tài)刷新,響應速度明顯降低。(4)、無法實現(xiàn)分頁顯示,給數(shù)據(jù)庫訪問造成較大的壓力。(5)、功能弱化,難以實現(xiàn)傳統(tǒng)模式下的特殊功能要求。
三、HTTP協(xié)議
1、概念
HTTP協(xié)議是Hyper Text Transfer Protocol(超文本傳輸協(xié)議)的縮寫,是用于從萬維網(wǎng)(WWW:World Wide Web )服務器傳輸超文本到本地瀏覽器的傳送協(xié)議。
HTTP是一個基于TCP/IP通信協(xié)議來傳遞數(shù)據(jù)(HTML 文件, 圖片文件, 查詢結果等)。
HTTP是一個屬于應用層的面向對象的協(xié)議,由于其簡捷、快速的方式,適用于分布式超媒體信息系統(tǒng)。它于1990年提出,經(jīng)過幾年的使用與發(fā)展,得到不斷地完善和擴展。目前在WWW中使用的是HTTP/1.0的第六版,HTTP/1.1的規(guī)范化工作正在進行之中,而且HTTP-NG(Next Generation of HTTP)的建議已經(jīng)提出。
HTTP協(xié)議工作于客戶端-服務端架構為上。瀏覽器作為HTTP客戶端通過URL向HTTP服務端即WEB服務器發(fā)送所有請求。Web服務器根據(jù)接收到的請求后,向客戶端發(fā)送響應信息。
2、http協(xié)議工作流程
HTTP協(xié)議定義Web客戶端如何從Web服務器請求Web頁面,以及服務器如何把Web頁面?zhèn)魉徒o客戶端。HTTP協(xié)議采用了請求/響應模型。客戶端向服務器發(fā)送一個請求報文,請求報文包含請求的方法、URL、協(xié)議版本、請求頭部和請求數(shù)據(jù)。服務器以一個狀態(tài)行作為響應,響應的內(nèi)容包括協(xié)議的版本、成功或者錯誤代碼、服務器信息、響應頭部和響應數(shù)據(jù)。
以下是 HTTP 請求/響應的步驟:
1、客戶端連接到Web服務器
一個HTTP客戶端,通常是瀏覽器,與Web服務器的HTTP端口(默認為80)建立一個TCP套接字連接。
2、發(fā)送HTTP請求
通過TCP套接字,客戶端向Web服務器發(fā)送一個文本的請求報文,一個請求報文由請求行、請求頭部、空行和請求數(shù)據(jù)4部分組成。
3、服務器接受請求并返回HTTP響應
Web服務器解析請求,定位請求資源。服務器將資源復本寫到TCP套接字,由客戶端讀取。一個響應由狀態(tài)行、響應頭部、空行和響應數(shù)據(jù)4部分組成。
4、釋放連接TCP連接
若connection 模式為close,則服務器主動關閉TCP連接,客戶端被動關閉連接,釋放TCP連接;若connection 模式為keepalive,則該連接會保持一段時間,在該時間內(nèi)可以繼續(xù)接收請求;
5、客戶端瀏覽器解析HTML內(nèi)容
客戶端瀏覽器首先解析狀態(tài)行,查看表明請求是否成功的狀態(tài)代碼。然后解析每一個響應頭,響應頭告知以下為若干字節(jié)的HTML文檔和文檔的字符集。客戶端瀏覽器讀取響應數(shù)據(jù)HTML,根據(jù)HTML的語法對其進行格式化,并在瀏覽器窗口中顯示。
例如:在瀏覽器地址欄鍵入URL,按下回車之后會經(jīng)歷以下流程:
1、瀏覽器向 DNS 服務器請求解析該 URL 中的域名所對應的 IP 地址;
2、解析出 IP 地址后,根據(jù)該 IP 地址和默認端口 80,和服務器建立TCP連接;
3、瀏覽器發(fā)出讀取文件(URL 中域名后面部分對應的文件)的HTTP 請求,該請求報文作為?TCP 三次握手的第三個報文的數(shù)據(jù)發(fā)送給服務器;
4、服務器對瀏覽器請求作出響應,并把對應的 html 文本發(fā)送給瀏覽器;
5、釋放?TCP連接;
6、瀏覽器將該 html 文本并顯示內(nèi)容;
3、主要特點
簡單快速:客戶向服務器請求服務時,只需傳送請求方法和路徑。請求方法常用的有GET、HEAD、POST。每種方法規(guī)定了客戶與服務器聯(lián)系的類型不同。由于HTTP協(xié)議簡單,使得HTTP服務器的程序規(guī)模小,因而通信速度很快。
靈活:HTTP允許傳輸任意類型的數(shù)據(jù)對象。正在傳輸?shù)念愋陀蒀ontent-Type加以標記。
無連接:無連接的含義是限制每次連接只處理一個請求。服務器處理完客戶的請求,并收到客戶的應答后,即斷開連接。采用這種方式可以節(jié)省傳輸時間。
無狀態(tài):HTTP協(xié)議是無狀態(tài)協(xié)議。無狀態(tài)是指協(xié)議對于事務處理沒有記憶能力。缺少狀態(tài)意味著如果后續(xù)處理需要前面的信息,則它必須重傳,這樣可能導致每次連接傳送的數(shù)據(jù)量增大。另一方面,在服務器不需要先前信息時它的應答就較快。支持B/S及C/S模式。
4、Web服務器原理
1、概述
Web服務器概念較為廣泛,我們最常說的Web服務器指的是網(wǎng)站服務器,它是建立在Internet之上并且駐留在某種計算機上的程序。Web服務器可以向Web客戶端(如瀏覽器)提供文檔或其他服務,只要是遵循HTTP協(xié)議而設計的網(wǎng)絡應用程序都可以是Web客戶端。
Web服務器和HTTP服務器可以說是同一個東西,當然非得細分的話,HTTP服務器是建立在HTTP協(xié)議之上的提供文檔瀏覽的服務器,更多的是提供靜態(tài)的文件。而Web服務器涵蓋了HTTP服務器(這一點可以自行百度百科), Web服務器不僅能夠存儲信息,還能在用戶通過Web瀏覽器提供的信息的基礎上運行腳本和程序。
Web服務器 約等于 HTTP服務器 + 其他服務。
2、web服務器工作圖解
圖解描述:
(1) 用戶做出了一個操作,可以是填寫網(wǎng)址敲回車,可以是點擊鏈接,可以是點擊按鍵等,接著瀏覽器獲取了該事件。
(2) 瀏覽器與對端服務程序建立TCP連接。
(3) 瀏覽器將用戶的事件按照HTTP協(xié)議格式**打包成一個數(shù)據(jù)包,其實質就是在待發(fā)送緩沖區(qū)中的一段有著HTTP協(xié)議格式的字節(jié)流。
(4) 瀏覽器確認對端可寫,并將該數(shù)據(jù)包推入Internet,該包經(jīng)過網(wǎng)絡最終遞交到對端服務程序。
(5) 服務端程序拿到該數(shù)據(jù)包后,同樣以HTTP協(xié)議格式解包,然后解析客戶端的意圖。
(6) 得知客戶端意圖后,進行分類處理,或是提供某種文件、或是處理數(shù)據(jù)。
(7) 將結果裝入緩沖區(qū),或是HTML文件、或是一張圖片等。
(8) 按照HTTP協(xié)議格式將(7)中的數(shù)據(jù)打包
(9) 服務器確認對端可寫,并將該數(shù)據(jù)包推入Internet,該包經(jīng)過網(wǎng)絡最終遞交到客戶端。
(10) 瀏覽器拿到包后,以HTTP協(xié)議格式解包,然后解析數(shù)據(jù),假設是HTML文件。
(11) 瀏覽器將HTML文件展示在頁面
五、Java?web開發(fā)環(huán)境與搭建
jdk下載、安裝、配置環(huán)境變量
下載:
安裝:
雙擊安裝一路下一步即可。因為安裝JDK會自動安裝JRE,所以安裝過程中彈出安裝jre的窗口是可以直接關掉的。
配置環(huán)境變量:
右鍵單擊“我的電腦”圖標,選擇“屬性”。
如果電腦桌面上沒有我的電腦圖標,按Window?+?E打開文件資源管理器,左側有我的電腦圖標。
點擊高級系統(tǒng)設置?->?環(huán)境變量?->?新建,填入變量名,變量值后點擊確定。
需要添加的變量名和變量值分別有:
變量名:JAVA_HOME
變量值:C:\Program Files\Java\jdk1.8.0_131
變量名:CLASSPATH
變量值:.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;
選中“系統(tǒng)變量”下的Path,點擊編輯,在變量值的末尾加上以下內(nèi)容后確定保存:
%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;
1
配置好環(huán)境變量接下來檢驗是否成功:
Window?+R,輸入cmd后點擊確定打開命令窗口,如果配贈正確輸入java會顯示如下信息:
輸入javac會提示如下信息:
參考博文:https://www.cnblogs.com/telwanggs/p/9459605.html
總結
以上是生活随笔為你收集整理的web 向java_Java web基础的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java数组详解_java数组详解
- 下一篇: android studil打断点_【小