簡體   English   中英

javax.servlet.ServletContext和javax.naming.Context之間的區別

[英]Difference between javax.servlet.ServletContext and javax.naming.Context

據我所知,Java ServletContext和Context Objects在Java EE程序開發中很常用。 但是,我不太確定它們之間有什么區別,尤其是Context Class的用法。

根據我的理解,ServletContext是Object,它包含從Web.xml讀取的所有初始化,以便Web應用程序中的所有servlet可以共享這些全局配置。

另一方面,當我需要使用JNDI查找動態建立數據庫連接時,我通常只使用Context Object。 除此之外,我還不清楚這門課的其他可能用法。

我主要擔心的是ServletContext和Context類的“上下文”字是否代表Web應用程序中的相同內容或組件?

來自ServletContext javadoc

定義servlet用於與其servlet容器通信的一組方法,例如,獲取文件的MIME類型,分派請求或寫入日志文件。

基本上它是servlet環境的訪問器。 任何與servlet相關的東西,你都可以從那里得到它。 它實際上只對Servlet容器有用。

JNDI Context javadoc

此接口表示命名上下文,該命名上下文由一組名稱到對象綁定組成。 它包含檢查和更新這些綁定的方法。

這是資源的接口。 您可以使用某個標識符配置資源,您可以通過此接口檢索該標識符。 您不僅限於在Servlet容器中使用它。 例如,你可以存儲在你的網絡上連接的設備的清單LDAP存儲庫。 要訪問此存儲庫,您可以編寫實現協議並與LDAP服務器交互的自定義​​代碼,也可以使用實現Context類的LdapContext類。 或者,您可以使用它來查找JDBC DataSource

不要讓他們有同名的事實打擾你。 他們有不同的目標。

當您在不同的上下文中看到Context時, 此答案可能會有所幫助。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM