成人AV在线无码|婷婷五月激情色,|伊人加勒比二三四区|国产一区激情都市|亚洲AV无码电影|日av韩av无码|天堂在线亚洲Av|无码一区二区影院|成人无码毛片AV|超碰在线看中文字幕

服務(wù)器原理和協(xié)議&Tomcat&Http協(xié)議

服務(wù)器原理和協(xié)議學(xué)習(xí)的思路:Servler Jsp 數(shù)據(jù)庫(kù)1, Javaweb 服務(wù)器原理 HTTP協(xié)議2, 編程的API, 來(lái)學(xué),應(yīng)該先學(xué)Servlet ,比JSP 而言,更復(fù)雜,傾向底

服務(wù)器原理和協(xié)議

學(xué)習(xí)的思路:

Servler Jsp 數(shù)據(jù)庫(kù)

1, Javaweb 服務(wù)器原理 HTTP協(xié)議

2, 編程的API, 來(lái)學(xué),應(yīng)該先學(xué)Servlet ,比JSP 而言,更復(fù)雜,傾向底層原理,JSP 主要是頁(yè)面顯示

3, Servlet 和Jsp 之間加上數(shù)據(jù)庫(kù)課程,(Mysql Oracle),數(shù)據(jù)庫(kù)語(yǔ)言Sql Java數(shù)據(jù)庫(kù)編程JDBC

B/S 和C/S 的區(qū)別

Browser/Server 是一直特殊C/S結(jié)構(gòu),客戶端采用瀏覽器實(shí)現(xiàn):基于web 系統(tǒng)微博,網(wǎng)頁(yè)游戲,云計(jì)算 Google Client/Server 客戶端必須單獨(dú)安裝騰訊QQ 微軟

WEB 系統(tǒng)是怎樣通信的?

Web browser(客戶端) →(客戶端請(qǐng)求包含要訪問(wèn)的資源路徑和名稱)request →Server(服務(wù)端) →(服務(wù)端可以將頁(yè)面、圖片、媒體等很多的資源內(nèi)容發(fā)送給客戶端)response 如果客戶端的請(qǐng)求沒(méi)有得到正確處理,服務(wù)端的響應(yīng)會(huì)包含一個(gè)錯(cuò)誤的狀態(tài)碼返回

什么是WEB 應(yīng)用?

Web 應(yīng)用就是基于HTTP 協(xié)議在B/S結(jié)果中的服務(wù)端的應(yīng)用程序,它接收客戶端瀏覽器的請(qǐng)求并返回應(yīng)答結(jié)果(通常是以頁(yè)面的形式返回)

WEB 應(yīng)用部分的組成:

什么是靜態(tài)資源,什么是動(dòng)態(tài)資源?

靜態(tài)資源的數(shù)據(jù)是固定的

動(dòng)態(tài)資源的數(shù)據(jù)隨著程序的執(zhí)行而改變的

靜態(tài)資源技術(shù):Html Css JavaScript -→ DHTML Dynamic Html

動(dòng)態(tài)資源技術(shù):ASP/PHP/JSP 用來(lái)開(kāi)發(fā)網(wǎng)站

