欧美三级国产三级日韩三级_亚洲熟妇丰满大屁股熟妇_欧美亚洲成人一区二区三区_国产精品久久久久久模特

web開發(fā)常識(http協(xié)議以及JAVA WEB服務(wù)器的配置) - 新聞資訊 - 云南小程序開發(fā)|云南軟件開發(fā)|云南網(wǎng)站建設(shè)-昆明葵宇信息科技有限公司

159-8711-8523

云南網(wǎng)建設(shè)/小程序開發(fā)/軟件開發(fā)

知識

不管是網(wǎng)站,軟件還是小程序,都要直接或間接能為您產(chǎn)生價值,我們在追求其視覺表現(xiàn)的同時,更側(cè)重于功能的便捷,營銷的便利,運(yùn)營的高效,讓網(wǎng)站成為營銷工具,讓軟件能切實(shí)提升企業(yè)內(nèi)部管理水平和效率。優(yōu)秀的程序?yàn)楹笃谏壧峁┍憬莸闹С郑?

您當(dāng)前位置>首頁 » 新聞資訊 » 網(wǎng)站建設(shè) >

web開發(fā)常識(http協(xié)議以及JAVA WEB服務(wù)器的配置)

發(fā)表時間:2017-1-13

發(fā)布人:葵宇科技

瀏覽次數(shù):83

JavaWeb服務(wù)器的配置使用

WEB開發(fā)的前景

軟件開發(fā)的兩種架構(gòu):B/S 和 C/S

隨著網(wǎng)絡(luò)帶寬的不斷提升,云計算概念的提出,瀏覽器只要足夠強(qiáng)大,c/s架構(gòu)立馬就會被淘汰,不僅c/s架構(gòu)會被淘汰,軟件最終都會消失、操作系統(tǒng)都可以沒有,最終將會是b/s架構(gòu)的天下,也就是瀏覽器+搜索引擎的天下。所有現(xiàn)在桌面軟件提供的功能,最后都由網(wǎng)站提供,也就是說,將來打開電腦就是一個瀏覽器,想要什么服務(wù),通過搜索引擎一找,就可以在網(wǎng)上找到相應(yīng)的服務(wù),用就是了。所以web開發(fā)人員是現(xiàn)在最流行的崗位。


WEB 開發(fā)的相關(guān)知識

WEB,在英語中web即表示網(wǎng)頁的意思,它用于表示Internet主機(jī)上供外界訪問的資源。 Internet上供外界訪問的web資源分為:
  • 靜態(tài)web資源(如HTML頁面):指web頁面中供人們?yōu)g覽的數(shù)據(jù)始終是不變的。
  • 動態(tài)web資源:指web頁面中供人們?yōu)g覽的數(shù)據(jù)是由程序產(chǎn)生的,不同時間點(diǎn)訪問web頁面看到的內(nèi)容各不相同。
靜態(tài)web資源開發(fā)技術(shù): HTML 常用的動態(tài)web資源開發(fā)技術(shù):
  • JSP/Servlet、ASP、PHP、Python等
  • 在JAVA中,動態(tài)的web資源開發(fā)技術(shù)統(tǒng)稱為Javaweb。
WEB系統(tǒng)是怎樣通信的?

WEB開發(fā)中的服務(wù)器:

服務(wù)器原理:網(wǎng)絡(luò)編程 服務(wù)器的概念:
  • 硬件:就是一臺電腦
  • 軟件:需要在這臺電腦上安裝服務(wù)器的軟件
  • 如果一臺電腦上安裝了服務(wù)器的軟件的話,那么這臺電腦就可以成為WEB服務(wù)器。
訪問:
  • IP+端口號
  • 如果是域名—>解析成IP地址—>www.baidu.com
  • 如果默認(rèn)端口是80 的可以不寫
常見的WEB服務(wù)器: WebLogic是BEA公司的產(chǎn)品,是目前應(yīng)用最廣泛的WEB服務(wù)器,支持JavaEES規(guī)范,而且不斷地完善適應(yīng)新的開發(fā)求,啟動界面如下圖:

另一個常用的WEB服務(wù)器是IBM公司的WebSphere,支持J2EE規(guī)范,啟動界面如下:

在小型的應(yīng)用系統(tǒng)或者有特殊需要的系統(tǒng)中,可以使用一個免費(fèi)的WEB服務(wù)器:Tomcat,該服務(wù)器支持全部的JSP以及Servlet規(guī)范,啟動界面如下:

Tomcat服務(wù)器

Tomcat官方站點(diǎn):http://jakarta.apache.org
獲取Tomcat安裝程序包
tar.gz(zip)文件是Linux操作系統(tǒng)下的安裝版本
exe文件是Windows系統(tǒng)下的安裝版本
zip文件是Windows系統(tǒng)下的壓縮版本
安裝Tomcat --- 配置JAVA_HOME

注意事項: Tomcat的服務(wù)器不能安裝或解壓放到含有中文和空格的路徑的文件夾內(nèi)。
如果想要啟動服務(wù)器,必須安裝java和配置JAVA_HOME。
可以在startup.bat的文件中最后一行加入暫停字符:pause

雙擊 bin 目錄下的 startup.bat 文件
輸入 http://localhost:8080/,顯示如下界面代表安裝成功


Tomcat常見的啟動問題:

(1)JAVA_HOME 環(huán)境變量
  • 在Windows中設(shè)置JAVA_HOME環(huán)境變量
  • JAVA_HOME路徑必須是JDK不可以是JRE
(2)端口占用問題
  • WindowsXP使用Fport工具
  • win7使用DOS命令netstat -ano
  • win7自帶World wide web publish IIS 服務(wù)默認(rèn)占用端口80
(3)CATALINA_HOME環(huán)境變量的設(shè)置問題(主要用于在DOS命令中啟動Tomcat)

Tomcat的端口占用問題:

同時啟動了多個Tomcat(MyEclipse) (1)將占用了的8080端口的程序結(jié)束掉。
  • 如果是XP系統(tǒng),可以使用工具Fport.exe來找到占用8080端口的應(yīng)用程序,在任務(wù)管理器中結(jié)束該程序。
  • 通用版:在cmd命令窗口輸入netstat -ano,找到占用8080端口的程序。因?yàn)闆]有程序的名稱,通過PID結(jié)束程序。
(2)修改Tomcat自己的端口號。
  • 修改Tomcat目錄下的server.xml文件中的端口配置,找到port項,修改端口,完成后重啟Tomcat服務(wù)器。
  • 有系統(tǒng)自帶的IIS服務(wù),占用80端口。停止該服務(wù)。
  • win7 自帶 World wide web publish IIS服務(wù) 默認(rèn)占用端口80 可以通過輸入services.msc找到該服務(wù),停止即可。極個別的系統(tǒng)會有系統(tǒng)內(nèi)核占用80端口的,通過資料中提供的文件解決該問題
Tomcat服務(wù)器與Servlet版本關(guān)系:
Tomcat的目錄結(jié)構(gòu):

WEB應(yīng)用程序

(1)WEB應(yīng)用程序指供瀏覽器訪問的程序,通常也稱為WEB應(yīng)用。 (2)一個web應(yīng)用由多個靜態(tài)web資源和動態(tài)web資源組成,如:
  • html、css、js文件 --- 靜態(tài)web資源
  • Jsp文件、java程序、支持jar包、 ---- 動態(tài)web資源
  • 配置文件等等…..
  • 組成web應(yīng)用的這些文件通常我們會使用一個目錄組織,這個目錄稱之為web應(yīng)用所在目錄(網(wǎng)站的根目錄)
(3)WEB應(yīng)用開發(fā)好后,若想供外界訪問,需要把web應(yīng)用所在的目錄交給web服務(wù)器管理,這個過程稱之為虛擬目錄的映射。 (4)開發(fā)web應(yīng)用時,不同類型的文件有嚴(yán)格的存放規(guī)則,否則不僅可能會使web應(yīng)用無法訪問,還會導(dǎo)致web服務(wù)器報錯。web應(yīng)用(網(wǎng)站目錄)的組成結(jié)構(gòu)如下:

