11

为什么Servlet 规范定义了两种不同的方式(上下文参数和环境条目)来为 Web 应用程序提供配置参数?

这些方法各自的优点是什么(什么时候应该首选)?

4

1 回答 1

19

环境条目可通过JNDI获得,这在您没有ServletContext直接可用的环境时可能很有用,例如在EJB中。中的那个web.xml实际上是优先级链中的最后一个,就覆盖环境整体而言。它们通常在服务器自己的配置中定义。因此,如果打算从 webapp 覆盖服务器指定的环境条目,那么可以通过web.xml.

上下文参数确实特定于 webapp 本身。它们仅在您ServletContext直接使用时可用,通常仅在过滤器servlet(以及通过EL中的JSP)和侦听器内部。它们应该用于为在 web 应用程序中运行的过滤器、servlet 和/或侦听器提供配置参数。通过 JNDI 提供它们没有多大意义,对于简单的目的来说,这是一个过于复杂的过程。${initParam.someName}

于 2012-11-02T14:16:46.933 回答