Tomcat01
1.WEB開發介紹
- WEB,在英文中WEB表示網/網路資源,它用于表示WEB服務器(主機)供瀏覽器訪問的資源
- WEB服務器(主機)上供外界訪問的Web資源為:
- 靜態web資源(如html頁面):指web頁面中供人們瀏覽的資料始終是不變的
- 動態web資源,比如Servlet、PHP等
- 靜態web資源開發技術:HTML,CSS,JS等
- 常用動態web資源開發技術:Servlet,SpringBoot,SpringMVC,PHP,ASP.NET等

BS開發和CS開發:
1.1BS開發
B:browser(瀏覽器)
S:Server(服務端)
對BS的解讀:
-
兼容性:
因為瀏覽器的種類很多,撰寫的程式可能在一個瀏覽器上面是正常的,在另一個瀏覽器上面就會出現問題
-
安全性:
通常情況下,BS的安全性不如CS好控制
-
易用性:BS好于CS,瀏覽器電腦有
-
擴展性:BS相對統一,只需要寫Server端
1.2CS開發
C:Client(客戶端)
S:Server(服務端)
2.JavaWeb服務軟體
2.1JavaWeb服務器軟體介紹
學習JavaWeb開發,需要先安裝JavaWeb服務器軟體(我們把安裝了JavaWeb服務軟體的主機稱為Web服務器/JavaWeb服務器),在web服務器中開發相應的web資源
思考:學習JavaWeb開發,為什么必須要先安裝WEB服務軟體?
答:需要安裝,理解Tomcat本質就是一個java程式,只是這個程式可以處理來自瀏覽器的HTTP請求,和 Javase基礎的網路服務是一樣的
使用netstat -anb指令打開運行埠,可以看到tomcat的監聽埠的監控程式是java.exe,這說明Tomcat本質就是一個java程式,它并沒有脫離底層的jdk,在啟動java程式的時候啟動了jre的運行環境,所以它在后臺顯示的監控程式是java.exe,并不是想象中的Tomcat.exe.
2.2手寫簡單的Web服務程式
Java基礎-IO/網路編程
hello.html:
Helloooooo! I am a web server!
MyTomcat.java:
package tomcat_demo;
import java.io.*;
import java.net.ServerSocket;
import java.net.Socket;
/**
* @author 李
* @version 1.0
* 這是我們自己寫的一個web服務,可以回傳hello.html給瀏覽器
*/
public class MyTomcat {
public static void main(String[] args) throws IOException {
//1.在9999埠監聽
ServerSocket serverSocket = new ServerSocket(9999);
//如果serverSocket沒有關閉,就等待連接,不停地等待
while (!serverSocket.isClosed()) {
System.out.println("======我的Web服務在9999埠監聽======");
//2.等待瀏覽器/客戶端來連接,得到socket
// 該socket用于通信
Socket socket = serverSocket.accept();
//3.通過socket得到輸出流
OutputStream outputStream = socket.getOutputStream();
// 回傳給瀏覽器/客戶端
//4.讀取hello.html檔案回傳即可==>如何讀取檔案內容
// 得到檔案字符輸入流,和檔案關聯
BufferedReader bufferedReader =
new BufferedReader(new FileReader("src/tomcat_demo/hello.html"));
String buf = "";
//回圈讀取hello.html
while ((buf = bufferedReader.readLine()) != null) {
outputStream.write(buf.getBytes());//如果想展示中文字符,可以使用字符流
}
//4.關閉流
bufferedReader.close();
outputStream.close();
socket.close();
}
serverSocket.close();
}
}
http://localhost:9999/表示瀏覽器向localhost(127.0.0.1即本機)的9999埠發出請求
上述的整個程序是:服務器MyTomcat在localhost主機的9999埠監聽,瀏覽器向localhost的9999埠發送請求,服務器監聽到請求后將hello.html檔案的內容讀取到記憶體中,然后通過socket將資料打入資料通道中,瀏覽器就拿到了資料,并將其展示在頁面上
2.3常用的JavaWeb服務軟體
-
Tomcat:由Apache組織提供的一種Web服務器,提供對jsp和Servlet的支持,它是一種輕量級的javaWeb容器(服務器),也是當前應用最廣的JavaWeb服務器(免費)
-
Jboss:是一個遵從JavaEE規范的應用服務器,同時也是免費的
-
GlassFish:由Oracle公司開發的一款JavaWeb服務器,是一款商業服務器,達到產品級質量(應用很少)
-
Resin:是CAUCHO公司的產品,是一個非常流行的服務器,對Servlet和jsp提供了良好的支持,性能也比較優良(收費)
-
WebLogic:是Oracle公司的產品,支持JavaEE 規范,而且不斷地完善以適應新的開發需求,適合大型專案(收費,用得不多,適合大公司)
下面主要理解Tomcat服務器
3.Tomcat

Tomcat官方檔案:https://tomcat.apache.org/download-80.cgi
3.1Tomcat下載和安裝
-
Tomcat官方站點:https://tomcat.apache.org
-
獲取Tomcat安裝程式包
- tar.gz是Linux作業系統下的安裝版本
- zip是Windows系統下的壓縮版本
-
使用zip包安裝Tomcat:找到需要用的Tomcat版本對應的zip壓縮包,解壓到需要安裝的目錄即可
-
在官網https://tomcat.apache.org/whichversion.html,可以看到Tomcat仍然是支持JSP和EL的

3.2Tomcat啟動
-
雙擊bin目錄下的startup.bat檔案
-
輸入http://localhost:8080/,顯示如下界面代表安裝成功,默認在8080埠
-
注意不要關閉黑視窗,關閉了,tomcat服務就停止了
在開發中查看哪些埠在監聽,可以使用命令:netstat -an
3.3Tomcat啟動故障排除
-
雙擊startup.bat檔案,如果出現一個小黑視窗然后就沒了,原因是沒有配置好JAVA_HOME環境變數
Tomcat本質是一個Java程式,所以要jdk,會去根據Java_HOME使用指定的jdk
-
JAVA_HOME必須全大寫
-
JAVA_HOME中間必須是下劃線
-
JAVA_HOME配置的路徑只需要配置到jdk的安裝目錄即可,不需要帶上bin目錄
-
-
埠8080被占用了[查看埠:netstat -anb]
- 如果其他服務程式占用了8080埠,可以關閉該服務,或者修改Tomcat服務的默認埠8080
3.4Tomcat目錄結構
-
conf目錄中的server.xml檔案用于配置tomcat的基本設定(啟動埠,關閉埠,主機名)
-
conf目錄中的web.xml檔案用于指定tomcat運行時配置(比如Servlet等)
-
webapps目錄是存放web應用的,也就是網站
3.5catalina啟動Tomcat
在cmd中切換到Tomcat的bin目錄,輸入catalina run,回車,即可啟動tomcat服務
3.6關閉Tomcat
-
點擊tomcat服務器視窗,直接點擊關閉按鈕
-
進入Tomcat的bin目錄下的shutdown.bat雙擊,就可以停止Tomcat服務器(推薦)

在默認情況下,tomcat服務器在8080埠等待瀏覽器發送請求;此外還有一個監聽埠8009,8009埠可以接收關閉指令shutdown,8009埠監聽到關閉指令之后就會按照正常流程去關閉tomcat服務器,這種關閉方式可以正常地被寫入日志中,

3.7Tomcat服務中部署web應用
-
什么是web應用
- WEB應用是多個web資源的集合,簡單地說,可以把web應用理解為硬碟上的一個目錄,這個目錄用于管理多個web資源
- Web應用通常也稱之為web應用程式,或web工程,通俗地說就是網站
-
WEB應用組成
一個web應用由多個web資源或其他檔案組成,包括html檔案,css檔案,js檔案,動態web頁面,java程式,支持jar包,組態檔等,
開發人員在開發web應用時,要按照規定目錄結構存放這些檔案,否則,在把web應用交給web服務器管理時,不僅可能會使web應用無法訪問,還會導致web服務器啟動報錯,
-
JavaWeb程式/應用/工程目錄結構
-
部署方式1:將web工程的目錄拷貝到Tomcat的webapps目錄下
- news Web工程(目前都是靜態html,圖片)(news為工程名)
- 將該news目錄拷貝到Tomcat的webapps目錄下
- 瀏覽器輸入:
http://ip[域名]:port/news/子目錄.../檔案名

-
部署方式2:通過組態檔來部署(用得不多)
-
在Tomcat下的conf目錄/Catalina/locathost/下,組態檔,比如hsp.xml
(即,tomcat通過配置,可以把一個web應用映射到指定的目錄,可以解決磁盤空間分配的問題)
-
訪問web工程:
http://ip[域名]:port/hsp/index.html,就表示訪問D:\album目錄下的index.html
-
-
ROOT工程的訪問
- 在瀏覽器地址欄中輸入的訪問地址如下:
http://ip[域名]:port,沒有Web工程/應用名時,默認訪問的就是ROOT工程 - 在瀏覽器地址欄中輸入的訪問地址如下:
http://ip[域名]:port/工程名,沒有資源名,默認訪問的就是index.jsp頁面
- 在瀏覽器地址欄中輸入的訪問地址如下:
localhost:8080/test/test.html
其中locathost:8080是你要訪問的服務器,test是要訪問的網站(web應用),test.html是該網站的資源
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/527778.html
標籤:Java
上一篇:1.2 基礎變數宣告
下一篇:常用類.String類
