我想在context.xml文件中设置一些值,并像从JNDI中访问一样从Servlet访问相同的值:

mail.smtp.host=smtp.gmail.com
mail.smtp.port=465

我可以这样做吗?

最佳答案

是的,这绝对有可能

<Environment name="testEnvEntry" value="Got It"
         type="java.lang.String" override="false"/>

然后像这样访问:
Object lookedUp = null;
try {
    InitialContext initialContext = new InitialContext();
    lookedUp = initialContext.lookup("java:/comp/env/testEnvEntry");
} catch (NamingException e) {
    e.printStackTrace();
}

这类似于在<env-entry>中添加web.xml的方式。

您可以阅读Environment的官方文档here

09-30 15:39