這裡重點隻講pageContext容器的用法哦。
因為另外的3個容器(request,session,application)在前面的servlet中已經示範過很多遍了
詳細介紹:
pageContext – 它的作用範圍僅為目前JSP頁面。
request – 對于使用者的一次請求有效,請求/響應結束即消失。
更多細節:
一個請求通過Servlet通路資源,在Servlet中将資料封裝到request中,這在機關中是通常的做法。必須記住、必須記住、必須記住。
然後将請求轉發到JSP頁面,在從JSP頁面上将封裝到request中的資訊取出。MVC
注意我上面說的是轉發,而不是重定向。
對于使用者的一次請求,并且請求完成後,資料将不再使用可使用request進行封裝,以節省記憶體。
session – 對于使用者的一次會話有效,通常我們用此域來封裝使用者登入的資訊。也必須記住。
application – 在整個Web項目的生命周期内有效,不建議使用或謹慎使用。實際項目中根本不用。
開發原則 – 能用小的域盡量使用小的域。
index.jsP;
pageContext.findAttribute()方法會依次從pageContext、request、session和application中(頁面、請求、會話、app)查找對應的屬性,找到一個,後面的就不會再去找了。如果沒有就傳回null.
示範結果:
pageEncoding是jsp檔案本身的編碼 ,把jsp檔案編譯成java的時候給編譯器用的 。
contentType的charset是指伺服器發送給用戶端時的内容編碼 ,是浏覽器解析網頁的時候用的
如果兩個任意設定了其中一個,另一個即會與此保持一緻。但,contentType除可以設定charset外,還可以設定MIME類型,如text/html