今天先來簡單整理一下深入淺出Servlet & JSP的前面1~3張的內容
從HTTP到後面的servlet,JSP的簡單介紹
以及對應昨天所練習的例子
先從HTTP談起
HTTP = HyperText Transfer P Protocal(超文字傳輸協定)
執行在TCP/IP上
TCP = 負責每個節點間傳送完整的檔案
IP = 傳送封包的底層協定
傳送流程:
client > HTTP request >server >HTTP response > client
Post & Get
這兩種都是傳送請求的方法
也是在一些面試有時候會考的基本題目
Post優於Get的原因為:
基於上述的部分
一般若和資料有關係的傳送(即修改刪除),基本上都會是用Post
GET只會在處理頁面的載入,即檢視的部分
為什麼需要servlet?
由於web需要能夠即時的處理動態網頁,以及需要作和資料庫的連結
Servlet就如同一個輔助程式,將web傳送進來的請求再做處理,去跟server做溝通再一層一層的丟回client
Servlet的優點
servlet的執行效率較好,每個reques經由同一個servlet由多個執行緒處理,對JVM來說servlet只需載入一次
servlet 屬於J2EE的架構,能夠直接在web container使用
Container
因為servlet本身沒有main()的方法
需要利用一個叫做container的應用程式去執行處理它
Container接受了web application傳送進來的request,再去呼叫servlet
於是剛剛的流程變成:
client --> web application(Apache) --> web container(Tomcat) --> servlet --> DB(處理資料邏輯)
溝通支援
提供簡單的機制,處理servlet和web server之間的運作(ServerSocket,通訊協定)
生命週期管理
控制servlet的生命週期,包含init()初始化到最後的Garbage Collection(垃圾回收機制)
多執行緒支援
每一個servlet就會執行java的執行緒(thread),而container也負責建立及管理多的執行緒的問題,以解決synchronization(同步)的狀況
宣告式的權限管理
透過XML設定檔,來管理或改變權限機制
支援JSP頁面
將JSP轉換成java的程式碼
今天先簡單整理從HTTP到container的部分
明日會再繼續servlet和JSP的部分