gpt4 book ai didi

java - 在 servlet 中加载属性文件

转载 作者:行者123 更新时间:2023-12-01 13:03:10 25 4
gpt4 key购买 nike

我的 WEB-INF 中有一个属性文件,其中包含我的 servlet 需要使用的一些属性(例如数据库密码等属性,...)。加载此文件的最佳方式是什么?我应该重写 servlet 的 init 方法以便只加载文件一次吗?

谢谢

最佳答案

我并不是说这种方式是正确的或任何东西,因为我不使用 JEE,但据我所知,您可以使用 ServletContextListener 方法来实现此目的。只需像这样实现即可

class ContextListenerImpl implements ServletContextListener {

@Override
public void contextDestroyed(ServletContextEvent sce) {
//lets skip it for now
}

@Override
public void contextInitialized(ServletContextEvent sce) {

ServletContext sc = sce.getServletContext();

//read parameter from properties and add it to servlet context attributes
sc.setAttribute("yourParameterName", "value");
}

}

您应该能够通过例如在任何 servlet 中使用它

protected void doGet(HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException {
//...
getServletContext().getAttribute("yourParameterName");
//...
}

顺便说一句,属性的值还可以包含其他对象,而不仅仅是字符串。

哦,别忘了将此监听器添加到您的 Web 应用程序中。只需添加

<listener>
<listener-class>full.name.of.ContextListenerImpl</listener-class>
</listener>

到您的web.xml 文件。

关于java - 在 servlet 中加载属性文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23399076/

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