---
# System prepended metadata

title: 單元1 Web Application 概觀 與 開發環境建置
tags: [Servlet]

---

# 單元1 Web Application 概觀 與 開發環境建置


## Module 1 簡單一句話
### Request & Response
Client端發出Request請求至Server，Server回應Response至Client
## Module 2 JSP與Servlet的關係
過去共同閘道介面，會一個請求產生一個preocess，造成伺服器資源消耗巨大
Servlet則會利用執行序在JVM環境中進行處裡，效能整體使用上更加強大
不是重點，簡單講就是先學Servlet然後JSP
JSP偏前端，Servlet偏後端
## Module 3 Severlet Container & java Servlet
### Servlet Container 主要用來執行Java Servlet，可分三種:
1.獨立式(上線)
    自身內建servlet支援機制的伺服器
    Tomcat為最受歡迎的Servlet Container之一(獨立貓)
2.附加式(X)
    為不支援servlet的伺服器，提供serlvet支援
    只有container，無web server，因此非常難用，給個X
3.可嵌入式(開發時期)
    可被嵌入另一個應用程式，讓該程式成為真正的伺服器
    可嵌入Tomcat的Eclipse為最受歡迎的選項之一
### Tomcat7.0(Servlet3.0)及9.0(4.0)為兩次的大變動
Tomcat7.0對應Servlet3.0；Tomcat9.0對應Servlet4.0
#### Servlet 3.0
**支援@annotation註解**，簡化web.xml，用法詳見p.361~365
支援可插拔
支援非同步處裡
**支援檔案上傳** P.115~117

IBM_Servlet3可觀察1~3項目

補充 如要將某專案轉成想要的war檔，可至該專案底下開啟cmd，輸入"jav cvf XXX.war *"
即可獲得該專案的war檔 P.70
c:建立壓縮檔 v:標準輸出中產生詳細輸出 f:指定檔名 *:壓縮目錄中所有檔案

#### Servlet 4.0
還沒上到 待更新

# Module 4、5環境建置
沒有內容 跳過

# Module 6 Java Servlet的優勢
可移植性:
    不受限伺服器或作業系統
多執行緒環境與永續性:
    不同於CGI，只要Servlet被載入一次，**其object instance即永久保存於伺服器的記憶體中**，可隨時以執行緒處理方式接受下一個請求
   **能自動維護自己的狀態，並持續保有外部資源**
整合性:
    與伺服器高度整合，利用伺服器轉譯檔案路徑...等
安全性:
    承襲java的strong type safety,還可用security manager、access contriller保護
    
###### tags: `Servlet`