为什么Servlet 规范定义了两种不同的方式(上下文参数和环境条目)来为 Web 应用程序提供配置参数?
这些方法各自的优点是什么(什么时候应该首选)?
为什么Servlet 规范定义了两种不同的方式(上下文参数和环境条目)来为 Web 应用程序提供配置参数?
这些方法各自的优点是什么(什么时候应该首选)?
环境条目可通过JNDI获得,这在您没有ServletContext
直接可用的环境时可能很有用,例如在EJB中。中的那个web.xml
实际上是优先级链中的最后一个,就覆盖环境整体而言。它们通常在服务器自己的配置中定义。因此,如果打算从 webapp 覆盖服务器指定的环境条目,那么可以通过web.xml
.
上下文参数确实特定于 webapp 本身。它们仅在您ServletContext
直接使用时可用,通常仅在过滤器、servlet(以及通过EL中的JSP)和侦听器内部。它们应该用于为在 web 应用程序中运行的过滤器、servlet 和/或侦听器提供配置参数。通过 JNDI 提供它们没有多大意义,对于简单的目的来说,这是一个过于复杂的过程。${initParam.someName}