从 Tomcat 中的 context.xml 检索资源的方法
Method to retrieve resources from context.xml in Tomcat
我想从我的 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);
我想知道是否有一种方法可以用更少的步骤完成完全相同的事情
a web application on Tomcat 8.0
Tomcat 8.0 的生命周期已结束。不要使用它。请参阅 tomcat.apache.org 中的 "Migration Guide" 以升级到 Tomcat 8.5 或 9.0。
请参阅 Tomcat 文档中的“JDNI Resources”。例如。 factory="org.apache.naming.factory.BeanFactory"
可用于创建任意bean。
如果您只需要一组可配置的属性,使用 Context 中的 "Parameter" 元素定义它们会更容易。 Web 应用程序将通过 javax.servlet.ServletContext.getInitParameter(name)
API.
获取这些值
我想从我的 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);
我想知道是否有一种方法可以用更少的步骤完成完全相同的事情
a web application on Tomcat 8.0
Tomcat 8.0 的生命周期已结束。不要使用它。请参阅 tomcat.apache.org 中的 "Migration Guide" 以升级到 Tomcat 8.5 或 9.0。
请参阅 Tomcat 文档中的“JDNI Resources”。例如。
factory="org.apache.naming.factory.BeanFactory"
可用于创建任意bean。如果您只需要一组可配置的属性,使用 Context 中的 "Parameter" 元素定义它们会更容易。 Web 应用程序将通过
javax.servlet.ServletContext.getInitParameter(name)
API. 获取这些值