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