如果我修改XML以更改init参数的值,只有在重新部署web应用程序时才会看到更改。
我的问题是,我是否可以通过在运行时设置值来避免这种情况。是否有任何API允许我动态更改值。
它被称为init-parameter
,有其原因。所以你不能。
但是你可以在运行时更改值,这没有问题。
ServletContext
的属性(ctx.setAttribute("name", value)
)。ServletContext
的所有属性,并提供更改它们的功能。Properties properties = new Properties();
properties.load(Thread.currentThread().getContextClassLoader().getResourceAsStream("filename.properties"));
String value = properties.get("key");