柚子快報邀請碼778899分享:Tomcat筆記+源碼
柚子快報邀請碼778899分享:Tomcat筆記+源碼
Tomcat
1、BS開發(fā)
B:Browser(瀏覽器,種類太多 IE,chrome,edge等)
S:Server(服務端,要考慮很多)
解讀
兼容性:因為瀏覽器種類很多,發(fā)現(xiàn)你寫的程序在某個瀏覽器會出現(xiàn)問題,其他瀏覽器正常安全性:通常情況下,BS的安全性不如CS好控制易用性,BS好于CS,因為瀏覽器每個電腦都有擴展性,BS相對統(tǒng)一,只需要寫好Server
2、CS開發(fā)
C:Client(客戶端)
S:Server(服務端)
3、JavaWeb服務軟件
(1)介紹
(2)手寫簡單的Web服務程序
創(chuàng)建一個hello.html文件:
hello, i am a web server
創(chuàng)建一個MyTomcat.java:
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
import java.io.OutputStream;
import java.net.ServerSocket;
import java.net.Socket;
/**
* @author D
* @version 1.0
* @project Tomcat
* @description 這是我們自己寫的一個web服務,可以返回hello.html給瀏覽器
* @date 2024/6/6 19:56:50
*/
public class MyTomcat {
public static void main(String[] args) throws IOException {
//1、在9999端口監(jiān)聽
ServerSocket serverSocket = new ServerSocket(9999);
while (!serverSocket.isClosed()) {
System.out.println("=====我的web服務在9999號端口監(jiān)聽");
//2、等待瀏覽器/客戶端連接,得到socket
//該socket用于通信
Socket socket = serverSocket.accept();
//3、通過socket得到輸出流
OutputStream outputStream = socket.getOutputStream();
//返回給瀏覽器/客戶端
//4、讀取hello.html文件返回即可
//得到文件輸入流(字符輸入流)和src\\hello.html
BufferedReader bufferedReader = new BufferedReader(new FileReader("src\\hello.html"));
String buf="";
//循環(huán)讀取
while((buf=bufferedReader.readLine())!=null){
//這里根據(jù)瀏覽器不同,有的需要http頭才能顯示出來,有的則不需要。根據(jù)瀏覽器自行添加。
String header = "HTTP/1.1 200 OK \n" +
"Content-Type: text/plain; charset=UTF-8 \n" +
"Content-Length: " + buf.length() + " \n" +
"Server: MyCustomServer/1.0 \n" +
"Date: Wed, 21 Oct 2023 07:28:00 GMT \n\n";
outputStream.write((header + buf).getBytes());
}
//關閉資源
outputStream.close();
socket.close();
}
serverSocket.close();
}
}
進行測試在瀏覽器輸入http://localhost:9999
(3)常用的JavaWeb服務軟件
Tomcat 應用最廣(免費)Jboss (免費)GlassFishResinWebLogic[很猛,大廠使用] (免費)
(4)Tomcat
1、Tomcat的下載和安裝
Tomcat 官方站點:http://tomcat.apache.org/
下載對應版本解壓到安裝目錄即可,這里我會將自己下載的資源分享給大家。
2、Tomcat啟動
雙擊bin目錄下的startup.bat文件輸入http://localhost:8080,顯示如下界面代表安裝成功,默認在8080端口注意,啟動了startup.bat文件就不要關閉窗口,關閉了Tomcat服務就停止了。
小技巧:在開發(fā)中,我們可以使用netstat -anb(管理員權限)查看哪些端口在監(jiān)聽
3、Tomcat啟動出現(xiàn)故障原因
沒有配置好JAVA_HOME環(huán)境變量?。。。。?!
4、Tomcat目錄結(jié)構(gòu)
server.xml 用于配置tomcat的基本設置(啟動端口,關閉端口,主機名)wex.xml 用于指定tomcat運行時配置(比如servlet等…)webapps 目錄是存放web應用,就是網(wǎng)站
5、catalina啟動tomcat
進入到tomcat的bin目錄下
執(zhí)行命令:catalina run
6、停止tomcat
點擊tomcat服務器窗口,直接點擊關閉按鈕進入tomcat的bin目錄下的shutdown.bat雙擊,就可以停止tomcat服務器(推薦)
7、修改tomcat服務端口
在tomcat目錄下的conf目錄,修改server.xml配置文件
默認端口8080,端口號范圍1-65535,建議修改端口號>1024,最好在10000以上。修改后,重啟tomcat生效
8、tomcat服務中部署WEB應用
JavaWEB程序/應用/工程目錄結(jié)構(gòu)
部署方式一:將web工程的目錄拷貝到tomcat的webapps目錄下
news Web工程(目前都是靜態(tài)資源html,圖片)將該news目錄/文件夾 拷貝到tomcat的webapps目錄下瀏覽器輸入:http://ip[域名]:port/news/子目錄…/文件名
部署方式二:通過配置文件來部署
在tomcat下的conf目錄\Catalina\localhost\下,配置文件,比如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頁面
9、瀏覽器訪問web服務過程詳解
步驟:
瀏覽器先解析出主機名(例如www.Ghost-D.com)瀏覽器到本機的Host文件去查詢主機名對應的IP(Host文件在C:\Windows\System32\drivers\etc目錄下);如果沒有在Host文件下找到域名的IP,就到外網(wǎng)的DNS查找,如果在DNS,也找不到,就會提示額,找不到網(wǎng)頁。瀏覽器通過查詢到的IP,向tomcat發(fā)出http請求tomcat解析出web應用tomcat解析出資源test.htmltomcat獲取test.htmltomcat將獲取到的結(jié)果以http響應方式返回瀏覽器將解析返回的結(jié)果并顯示
我會把流程圖資源上傳進去
4、IDEA開發(fā)JavaWeb工程
步驟:
1、先創(chuàng)建一個java項目
2、創(chuàng)建完成后右擊項目選擇添加框架支持,如果沒有就點擊搜索
3、選擇Web應用程序
將fish文件復制到web目錄下
4、點擊右上角的編輯配置
點擊下圖選中的
點擊部署,添加工件
點擊服務器,按下圖配置,點擊應用并確定
運行tomcat,可以發(fā)現(xiàn)運行成功了。
輸入以下網(wǎng)址查看剛剛添加的fish文件
[鯨魚] (http://localhost:8080/fishWeb/fish/index.html)
注意事項和細節(jié):
1、熱加載選項說明
執(zhí)行"更新"操作(on update action):表示當我們更新操作時,Tomcat會自動更新類和資源(當jsp/html文件修改時,可以生效,但是如果你修改的是java文件,需要重新部署(Redepoly)才會生效)切換出IDE時(on frame deactivation ):表示IDEA數(shù)去焦點(比如最小化),也會導致jsp/html發(fā)生更新,但是java修改了還是需要重新部署(Redepoly)才會生效。
2、端口修改
這里修改的端口,指揮影響到當前的項目,而不是去修改server.xml
4、out目錄是什么
當Tomcat啟動時,會生成out目錄,該目錄就是原項目的映射,我們?yōu)g覽器訪問的資源是out目錄
5、當我們從外部拷貝資源到項目(圖片,文件,js,css等),如果出現(xiàn)404不能訪問錯誤,解決方式rebuild project->重啟Tomcat
課后練習:
柚子快報邀請碼778899分享:Tomcat筆記+源碼
文章來源
本文內(nèi)容根據(jù)網(wǎng)絡資料整理,出于傳遞更多信息之目的,不代表金鑰匙跨境贊同其觀點和立場。
轉(zhuǎn)載請注明,如有侵權,聯(lián)系刪除。