gpt4 book ai didi

java - javax.servlet.ServletContext 和 javax.naming.Context 的区别

转载 作者:行者123 更新时间:2023-11-29 05:46:34 26 4
gpt4 key购买 nike

据我所知,Java ServletContext 和上下文对象在 Java EE 程序开发中很常见。但是,我不太确定它们之间有什么区别,尤其是上下文类的用法。

据我了解,ServletContext 是包含从 Web.xml 读取的所有初始化的对象,因此 Web 应用程序中的所有 servlet 都可以共享这些全局配置。

另一方面,我通常只在需要使用 JNDI 查找动态建立数据库连接时才使用上下文对象。除此之外,我不清楚此类的其他可能用法。

我主要关心的是 ServletContext 和 Context 类的“上下文”一词是否表示 Web 应用程序中的相同事物或组件?

最佳答案

来自ServletContext javadoc

Defines a set of methods that a servlet uses to communicate with its servlet container, for example, to get the MIME type of a file, dispatch requests, or write to a log file.

基本上,它是 servlet 环境的访问器。任何与 servlet 相关的内容,您都可以从那里获取。它实际上只对 Servlet 容器有用。

JNDI Context javadoc

This interface represents a naming context, which consists of a set of name-to-object bindings. It contains methods for examining and updating these bindings.

这是资源的接口(interface)。您使用一些标识符配置资源,您可以通过此接口(interface)检索该标识符。您不仅限于在 Servlet 容器中使用它。例如,您可以将网络上已连接设备的列表存储在 LDAP 中。存储库。要访问此存储库,您可以编写实现协议(protocol)并与 LDAP 服务器交互的自定义​​代码,或者您可以使用 LdapContext类,它实现了 Context 类。或者,您可以使用它来查找 JDBC DataSource

不要因为他们同名而烦恼。他们有不同的目标。

This answer当您在不同的上下文中看到 Context 时可能会有所帮助。

关于java - javax.servlet.ServletContext 和 javax.naming.Context 的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15673417/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com