在Tomcat中从context.xml检索资源的方法

时间:2018-10-23 10:02:40

标签: java tomcat resources context.xml

我想从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);

我想知道是否有一种方法可以做完全相同的事情但步骤更少

1 个答案:

答案 0 :(得分:0)

  

Tomcat 8.0上的Web应用程序

  1. Tomcat 8.0已终止生命。不要使用它。请参阅tomcat.apache.org上的“迁移指南”以升级到Tomcat 8.5或9.0。

  2. 请参阅Tomcat文档中的“ JDNI Resources”。例如。 factory="org.apache.naming.factory.BeanFactory"可用于创建任意bean。

  3. 如果您只需要一组可配置的属性,则在Context中使用“ Parameter”元素定义它们会更容易。 Web应用程序将通过javax.servlet.ServletContext.getInitParameter(name) API获得这些值。