卖逼视频免费看片|狼人就干网中文字慕|成人av影院导航|人妻少妇精品无码专区二区妖婧|亚洲丝袜视频玖玖|一区二区免费中文|日本高清无码一区|国产91无码小说|国产黄片子视频91sese日韩|免费高清无码成人网站入口

tomcat服務(wù)器

Tomcat 目錄結(jié)構(gòu)bin 運(yùn)行程序conf 配置文件lib tomcat需要類庫(kù)logs tomcat日志webapps 網(wǎng)站部署目錄work 存放JSP 編譯后文件Tomcat 啟動(dòng)問(wèn)題1、沒(méi)有

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

bin 運(yùn)行程序

conf 配置文件

lib tomcat需要類庫(kù)

logs tomcat日志

webapps 網(wǎng)站部署目錄

work 存放JSP 編譯后文件

Tomcat 啟動(dòng)問(wèn)題

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

2、配置JAVA-HOME JAVAHOME 配置值時(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)問(wèn)題

發(fā)現(xiàn)tomcat 端口被占用(怎么發(fā)現(xiàn)的 logs ) ----- Fport 找到占用端口進(jìn)程名稱 ----- 任務(wù)管理器關(guān)閉進(jìn)程

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

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

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

tomcat 中如何部署web 應(yīng)用

1、tomcat/conf/context.xml 里面配置信息將會(huì)用于所有web 應(yīng)用

2、tomcat/conf 為每個(gè)主機(jī)建立一個(gè)context.xml 用于所有該主機(jī)web 應(yīng)用

部署web 應(yīng)用三種方式

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

1

,

在D:apache-tomcat-7.0.69conf下的server.xml 下加入

//abc是訪問(wèn)路徑,直接/abc/index.html

2、配置 $CATALINA_HOME/conf/[enginename]/[hostname]/ directory

在tomcat 安裝目錄下的conf 下新建Catalina 然后在Catalina 下新建 localhost 。在localhost 下建一個(gè)abc.xml 文件,那么abc 就是訪問(wèn)路徑。在abc.xml 中加入啟動(dòng)tomcat 在訪問(wèn)時(shí)用/abc/index.html

3、將整個(gè)web 應(yīng)用目錄拷貝到 webapps

配置缺省web 應(yīng)用

訪問(wèn)主機(jī)IP ,直接打開(kāi)默認(rèn)web 應(yīng)用 ------------ localhost回車后即可訪問(wèn)web 應(yīng)用的index 內(nèi)容

1、webapps 下建立ROOT 目錄就是缺省應(yīng)用,tomcat 已經(jīng)占據(jù)了

2、配置server.xml ----- path什么都不寫(xiě)就是缺省web 應(yīng)用

3、在conf/Catalina/localhost 里面建 ROOT.xml 文件,在其中添加

war 文件是 zip 格式

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

動(dòng)態(tài)java 網(wǎng)站會(huì)存在WEB-INF

web.xml 配置歡迎頁(yè)面

在web.xm 中有這么一段代碼,默認(rèn)三個(gè)頁(yè)面為歡迎界面。

index.html

index.htm

index.jsp

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

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

2、一臺(tái)服務(wù)器(1) 自己購(gòu)買服務(wù)器,服務(wù)器托管 2) 購(gòu)買服務(wù)器空間虛擬主機(jī)空間) -------- IP 地址

3、購(gòu)買域名一級(jí)域名 news.itcast.cn 二級(jí)域名

配置虛似主機(jī)

2

,

1、在一個(gè)tomcat 服務(wù)器中可以放置多個(gè)網(wǎng)站,所謂配置虛似主機(jī),就是在tomcat 服務(wù)器中配置一個(gè)網(wǎng)站。

2、如需在WEB 服務(wù)器中配置一個(gè)網(wǎng)站,需使用Host 元素進(jìn)行配置,例:

unpackWARs="true" autoDeploy="true">

