整理 Java Web 開發基石知識點,作為快速查閱備忘。
| 層級 | 名稱 | 核心協議/功能 |
|---|---|---|
| 4 | 應用層 | HTTP、FTP、SMTP、DNS |
| 3 | 傳輸層 | TCP (可靠連接)、UDP (無連接) |
| 2 | 網絡層 | IP、ICMP、ARP、路由選擇 |
| 1 | 網絡接口層 | 以太網、Wi-Fi、幀封裝/解封裝 |
請求行 : GET /index.html HTTP/1.1
消息報頭 : Host: www.example.com
: User-Agent: Mozilla/5.0
: Accept: text/html
: (空行)
請求正文 : username=admin&password=123 (POST 專用)
常用方法:GET (查詢)、POST (提交)、PUT (更新)、DELETE (刪除)。
狀態行 : HTTP/1.1 200 OK
消息報頭 : Content-Type: text/html; charset=UTF-8
: Content-Length: 1024
: (空行)
響應正文 : <html>...</html>
| 特性 | 靜態 Web | 動態 Web |
|---|---|---|
| 內容生成 | 預先寫好 HTML | 服務器動態生成 (JSP/Servlet/模板引擎) |
| 數據庫操作 | 無法直接操作 | 可直接增刪改查 |
| 交互性 | 無 | 強 (根據請求返回不同結果) |
| 典型技術 | HTML/CSS/JS | Servlet、JSP、Spring MVC、Thymeleaf |
init(ServletConfig) (僅一次)。service(req, resp),分發至 doGet/doPost 等。destroy() (僅一次)。特殊情況:長期未訪問可能被容器卸載,再次訪問觸發重新初始化。
容器按優先級查找:
<url-pattern>/user/login</url-pattern><url-pattern>/user/*</url-pattern> (最長路徑優先)<url-pattern>*.do</url-pattern><url-pattern>/</url-pattern> (處理靜態資源)CGI 缺陷對比:每請求啟動一進程,資源消耗大、不支援高併發;Servlet 容器線程池模型完美解決。