ASP →被 .net 取代,.net 代表的是很多微軟技術(shù)綜合(VB 、ASP 、C#)→開(kāi)發(fā)網(wǎng)站(工具, 到運(yùn)行平臺(tái)都是收費(fèi)的)俗稱為網(wǎng)站開(kāi)發(fā)技術(shù)貴族

PHP →網(wǎng)站開(kāi)發(fā)第一技術(shù),民間開(kāi)發(fā)的,開(kāi)源,免費(fèi)–>開(kāi)發(fā)網(wǎng)站(免費(fèi)開(kāi)源)網(wǎng)站開(kāi)發(fā) 技術(shù)平民

JSP →開(kāi)發(fā)成本太高(必須先學(xué)java ),效率太低,服務(wù)器性能,服務(wù)器少

JAVA →優(yōu)點(diǎn):開(kāi)發(fā)企業(yè)級(jí)應(yīng)用 ERP/CRM/OA 規(guī)范性強(qiáng)、更加標(biāo)準(zhǔn)

B/S 系統(tǒng)基于請(qǐng)求–>響應(yīng)模型注意:必須現(xiàn)有請(qǐng)求才有響應(yīng),請(qǐng)求和響應(yīng)是成對(duì)出現(xiàn)的; 訪問(wèn)網(wǎng)站基于一個(gè)協(xié)議的

輸入網(wǎng)站----- 唯一域名----映射IP ----- 互聯(lián)網(wǎng)一臺(tái)服務(wù)器

服務(wù)器想被外界訪問(wèn),必須開(kāi)發(fā)端口

URL 格式:

協(xié)議:采用哪種協(xié)議進(jìn)行進(jìn)行本次網(wǎng)路訪問(wèn);

JavaWeb 應(yīng)用所包含的內(nèi)容:

Sun 對(duì)JavaWeb 應(yīng)用定義如下,Java Web 應(yīng)用是由一組Servlet 、HTML 頁(yè)、JSP 頁(yè)、工

,

具類以及其他可以綁定的資源構(gòu)成,它可以在各種供應(yīng)商提供的實(shí)現(xiàn)Servlet 規(guī)范的servlet 容器中運(yùn)行

JAVAWeb 常用服務(wù)器

WebLogic(Oracle):收費(fèi),全面支持JavaEE 規(guī)范(Servlet,Jsp,Xml,EJb,Jms ) Oracle數(shù)據(jù)庫(kù)

Websphere(IBM):收費(fèi),全面支持JavaEE 規(guī)范,

JBOSS :EJB 服務(wù)器,免費(fèi)

Servlet/JSP和EJB 之間的關(guān)系:

Servlet/JSP用于解決請(qǐng)求響應(yīng)數(shù)據(jù),頁(yè)面顯示,EJB 用于復(fù)雜業(yè)務(wù)流程,數(shù)據(jù)處理 Tomcat :Apache 公司,jdkarta 子項(xiàng)目,免費(fèi)的,只支持Servlet 和Jsp 輕量級(jí),中小規(guī)模軟件開(kāi)發(fā)

Servlet 容器的概念:

Servlet 容器為JavaWeb 應(yīng)用提供了運(yùn)行時(shí)環(huán)境,它負(fù)責(zé)管理Servlet 和JSP 的生命周期,以及管理他們的共享數(shù)據(jù)

Servlet 容器也稱為JavaWeb 應(yīng)用容器,或者Servlet/JSP容器

本機(jī)IP 默認(rèn):127.0.0.1或者h(yuǎn)ttp://localhost配置hosts

JavaEE 版本和Jdk 區(qū)別?

JavaEE 是技術(shù)規(guī)范

JDK 是運(yùn)行環(huán)境

Tomcat 目錄結(jié)構(gòu)

bin 運(yùn)行程序(存放啟動(dòng)和關(guān)閉Tomcat 的腳本文件)

conf 配置文件(存放Tomcat 服務(wù)器的各種配置文件)

lib tomcat 需要類庫(kù)(存放Tomcat 服務(wù)器和所有web 應(yīng)用程序需要訪問(wèn)的jar 文件) Logs tomcat日志(存放Tomcat 的日志文件)

temp (存放Tomcat 運(yùn)行時(shí)產(chǎn)生的臨時(shí)文件)

Webapps 網(wǎng)站部署目錄(當(dāng)發(fā)布web 應(yīng)用程序時(shí),通常把web 應(yīng)用程序的目錄及文件放

到這個(gè)目錄下)

Work 存放JSP 編譯后文件(Tomcat 將JSP 生成的Servlet 源文件和字節(jié)碼文件放到這個(gè)目

錄下)

Tomcat 啟動(dòng)異常

1, 沒(méi)有配置JAVA_Home:

Neither the JAVA_HOME nor the JRE_HOME environment variable is defined

At least one of these environment variable is needed to run this program

,

Doc 命令行最后加Pause 是暫停的意思

2,配置Java_Home配置值的時(shí)候多寫(xiě);

3, 將Java_Home配置為JRE 路徑

The JAVA_HOME environment variable is not defined correctly

This environment variable is needed to run this program NB: JAVA_HOME should point to a JDK not a JRE

查看日志要看當(dāng)天最大的那個(gè)文件

端口占用啟動(dòng)問(wèn)題:

發(fā)現(xiàn)Tomcat 端口被占用(查看logs )→用Fport 找到占用端口進(jìn)程名稱→用任務(wù)管理器殺

掉進(jìn)程

8080是Tomcat 默認(rèn)端口,Oracle Listener

開(kāi)發(fā)中經(jīng)常將默認(rèn)端口修改為80 →conf/server.xml

運(yùn)行Fport.exe 出現(xiàn)下列錯(cuò)誤:Program too big to fit in memory

CATALINA_HOME環(huán)境變量:用來(lái)指定默認(rèn)運(yùn)行Tomcat 目錄位置。不管運(yùn)行那個(gè)Tomcat/bin/stattup.bat,都啟動(dòng)的是CATALINA_HOME配置的Tomcat

Tomcat 配置環(huán)境為什么配置JDK 環(huán)境

為了編譯Servlet 和JSP 所以要配置JDK 目錄,如果只是運(yùn)行Tomcat 的話,只要配置jre 就

可以

在運(yùn)行中輸入services.msc 然后轉(zhuǎn)到服務(wù)界面,在這里可以將占用8080端口這個(gè)程序禁止 WEB 應(yīng)用程序

指供瀏覽器訪問(wèn)的程序,通常也簡(jiǎn)稱為web 應(yīng)用

一個(gè)web 應(yīng)用由多個(gè)靜態(tài)web 資源和動(dòng)態(tài)web 資源組成,如

Html 、css 、js 文件

JSP 文件、Java 程序、支持jar 包、配置文件等,

組成web 應(yīng)用的這些文件通常我們會(huì)使用一個(gè)目錄組織,這個(gè)目錄稱為web 引用所在目錄(網(wǎng)站的根目錄)

Web 應(yīng)用開(kāi)發(fā)的好處,若想供外界訪問(wèn),需要把web 應(yīng)用所在目錄交給web 服務(wù)器管理,

這個(gè)過(guò)程稱之為虛擬目錄的映射。

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

1, Tomcat/conf/context.xml里面的配置信息,將會(huì)用于所有的web 應(yīng)用 2, Tomcat/conf/為每一個(gè)主機(jī)建立一個(gè)context.xml 用于所有該主機(jī)web 應(yīng)用引擎, 主機(jī)部署web 應(yīng)用三種方式

a) 配置server.xml 修改元素內(nèi)部,添加

