据我所知,Java ServletContext和Context Objects在Java EE程序开发中很常用。但是,我不太确定它们之间有什么区别,尤其是Context Class的用法。
根据我的理解,ServletContext是Object,它包含从Web.xml读取的所有初始化,以便Web应用程序中的所有servlet可以共享这些全局配置。
另一方面,当我需要使用JNDI查找动态建立数据库连接时,我通常只使用Context Object。除此之外,我还不清楚这门课的其他可能用法。
我主要担心的是ServletContext和Context类的“context”字是否代表Web应用程序中的相同内容或组件?
答案 0 :(得分:3)
定义servlet用于与其通信的一组方法 servlet容器,例如,获取文件的MIME类型, 发送请求,或写入日志文件。
基本上它是servlet环境的访问者。任何与servlet相关的东西,你都可以从那里得到它。它实际上只对Servlet容器有用。
此接口表示命名上下文,其中包含一组 名称到对象的绑定。它包含检查和的方法 更新这些绑定。
这是资源的接口。您可以使用某个标识符配置资源,您可以通过此接口检索该标识符。您不仅限于在Servlet容器中使用它。例如,您可以在网络中的LDAP存储库中存储已连接设备的列表。要访问此存储库,您可以编写实现协议并与LDAP服务器交互的自定义代码,也可以使用实现Context
类的LdapContext
类。或者,您可以使用它来查找JDBC DataSource
。
不要让他们有同名的事实打扰你。他们有不同的目标。
当您在不同的背景下看到Context
时,This answer可能会有所帮助。