prefix="localhost_access_log." suffix=".txt"

pattern="h l u t "r" s b" />

unpackWARs="true" autoDeploy="true">

3、配置的主機(jī)(網(wǎng)站) 要想被外部訪問(wèn),必須在DNS 服務(wù)器或windows 系統(tǒng)中注冊(cè)

C:WINDOWSsystem32driversetchosts

2、配置hosts 文件將目標(biāo)域名映射本機(jī)

3、提供默認(rèn)缺省虛擬目錄(網(wǎng)站) ---- ROOT

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

在server.xml 中有一句話就是定義缺省主機(jī)的。

登錄服務(wù)器管理員的方法:

啟動(dòng)tomcat 主頁(yè),點(diǎn)擊tomcat manager要求輸入用戶名密碼。點(diǎn)擊取消進(jìn)入說(shuō)明。

在conf 下的tomcat-users.xml 文件中加入提示的

而后登錄即可

context 元素常用屬性

3

,

WEB 應(yīng)用的組成結(jié)構(gòu)

開(kāi)發(fā)web 應(yīng)用時(shí),不同類型的文件有嚴(yán)格的存放規(guī)則,否則不僅可能會(huì)使web 應(yīng)用無(wú)法訪問(wèn),還會(huì)導(dǎo)致web 服務(wù)器啟動(dòng)報(bào)錯(cuò)。

4

,

在myeclipse 中新建一個(gè)web project工程

5

,

OSI 七層協(xié)議 TCP/IP分層

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

三次握手

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

接收方:我能收到你的數(shù)據(jù),你能收到我的數(shù)據(jù)嗎

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

TCP 不丟包的數(shù)據(jù)傳輸,發(fā)送方如果一直收不到接收方回應(yīng),就會(huì)超時(shí)

HTTP 請(qǐng)求三部分:請(qǐng)求行、消息頭、消息體

請(qǐng)求行三部分:請(qǐng)求方式(GET/Post)、請(qǐng)求資源路徑、協(xié)議版本

消息頭以鍵值對(duì)的方式傳輸

GET 和POST 區(qū)別

GET 數(shù)據(jù)格式請(qǐng)求數(shù)據(jù)位于請(qǐng)求行中

GET /day4/index.html?username=aaa&password=bbb HTTP/1.1

Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/x-shockwave-flash, application/msword, application/vnd.ms-excel, application/vnd.ms-powerpoint, */*

Referer: http://localhost/day4/login.html

Accept-Language: zh-cn

Accept-Encoding: gzip, deflate

User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 2.0.50727) Host: localhost

Connection: Keep-Alive

POST 數(shù)據(jù)格式請(qǐng)求數(shù)據(jù)位于請(qǐng)求體中

POST /day4/index.html HTTP/1.1

Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/x-shockwave-flash, application/msword, application/vnd.ms-excel, application/vnd.ms-powerpoint, */*

Referer: http://localhost/day4/login.html

6

,

Accept-Language: zh-cn

Content-Type: application/x-www-form-urlencoded

Accept-Encoding: gzip, deflate

User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 2.0.50727) Host: localhost

Content-Length: 25

Connection: Keep-Alive

Cache-Control: no-cache

username=aaa&password=bbb

請(qǐng)求的解析