在的根目錄”>

b) 配置$CATALINA_HOME/conf/[enginename]/[hostname]/ directory 在conf 下新建

Catalina ,在Catalina 里面新建localhost ,在localhost 中新建xx.xml

c) 將整個(gè)web 應(yīng)用目錄拷貝到webapps 里面

缺省web 應(yīng)用。

訪問(wèn)IP ,直接打開(kāi)默認(rèn)web 應(yīng)用 ----→path 為Root

1, webapps 下面的ROOT 目錄

2, 配置server.xmlpath什么也不寫(xiě)的時(shí)候是缺省web 應(yīng)

3, 在conf/Catalina/localhost配置ROOT.xml

,

通過(guò)WAR 方式發(fā)布部署web 應(yīng)用

War 文件是zip 格式。

先壓縮成zip 格式,然后在將擴(kuò)展名改成war

WEB 應(yīng)用的組成結(jié)構(gòu):不同類型的文件有嚴(yán)格的存放規(guī)則,否則會(huì)報(bào)錯(cuò)。

靜態(tài)資源直接存放在網(wǎng)站根目錄

動(dòng)態(tài)放到WEB-INF 下

WEB-INT 的目錄結(jié)構(gòu)(不可以直接訪問(wèn),)

Classes 存放字節(jié)碼文件

Lib 存放jar 包

Web.xml 存放配置文件(配置歡迎界面:找到conf 目錄下的web.xml 文件進(jìn)行簡(jiǎn)單修改)

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

xsi:schemaLocation="http://java.sun.com/xml/ns/javaee

version="2.5">

index.html

Mail

|-→html 、

jsp 、css 、js 文件等 |--

|→WEB-INF 目錄 |-- |--→classes 目錄→(Java類) |-- |--→lib 目錄→(Java類運(yùn)行所需的jar 包) |-- |--→web.xml 文件→(web應(yīng)用的配置文件) 配置虛擬主機(jī)

指的是在一臺(tái)服務(wù)器中放置多個(gè)站點(diǎn)

如何架設(shè)一個(gè)站點(diǎn)?

1, 開(kāi)發(fā)站點(diǎn)代碼

2, 一臺(tái)服務(wù)器(購(gòu)買(mǎi)服務(wù)器或者,服務(wù)器托管。購(gòu)買(mǎi)服務(wù)器空間,虛擬主機(jī)空間)。

→IP 地址

3, 購(gòu)買(mǎi)域名