使用MyEclipse配置Tomcat

  • 在window下找到servers中的tomcat( window -- 選項 -- MyEclipse -- servers -- 選擇tomcat -- 選擇Enable -- 選擇tomcat根目錄)
  • 選擇相應(yīng)的版本后,配置本地的tomcat
  • 再配置本地的JDK(可選)
  • 配置成功后啟動服務(wù)器
  • 在myeclipse中創(chuàng)建web項目,部署到tomcat中,啟動服務(wù)器。
  • WebRoot目錄變成了虛擬路徑即訪問路徑了(虛擬路徑默認(rèn)和項目名稱是相同的,不用去修改)
  • 如果直接復(fù)制項目,需要修改虛擬路徑(項目上右鍵--選擇屬性 -- MyEclipse -- web 修改虛擬路徑)
  • 擴(kuò)展 window -- show view -- servers

Tomcat管理員的配置

在Tomcat中配置管理員主要是給用戶使用的。 可以在tomcat/conf/tomcat-user.xml中加入如下配置信息。 <role rolename="manager"> <user username="admin" password="admin" roles="manager">

虛擬目錄的映射方式(如何部署WEB程序)

虛擬目錄的映射有三種方式: (1)將項目復(fù)制到webapps目錄下。即讓Tomcat自動映射,Tomcat服務(wù)器會自動管理webapps目錄下的所有的web應(yīng)用,并把它映射成虛擬目錄。換句話說,Tomcat服務(wù)器webapps目錄下的web應(yīng)用,外界可以直接訪問。 (2)(通過配置虛擬路徑的方式)直接修改配置文件,寫到tomcat/conf/server.xml中 * 找到<Host>標(biāo)簽,配置到Host標(biāo)簽的中間。 * 目的:通過配置,配置訪問路徑,準(zhǔn)確找到c:\bb的文件 *<Context docBase="文件夾的真實(shí)目錄" path="虛擬路徑(訪問路徑)"></Context> *<Context docBase="C:\bb" path="/itcast"></Context> *訪問:http://localhost:80/itcast (3)自己編寫一個配置文件(推薦使用) *自定義xxx.xml結(jié)尾文件,在$CATALINA_HOME/conf/[enginename]/[hostname] directory目錄下 *把xxx當(dāng)成虛擬(訪問)路徑 * 在XML的文件中編寫。 *xml文件在哪個目錄下? *$CATALINA_HOME/conf/[enginename]/[hostname] directory * 如果找引擎的名稱和主機(jī)的名稱,在server.xml中找到分別是<engine name="引擎名稱">...</engine>和 <Host name="主機(jī)名稱"></Host> 的節(jié)點(diǎn)即可 *tomcat/conf/Catalina/localhost/ccc.xml *ccc.xml的文件編寫內(nèi)容如下: *<Context docBase="C:\cc"></Context> *訪問:http://localhost:80/ccc

Web系統(tǒng)通信詳解:


配置虛擬主機(jī): (1) 在一個tomcat服務(wù)器中可以放置多個網(wǎng)站<Host>,所謂配置虛擬主機(jī),就是在tomcat服務(wù)器中配置一個網(wǎng)站。 (2)如需要在WEB服務(wù)器中配置一個網(wǎng)站,需要使用Host元素進(jìn)行配置,例如:<Host name="site1" appBase="c:\app"></Host> (3)配置的主機(jī)(網(wǎng)站)要想被外部訪問,必須在DNS服務(wù)器或windows系統(tǒng)中注冊 C:\WINDOWS\system32drivers\etc\hosts (4)缺省虛擬主機(jī)DefaultHost 訪問網(wǎng)站全過程分析
1、在瀏覽器輸入url地址
2、訪問本機(jī)域名解析文件 hosts ======= c:\windows\system32\drivers\etc\
3、如果本機(jī)沒有查找到域名,查找網(wǎng)絡(luò)上DNS服務(wù)器
4、域名解析后,獲得域名對應(yīng)ip地址。根據(jù)ip和port訪問網(wǎng)絡(luò)上指定主機(jī)和服務(wù)


真實(shí)開發(fā)網(wǎng)站過程
1、開發(fā)網(wǎng)站
2、將網(wǎng)站發(fā)布web服務(wù)器上 (公網(wǎng)ip)
3、在DNS域名解析服務(wù)器上注冊域名,和服務(wù)器ip綁定

實(shí)驗(yàn):在本機(jī)上搭建百度虛擬主機(jī) =========== 注意:默認(rèn)端口必須設(shè)置80
1、抓取baidu主頁
2、在c盤 新建虛擬主機(jī)目錄 c:\baidu
3、在c:\baidu下新建 百度網(wǎng)站目錄 website (復(fù)制網(wǎng)站頁面到 website目錄)
4、在conf/server.xml 配置虛擬主機(jī)
<Host name="www.baidu.com" appBase="C:\baidu"
unpackWARs="true" autoDeploy="true"
xmlValidation="false" xmlNamespaceAware="false">
</Host>
5、在本機(jī) hosts文件添加
192.168.1.250 www.baidu.com
*** 測試 cmd中 ping www.baidu.com 測試hosts是否配置成功
6、將website配置 缺省網(wǎng)站 在<Host> 元素內(nèi)部添加<Context> 元素
<Context path="" docBase="website" />
7、將baidu.htm 配置默認(rèn)歡迎頁面 conf/web.xml
<welcome-file-list>
<welcome-file>index.html</welcome-file>
<welcome-file>index.htm</welcome-file>
<welcome-file>index.jsp</welcome-file>
<welcome-file>baidu.htm</welcome-file>
</welcome-file-list>

使用MyEclipse開發(fā)動態(tài)web程序

什么是HTTP協(xié)議?

  • 客戶端連上web服務(wù)器后,若想獲得web服務(wù)器中的某個web資源,需遵守一定的通訊格式,http協(xié)議用于定義客戶端與web服務(wù)器通訊的格式。
  • 基于TCP連接的傳輸協(xié)議
  • 默認(rèn)端口是80
  • 基于請求-相應(yīng)模式的協(xié)議
  • 通過Telnet命令 快速了解HTTP協(xié)議
  • 安裝IE瀏覽器插件HttpWatch,查看IE瀏覽器通過HTTP協(xié)議獲取某個頁面

使用telnet命令演示HTTP協(xié)議

  • 啟動服務(wù)器
  • cmd> telnet localhost 80回車
  • telnet有一個亂碼問題 解決亂碼
  • 解決 Ctrl+] 回車
  • 注意:命令行中輸入的內(nèi)容不能寫錯,一旦寫錯了 不支持刪除
  • GET /aa/1.html HTTP/1.1
  • host:localhost
  • 輸入兩次回車

HTTP協(xié)議簡介

  • HTTP是hypertext transfer protocol(超文本傳輸協(xié)議)的簡寫,它是TCP/IP協(xié)議的一個應(yīng)用層協(xié)議,用于定義WEB瀏覽器與WEB服務(wù)器之間交換數(shù)據(jù)的過程。
  • HTTP協(xié)議是學(xué)習(xí)JAVAWEB的基石,必須深入了解HTTP協(xié)議 才能管理和維護(hù)一些復(fù)雜的WEB站點(diǎn)。
  • HTTP協(xié)議的版本:HTTP/1.0 、HTTP/1.1

HTTP1.0和HTTP1.1的區(qū)別

  • HTTP/1.0是鏈接之后,馬上斷開
  • HTTP/1.1是鏈接之后,不會馬上斷開,還可以繼續(xù)操作,一段時間不操作后,會自動斷開。
  • 通過telnet命令可以很好的演示效果

HTTP請求

