Servlet GET POST請求區別
Servlet 介面,定義一些處理請求的方法。返回給客戶端動態資源。我們使用都是建立一個繼承於HTTPServlet類(實現了Servlet介面)的子類。處理doGet,doPost方法。 MyServlet–》HttpServlet–>GenericServlet
Servlet 的生命週期
1 何時建立? 第一次請求時載入,並建立物件 2 何時消亡? destroy方法呼叫時,即伺服器關閉時
1 Init()方法 初始化方法 2 service()方法 處理請求方式,對於客戶端過來的請求無論是什麼方式的請求,都會攔截,如果存在doGet,則不會呼叫。 其實service方法只在HttpSerlvet類都已經確定好,而我們建立的servlet類都是HttpSerlvet子類,那麼我們無需再重寫此方法。 3 destroy()方法 serlvet物件生命消亡的方法,在關閉伺服器時呼叫。
Servlet3.0,使用註解的方式來表徵servlet的一些資料。 如果是Servlet3之前,那麼對於比如url mapping等資料需要展示在web.xml中。
Servlet3.0的方式(目前的方式): 建立servlet類時,會存在以下程式碼: @WebServlet( urlPatterns = { “/MyServlet”,
},
initParams = {
@WebInitParam(name = "username", value = "666")
})
Servlet3.0之前的方式:
1有關建立。老版本的servlet的建立依託於web.xml,其中配置servlet時,何時建立由
1
當然預設值是0,
如果load-on-startup的值是>=0的數,代表伺服器啟動時就會載入serlvet。如果值>0,值越小,載入的優先順序越高。0最後載入代表最大整數。
如果是負數,代表第一次請求時載入。
Serlvet的特點:
1 servlet就是一個java類,繼承於HttpServlet
2 使用response物件對客戶端做響應資料的返回,通過getWriter()方法
3 處理客戶端向伺服器傳送的請求體
3.1以GET請求為例,請求體直接拼接在URL的?後,多個引數間用&隔開。
Serlvet 對映 URL mappings 1 一個servlet對應多個URL 2 匹配? 2.1 精準匹配 /Servlet 2.2 模糊匹配 /* 2.3 字尾名匹配 .do 優先順序2.1>2.2>2.3 /a/b//c精準匹配
GET 請求與POST請求的區別: 1 GET 請求是將請求體放置在URL的後面,以?開頭作為標識,多個請求體的資料格式為: username=shm & password=666 類似於<K,V>結構。 而POST請求沒有把請求體放置在URL上。 2 GET請求的URL是有長度限制的。不同瀏覽器長度不同,IE是1024位元組。 3 安全性 POST請求不會把密碼這樣的資訊裸露出來,更安全。