web相關概念回顧
1. 軟件架構
- C/S:客戶端/服務器端
- B/S:瀏覽器/服務器端
2. 資源分類
- 靜態資源:所有用戶訪問後,得到的結果都是一樣的,稱爲靜態資源.靜態資源可以直接被瀏覽器解析
- 如: html,css,JavaScript
- 動態資源:每個用戶訪問相同資源後,得到的結果可能不一樣。稱爲動態資源。動態資源被訪問後,需要先轉換爲靜態資源,在返回給瀏覽器
- 如:servlet/jsp,php,asp…
- 網絡通信三要素
- IP:電子設備(計算機)在網絡中的唯一標識。
- 端口:應用程序在計算機中的唯一標識。 0~65536(不要在1024以內,以防操作系統佔用)
- 傳輸協議:規定了數據傳輸的規則
基礎協議:
1. tcp:安全協議,三次握手。 速度稍慢
2. udp:不安全協議。 速度快
web服務器軟件:
- 服務器:安裝了服務器軟件的計算機
- 服務器軟件:接收用戶的請求,處理請求,做出響應
- web服務器軟件:接收用戶的請求,處理請求,做出響應。
- 在web服務器軟件中,可以部署web項目,讓用戶通過瀏覽器來訪問這些項目
- web容器
常見的java相關的web服務器軟件:
- webLogic:oracle公司,大型的JavaEE服務器,支持所有的JavaEE規範,收費的。
- webSphere:IBM公司,大型的JavaEE服務器,支持所有的JavaEE規範,收費的。
- JBOSS:JBOSS公司的,大型的JavaEE服務器,支持所有的JavaEE規範,收費的。
- Tomcat:Apache基金組織,中小型的JavaEE服務器,僅僅支持少量的JavaEE規範servlet/jsp。開源的,免費的。
JavaEE:Java語言在企業級開發中使用的技術規範的總和,一共規定了13項大的規範
Tomcat:web服務器軟件
- 下載:http://tomcat.apache.org/
- 安裝:解壓壓縮包即可。
- 注意:安裝目錄建議不要有中文和空格
- 卸載:刪除目錄就行了
- 啓動:
- bin/startup.bat ,雙擊運行該文件即可
- 訪問:瀏覽器輸入:http://localhost:8080 回車訪問自己
http://別人的ip:8080 訪問別人- 可能遇到的問題:
- 黑窗口一閃而過:
a. 原因: 沒有正確配置JAVA_HOME環境變量
b. 解決方案:正確配置JAVA_HOME環境變量- 啓動報錯:
a. 暴力:找到佔用的端口號,並且找到對應的進程,殺死該進程
netstat -ano
b. 溫柔:修改自身的端口號
- conf/server.xml
- <Connector port=“8888” protocol=“HTTP/1.1”
connectionTimeout=“20000”
redirectPort=“8445” />- 一般會將tomcat的默認端口號修改爲80。80端口號是http協議的默認端口號。
好處:在訪問時,就不用輸入端口號
- 關閉:
- 正常關閉:
- bin/shutdown.bat
- ctrl+c
- 強制關閉:
- 點擊啓動窗口的×
- 配置:
部署項目的方式:
- 直接將項目放到webapps目錄下即可。
a. /hello:項目的訪問路徑–>虛擬目錄
b. 簡化部署:將項目打成一個war包,再將war包放置到webapps目錄下。
c. war包會自動解壓縮- 配置conf/server.xml文件
a. 在標籤體中配置
b. <Context docBase=“D:\hello” path="/hehe" />
- docBase:項目存放的路徑
- path:虛擬目錄
- 在conf\Catalina\localhost創建任意名稱的xml文件。在文件中編寫(推薦)
a. <Context docBase=“D:\hello” />
b. 虛擬目錄:xml文件的名稱
靜態項目和動態項目:
- 目錄結構
- java動態項目的目錄結構:
項目的根目錄
– WEB-INF目錄:
– web.xml:web項目的核心配置文件
– classes目錄:放置字節碼文件的目錄
– lib目錄:放置依賴的jar包- 將Tomcat集成到IDEA中,並且創建JavaEE的項目,部署項目。
Tomcat目錄:
IDEA與tomcat的相關配置
- IDEA會爲每一個tomcat部署的項目單獨建立一份配置文件
- 查看控制檯的log:Using CATALINA_BASE: “C:\Users\正好.IntelliJIdea2019.1\system\tomcat_Xzzz2020”
- 工作空間項目 和 tomcat部署的web項目
- tomcat真正訪問的是“tomcat部署的web項目”,“tomcat部署的web項目"對應着"工作空間項目” 的web目錄下的所有資源
- WEB-INF目錄下的資源不能被瀏覽器直接訪問。
- 斷點調試:使用"小蟲子"啓動 dubug 啓動