Accept: text/html,image/* image/jpeg 通知服務(wù)器, 客戶端可以識(shí)別文件格式 MIME-Type

Accept-Charset: ISO-8859-1 客戶端能夠接受編碼

Accept-Encoding: gzip 客戶端識(shí)別壓縮格式

Accept-Language:zh-cn 客戶端語(yǔ)言

Host: www.itcast.com:80 訪問(wèn)目標(biāo)服務(wù)器

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

該資源客戶端存在,告訴服務(wù)器該資源最后修改時(shí)間 ----- 如果客戶端資源已經(jīng)最新,服務(wù)器將通知客戶端找尋本地緩存

Referer: http://www.itcast.com/index.jsp

請(qǐng)求來(lái)源

舉例:

GET http://www.itcast.cn HTTP/1.1

Referer:www.baidu.com

訪問(wèn)itcast 請(qǐng)求來(lái)自百度

防止盜鏈

User-Agent: Mozilla/4.0 (compatible; MSIE 5.5; Windows NT 5.0)

Cookie

Connection: close/Keep-Alive

7

,

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

服務(wù)器響應(yīng)的解析

HTTP 響應(yīng)包括3個(gè)部分:響應(yīng)行、頭信息、響應(yīng)體

響應(yīng)行包括3個(gè)部分:協(xié)議版本、狀態(tài)碼、狀態(tài)描述信息

狀態(tài)碼

1xx:請(qǐng)求收到,需要繼續(xù)處理

2xx:請(qǐng)求處理完成

3xx: 重定向

4xx: 客戶端出錯(cuò),服務(wù)器無(wú)法處理 ---- 頁(yè)面找不到

5xx: 服務(wù)器出錯(cuò)

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

302 重定向 A 找B 借錢,B 告訴A 去找C 借去

304和307 If-modified-since last-modified 服務(wù)器通知客戶端查看本地緩存 A 找B 借錢,B 說(shuō)你兜里有

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

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

響應(yīng)頭含義

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

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

Server:apache tomcat 服務(wù)器類型

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í)間

8

,

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

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

Content-Disposition: attachment; filename=aaa.zip

文件以附件格式下載

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

Cache-Control: no-cache 不緩存

Pragma: no-cache 不緩存

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

Java 基礎(chǔ)班 Socket 編程通過(guò)控制請(qǐng)求與響應(yīng)實(shí)現(xiàn)部分功能

Serverlet 編程服務(wù)器響應(yīng)請(qǐng)求的處理

publicclass extends HttpServlet {

// 手動(dòng)壓縮

protectedvoid doGet(HttpServletRequest req , HttpServletResponse response ) throws ServletException, IOException {

String data =

"sdgfasgfasdfgasdgasdjklfadshklfasdkfhadsjkfhasdhkfjadshfjkasdhfaskdjfhaskdjfha dsfjkhadkhadshfkaskdhlfaskldfhadshkfhadsklfhladshlfashdlf" ;

}

// 文件下載

protectedvoid demo4(HttpServletRequest request ,

9

byte [] b1 = data .getBytes(); // 原始數(shù)組 System. out .println(b1. length ); ByteArrayOutputStream out = new ByteArrayOutputStream(); // 字節(jié)數(shù)組 GZIPOutputStream gzipOutputStream = new GZIPOutputStream(out ); gzipOutputStream .write(b1); byte [] b2 = out .toByteArray(); // 壓縮后數(shù)組 System. out .println(b2. length );

,

HttpServletResponse response ) throws ServletException, IOException { response

.setHeader("Content-Disposition" , "attachment;

filename=mm.jpg");

}

// 防盜鏈程序

protectedvoid demo3(HttpServletRequest request ,

}

// 5秒后跳轉(zhuǎn)到登陸頁(yè)面

protectedvoid demo2(HttpServletRequest req , HttpServletResponse response )

}

10

File file = new File(getServletContext().getRealPath("/mm.jpg")); InputStream in = new FileInputStream(file ); OutputStream out = response .getOutputStream(); int temp ; while ((temp = in .read()) != -1) { } out .close(); in .close(); out .write(temp ); HttpServletResponse response ) throws ServletException, IOException { // 獲得 String referer = request .getHeader("referer" ); if (referer == null || !referer .startsWith("http://localhost/day4")) { System. out .println(" 盜鏈" ); } else { } System. out .println(" 不是盜鏈" ); throws ServletException, IOException { response .setHeader("Refresh" , "5;url=login.html");

標(biāo)簽: