日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

tomcat虚拟目录和虚拟主机等相关配置

發布時間:2024/9/27 编程问答 39 豆豆
生活随笔 收集整理的這篇文章主要介紹了 tomcat虚拟目录和虚拟主机等相关配置 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一、 WEB 服務器

1. 什么是WEB 服務器?

?????? 就是一臺電腦,安裝了一個服務器軟件

2. 為什么需要安裝 WEB 服務器

??? 思考問題: 從一臺計算機的 IE 瀏覽器如何去訪問另一臺計算機中的文件

?2.1? 兩臺計算機是如何實現通訊的?

?????? IP地址(計算機的唯一標識)

IPV4 4個字節的整數,每個字節以 點號 隔開127.1.12.222? 每個字節的取值 0~255

IPV6 16字節

回路ip地址? 127.0.0.1?

在計算機中程序會綁定在某一個端口? 0~65535?盡量用 1024 以上的

連接一臺計算機就需要輸入 ip 地址和端口號

作為接收方, 應該綁定ip,監聽指定的端口

2.2??在本地寫程序添加一個服務,供別人來訪問, 假設監聽 8888 端口

2.3??編碼實現了一個本地服務器程序

?????? 作用: 管理本地的資源,只要將html頁面放到指定的目錄下,外界就可以訪問了

2.4??安裝服務器的目的: 開發好的web資源可以發布到服務器上,這樣外界就可以通過瀏覽器訪問了

?

源程序: MyServer.java

//ServerSocket 對象可以監聽端口

ServerSocketserversocket = new ServerSocket(6666);

while(true){

??? Socket socket = serversocket.accept(); // 等待客戶端的連接請求,一旦有請求過來,就結束阻塞,返回客戶端對象

???

??? // 一旦有客戶來訪問,就另開一個新線程去提供服務, main線程繼續等待下一個客戶的連接

??? new Thread(new MyService(socket)).start();

?

}

MyService.java

// 提供服務

InputStreamin = socket.getInputStream();

Thread.sleep(200);

int len =in.available(); // 估計此流不受阻塞能讀取的字節數

byte[]buffer = new byte[len];

in.read(buffer);

Stringrequest = new String(buffer);

// 截取第一行

StringfirstLine = request.substring(0, request.indexOf("\n"));

StringuriName = firstLine.split(" ")[1];

OutputStreamout = socket.getOutputStream();

// 根據需要訪問的資源創建 File 對象

File file= new File("src" + uriName);

if(!file.exists()){

??? out.write("對不起!您訪問的資源不存在!別瞎搞!!".getBytes());

??? out.close();

??? return ;

}

// 從文件讀, 往瀏覽器寫

FileInputStreamfis = new FileInputStream(file);

?

buffer =new byte[1024];

while((len = fis.read(buffer)) > 0) {

??? out.write(buffer, 0, len);

}

socket.close();

?

二、Tomcat 服務器的安裝和配置

1. 使用 tomcat6.0.20.rar 文件解壓即完成安裝

2. tomcat 就是一個java程序,一定會用到 jre

??? 所以需要配置環境變量 java_home 配置成jdk的安裝目錄 c:\jdk1.6

??? tomcat的啟動是通過 startup.bat 文件, 實際上startup.bat 中是去調用

??? catalina.bat文件, 而且是通過 %catalina_home%\bin\catalina.bat 去找

??? 所以為了保證服務器啟動正常, 需要配置catalina_home 環境變量為 tomcat的安裝目錄

3. tomcat 的目錄結構

?bin : 存放一些執行文件

?conf: 存放服務器的配置文件

?lib : 存放tomcat 所依賴的 jar 文件

?logs: 存放日志文件

?temp:? 存放臨時文件

?webapps: web applications 存放所有的web應用程序(web資源)

?work: tomcat 的工作目錄, jsp翻譯成的Servlet就在這個目錄下

4. web應用

??? 多個web資源存放在一個目錄下即為一個web應用(web應用程序、web工程)

? ? web 應用的目錄結構

??? 靜態web資源直接放在目錄下

??? java類放在classes目錄下

??? web.xml文件負責管理web應用下所有的web資源

??? 所有jar包放在lib目錄下

?

三、 WEB 應用的映射

1. 虛擬目錄

??? 一個web應用(服務器上一個目錄) 需要供外界訪問的路徑,需要映射虛擬目錄

??? 在 tomcat6 中,放在webapps下的web應用,服務器會自動做映射(將文件夾名稱作為虛擬路徑)

??? 對于 webapps 目錄外的web應用需要手動映射虛擬路徑

1.1. 在 server.xml 文件可以配置

??? <host>

?????? <Contextpath=”/itcast” docBase=”f:\itcast” />

??? </host>

?

1.2. 在 %tomcat目錄%\conf\catalina\localhost 下寫一個 xml文件

??? 文件名就是 虛擬目錄

???<Context docBase=”f:\itcast” />

??? 多級目錄配置?aaa#bbb.xml 對應/aaa/bbb

??? 如果文件名 是ROOT.xml 那就是配置了缺省的web應用, 訪問時不需要輸入 虛擬目錄

?

2. web.xml

管理 web 應用下所有的web資源

包括咱們后面學的Servlet jsp都需要在這個文件中做映射

實驗: 配置web應用的 首頁

在 web 應用下新建目錄 WEB-INF ,在此目錄下 新建web.xml 文件

<?xmlversion="1.0" encoding="ISO-8859-1"?>

?

<web-appxmlns="http://java.sun.com/xml/ns/javaee"

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

??? xsi:schemaLocation="http://java.sun.com/xml/ns/javaeehttp://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"

??? version="2.5">

?

??? <welcome-file-list>

???????<welcome-file>itcast.html</welcome-file>

??? </welcome-file-list>

?

</web-app>

?

?

3. 域名解析

一個完整 url

http:\\www.sina.com:80\index.jsp

協議名?? 主機名???????? 端口號?資源名

IE 訪問服務器的原理,

?在IE中輸入的地址中包含域名,域名就需要被翻譯成服務器的IP,才能訪問到服務器

C:\WINDOWS\system32\drivers\etc\hosts

?

4. web應用映射的練習:

新建一個 web 應用

配置成缺省的web應用

配置首頁

配置tomcat監聽端口為80

在 windows 中注冊主機名

C:\WINDOWS\system32\drivers\etc\hosts

?

在c盤下建一個文件夾 baidu 寫一個頁面 index.html

在 ie 輸入?http://www.baidu.com? 可以訪問該頁面

?

5. 虛擬主機

服務器允許在一個IP上配置多個主機,即虛擬主機

http://www.sina.com:80/index.html

中的 www.sina.com 起了兩個作用:

找DNS服務器,作為域名被解析為IP

通過Host頭告訴服務器訪問的主機名

?

配置方式: 在 server.xml 文件中配置Host元素, 需要指定主機名、appBase(默認web應用存放目錄)

appBase目錄下所有的web應用,tomcat會自動映射虛擬路徑

<Host name="www.sohu.com"? appBase="F:\sohu\webapps" />

?

做實驗: 給新配置的虛擬主機配置缺省的web應用

<Host name="www.sohu.com"? appBase="F:\sohu\webapps" >

??? <Contextpath="" docBase="F:\sohu\webapps\abc" />

</Host>

http://www.sohu.com/abc/a.html

訪問一個 a.html 靜態web資源, IE 做了什么事

1) 將www.sohu.com 作為域名發送給DNS , 解析成 IP 地址, 訪問一臺服務器

2) 發送 Host 頭(www.sohu.com),告訴服務器我要訪問的虛擬主機 ,服務器拿著Host頭找匹配的Host元素

3) 將abc作為虛擬目錄,告訴服務器我要訪問的web應用 ,服務器拿著 abc 找匹配的web應用

4) 將 a.html 作為資源名, 告訴服務器我要訪問的 web 資源, 服務器拿著 a.html 去web.xml文件中找映射

虛擬目錄對應是一個web應用的目錄,所以虛擬目錄也被我們稱作web應用路徑(web應用的上下文contextpath)

?

?

總結

以上是生活随笔為你收集整理的tomcat虚拟目录和虚拟主机等相关配置的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。