客戶端連上服務(wù)器后,向服務(wù)器請求某個web資源,稱之為客戶端向服務(wù)器發(fā)送了一個HTTP請求。一個完整的HTTP請求包括以下內(nèi)容: 一個請求行、若干請求頭、以及實(shí)體內(nèi)容,如下所示:
Web服務(wù)器通過客戶端發(fā)送過來的這些請求信息,就可以確定向請求者回送什么資源,以及根據(jù)客戶端的環(huán)境信息采用什么方式進(jìn)行回送等。

HTTP請求的細(xì)節(jié)——請求行

請求行中的GET稱之為請求方式,請求方式有:
  • POST、GET、HEAD、OPTIONS、DELETE、TRACE、PUT、CONNECT
  • 常用的有: GET、 POST
  • 用戶如沒有設(shè)置,默認(rèn)情況下瀏覽器向服務(wù)器發(fā)送的都是get請求,例如在瀏覽器直接輸?shù)刂吩L問,點(diǎn)超鏈接訪問等都是get,用戶如想把請求方式改為post,可通過更改表單的提交方式實(shí)現(xiàn)。
不管POST或GET,都用于向服務(wù)器請求某個WEB資源,這兩種方式的區(qū)別主要表現(xiàn)在數(shù)據(jù)傳遞上:
  • 如請求方式為GET方式,則可以在請求的URL地址后以?的形式帶上交給服務(wù)器的數(shù)據(jù),多個數(shù)據(jù)之間以&進(jìn)行分隔,例如:
  • GET /mail/1.html?name=abc&password=xyz HTTP/1.1
  • GET方式的特點(diǎn):在URL地址后附帶的參數(shù)是有限制的,其數(shù)據(jù)容量通常不能超過1K。
  • 如請求方式為POST方式,則可以在請求的實(shí)體內(nèi)容中向服務(wù)器發(fā)送數(shù)據(jù),Post方式的特點(diǎn):傳送的數(shù)據(jù)量無限制。
1、請求行
GET /day4/img.html HTTP/1.1 分為三個部分:請求方式、資源路徑、協(xié)議版本
HTTP請求方式定義8種,常用GET和POST兩種

GET和POST區(qū)別?
1) 區(qū)分哪些是GET請求? 哪些POST請求?
GET:在瀏覽器直接輸入URL、<a href=""> 、<form method="get" >
POST: <form method="post" >
2) GET請求數(shù)據(jù)位于請求行中 ,POST請求數(shù)據(jù)位于請求體中
GET /day4/form.html?username=zhangsan HTTP/1.1
POST /day4/form.html HTTP/1.1
...
username=lisi
3) GET請求數(shù)據(jù)在URL上顯示,所有有長度限制,通常是1kb

HTTP請求的細(xì)節(jié)——消息頭


Accept: text/html,image/* 客戶端識別文件類型
Accept-Charset: ISO-8859-1 客戶端字符集
Accept-Encoding: gzip 客戶端支持編碼類型 gzip 壓縮格式
Accept-Language:zh-cn 客戶端語言
Host: www.itcast.com:80 訪問服務(wù)器地址
If-Modified-Since: Tue, 11 Jul 2000 18:23:51 GMT (重要) 和Last-Modified 一起使用 控制緩存
Referer: http://www.itcast.com/index.jsp (重要)代表當(dāng)前網(wǎng)頁的來源 防止盜鏈
User-Agent: Mozilla/4.0 (compatible; MSIE 5.5; Windows NT 5.0) 瀏覽器類型(文件下載時,不同瀏覽器進(jìn)行不同處理)
Connection: close/Keep-Alive 請求后連接是關(guān)閉還是保持
Date: Tue, 11 Jul 2000 18:23:51 GMT 請求時間

重點(diǎn):If-Modified-Since、referer、User-Agent

盜鏈:A網(wǎng)站直接通過鏈接,訪問B網(wǎng)站資源
防盜鏈原理,判斷請求中referer信息
****** 使用URL 和 URLConnection 偽造客戶端
//防盜鏈
String referer = request.getHeader("referer");
if(referer!=null && referer.equals("http://localhost:8080/day03/index.html")){
// 有效
response.setContentType("text/html;charset=gbk");
response.getWriter().println("筆記本1000元");
}else{
// 無效
response.setContentType("text/html;charset=gbk");
response.getWriter().println("盜鏈真無恥!");
}

//URL偽造
URL url = new URL("http://localhost:8080/day03/referer");
URLConnection conn =url.openConnection();
conn.setRequestProperty("referer", "http://localhost/day03/index.html");

byte[] buf = new byte[1024];
InputStream is = conn.getInputStream();
int len = is.read(buf);
System.out.println(new String(buf,0,len));

3、請求體
多個數(shù)據(jù)之間用&分隔
name=value&name=value&name=value...

HTTP響應(yīng)

一個HTTP響應(yīng)代表服務(wù)器向客戶端回送的數(shù)據(jù),它包括: 一個狀態(tài)行、若干消息頭、以及實(shí)體內(nèi)容。
在一個HTTP響應(yīng)中,WEB服務(wù)器通過響應(yīng)向WEB客戶端描述客戶端的請求成功與否,以及它所發(fā)送的數(shù)據(jù)類型等一些信息,客戶端通過這些信息,進(jìn)而可以知道如何對數(shù)據(jù)進(jìn)行處理。

HTTP響應(yīng)的細(xì)節(jié)——狀態(tài)行

狀態(tài)行 格式:HTTP版本號 狀態(tài)碼 原因敘述<CRLF> 舉例:HTTP/1.1 200 OK 狀態(tài)碼用于表示服務(wù)器對請求的處理結(jié)果,它是一個三位的十進(jìn)制數(shù),響應(yīng)狀態(tài)碼分為5類,如下所示: 狀態(tài)碼含義100~199表示成功接收請求,要求客戶端繼續(xù)提交下一次請求才能完成整個處理過程200~299表示成功接收請求并已完成整個處理過程,常用200300~399為完成請求,客戶需進(jìn)一步細(xì)化請求。例如,請求的資源已經(jīng)移動一個新地址,常用302、307和304400~499客戶端的請求有錯誤,常用404500~599服務(wù)器端出現(xiàn)錯誤,常用500
HTTP/1.1 200 OK 協(xié)議版本、狀態(tài)碼、描述信息
Informational 1xx 信息不足, 請求無法處理 Successful 2xx 請求成功處理 Redirection 3xx 請求已經(jīng)處理,還需要客戶端有進(jìn)一步操作 Client Error 4xx 客戶端錯誤 Server Error 5xx 服務(wù)器端錯誤
200:請求成功處理,一切OK 302:請求重定向(A找B借錢,B通知A找C借錢,A找C借錢)A: 客戶端 B、C:服務(wù)器 304:服務(wù)器端資源沒有改動,通知客戶端查找本地緩存 404:客戶端訪問資源不存在 500:服務(wù)器內(nèi)部出錯
HTTP響應(yīng)細(xì)節(jié)——常用響應(yīng)頭

3) gzip壓縮
工具-- internet選項 --- 設(shè)置 --查看文件
+ 0.000 ! 0.097 394 7553 GET 200 html http://localhost/


配置tomcat/conf/server.xml 在 Connector中配置 壓縮


<Connector port="80" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443“ compressableMimeType="text/html,text/xml,text/plain" compression="on"/>


+ 0.000 0.093 394 2715 GET 200 html http://localhost/


4) Tomcat默認(rèn)緩存策略 If-Modified-Since Last-Modified 結(jié)合304 實(shí)現(xiàn)
5) 禁用緩存
Expires: -1
Cache-Control: no-cache
Pragma: no-cache
防止瀏覽器不兼容,如果網(wǎng)頁禁用緩存后,不會在 工具-- internet選項 --- 設(shè)置 --查看文件 產(chǎn)生緩存文件


相關(guān)案例查看更多