配置Tomcat 虛擬主機(jī)

1. 配置server.xml 添加

,

元素

2、配置hosts 文件將目標(biāo)域名映射本機(jī)(WINDOWSSystem32driversetchosts) 用ping 網(wǎng)址在doc 命令行測(cè)試hosts 文件是否修改成功 3、提供默認(rèn)缺省虛擬目錄(網(wǎng)站) ---- ROOT

配置缺省虛擬主機(jī)

什么是缺?。褐惶峁┝薎P 沒(méi)有域名,所以只能訪問(wèn)默認(rèn)的主機(jī)。

有什么用? ---- 當(dāng)服務(wù)器DNS 癱瘓時(shí),只有缺省虛擬主機(jī)能被訪問(wèn)!

HTTP 協(xié)議

超文本傳輸協(xié)議

OSI 七層協(xié)議的分層

TCP/IP協(xié)議分層

TCP 傳輸層協(xié)議,IP 網(wǎng)絡(luò)層協(xié)議

三次握手

發(fā)送方:你能收到我的數(shù)據(jù)嗎?

接收方:我能收到,你能收到嗎?

發(fā)送方:我也能收到

TCP 不丟包的數(shù)據(jù)傳輸

HTTP 請(qǐng)求:

1, 請(qǐng)求行,包括三部分1) 請(qǐng)求方式(GET/SET);2) 請(qǐng)求資源路徑;3) 協(xié)議版本 2, 消息頭

3, 消息體

GET 和POST 的區(qū)別?

HTTP 請(qǐng)求頭細(xì)節(jié):

HTTP 響應(yīng);

1, 響應(yīng)行

a) 協(xié)議版本,

b) 狀態(tài)碼,

i. 1XX ;請(qǐng)求收到,需要繼續(xù)處理

ii. 2XX ;請(qǐng)求處理完成

iii. 3XX ;重定向

iv. 4XX ;客戶端錯(cuò)誤,錯(cuò)誤的語(yǔ)法或者不可能完成,服務(wù)器無(wú)法處理(頁(yè)面找不

到) v. 5XX ;服務(wù)器錯(cuò)誤,服務(wù)器內(nèi)部錯(cuò)誤,空指針、角標(biāo)越界

200請(qǐng)求處理成功

302重定向,A 找B 借錢(qián),B 告訴A 去找C 借去,

304和307 if-modified-since-modified 服務(wù)器通知客戶段查看本地緩存。A 找B 借錢(qián),

B 說(shuō)你自己有

404頁(yè)面找不到錯(cuò)誤 A 找B 借錢(qián),B 說(shuō)沒(méi)有

500服務(wù)器內(nèi)部異常

,

c) 狀態(tài)信息

2, 頭信息

Location: http://www.it315.org/index.jsp

結(jié)合302狀態(tài)碼使用,服務(wù)器通知客戶端重定向→常見(jiàn)應(yīng)用,未登錄,自動(dòng)跳轉(zhuǎn)到 登錄頁(yè)面

Server:apache tomcat

Content-Encoding: gzip 通知客戶端響應(yīng)內(nèi)容使用壓縮格式

Content-Length: 80 響應(yīng)長(zhǎng)度

Content-Language: zh-cn 響應(yīng)語(yǔ)言

Content-Type: text/html; charset=GB2312 響應(yīng)數(shù)據(jù)類型,編碼集

Last-Modified: Tue, 11 Jul 2000 18:23:51 GMT

通知客戶端,該資源在服務(wù)端的最后修改時(shí)間

Refresh: 1;url=http://www.it315.org→表示1秒后,跳轉(zhuǎn)到www.it315.org

自動(dòng)刷新功能,案例:用戶在登錄后,顯示5秒后自動(dòng)跳轉(zhuǎn)回主頁(yè)

Content-Disposition: attachment; filename=aaa.zip

文件以附件格式下載

Set-Cookie:SS=Q0=5Lb_nQ; path=/search

Expires: -1過(guò)期時(shí)間

Cache-Control: no-cache 不緩存

Pragma: no-cache 不緩存

以上3個(gè)頭信息資源,用于通知客戶端,響應(yīng)數(shù)據(jù)不緩存,三個(gè)頭一起使用是為了滿足跨瀏覽器

Connection: close/Keep-Alive

Date: Tue, 11 Jul 2000 18:23:51 GMT

3, 響應(yīng)體

Socket 編程

標(biāo)簽: