首先分别說說三者是什麼:
①jsp中 application:
application 對象也是在伺服器啟動就生成一個,伺服器關閉,其才釋放。保證了使用者在不同的頁面間浏覽可以擷取共享的公共資訊。
②EL表達式中applicationScope
${applicationScope.bizCodes[category]}" ------------EL表達式
jsp中因為我們并沒有指定哪一個範圍的username,是以它會依序從Page、Request、Session、Application範圍查找。
假如途中找到username,就直接回傳,不再繼續找下去,但是假如全部的範圍都沒有找到時,就回傳null。
屬性範圍在EL中的名稱
【jsp中】 【EL表達式中】
Page PageScope
Request RequestScope
Session SessionScope
Application ApplicationScope
③Java中servletContext
ServletContext,是一個全局的儲存資訊的空間,伺服器開始,其就存在,伺服器關閉,其才釋放。request,一個使用者可有多個;session,一個使用者一個;而servletContext,所有使用者共用一個。是以,為了節省空間,提高效率,ServletContext中,要放必須的、重要的、所有使用者需要共享的線程又是安全的一些資訊。
Servlet上下文:Servlet上下文提供對應用程式中所有Servlet所共有的各種資源和功能的通路。Servlet上下文API用于設定應用程式中所有Servlet共有的資訊。Servlet可能需要共享他們之間的共有資訊。運作于同一伺服器的Servlet有時會共享資源,如JSP頁面、檔案和其他Servlet。
舉例:
地區資訊等,全國的省市縣市固定的,所有我們就可以伺服器啟動的時候,我們就将資料放入servletContext中,避免多次請求資料庫。
三者的差別:
本文轉自建波李 51CTO部落格,原文連結:http://blog.51cto.com/jianboli/1890443,如需轉載請自行聯系原作者