我想从context.xml中检索值,并且我找到了以下代码片段:
// Acquire an instance of our specified bean class
MyBean bean = new MyBean();
// Customize the bean properties from our attributes
Reference ref = (Reference) obj;
Enumeration addrs = ref.getAll();
while (addrs.hasMoreElements()) {
RefAddr addr = (RefAddr) addrs.nextElement();
String name = addr.getType();
String value = (String) addr.getContent();
if (name.equals("foo")) {
bean.setFoo(value);
} else if (name.equals("bar")) {
try {
bean.setBar(Integer.parseInt(value));
} catch (NumberFormatException e) {
throw new NamingException("Invalid 'bar' value " + value);
}
}
}
// Return the customized instance
return (bean);
我想知道是否有一种方法可以做完全相同的事情但步骤更少
答案 0 :(得分:0)
Tomcat 8.0上的Web应用程序
Tomcat 8.0已终止生命。不要使用它。请参阅tomcat.apache.org上的“迁移指南”以升级到Tomcat 8.5或9.0。
请参阅Tomcat文档中的“ JDNI Resources”。例如。 factory="org.apache.naming.factory.BeanFactory"
可用于创建任意bean。
如果您只需要一组可配置的属性,则在Context中使用“ Parameter”元素定义它们会更容易。 Web应用程序将通过javax.servlet.ServletContext.getInitParameter(name)
API获得这些值。