Tomcat5 中JNDI Resources配置 ------ 通用JavaBean资源配置(Generic JavaBean Resources)

翻译 2006年05月27日 22:36:00
Tomcat5 中JNDI Resources配置 ------ 通用JavaBean资源配置(Generic JavaBean Resources)

通常有四个步骤:
1.首先,当然是建一个JavaBean了。   

package com.mycompany;

public class MyBean {

  private String foo = "Default Foo";

  public String getFoo() {
    return (this.foo);
  }

  public void setFoo(String foo) {
    this.foo = foo;
  }

  private int bar = 0;

  public int getBar() {
    return (this.bar);
  }

  public void setBar(int bar) {
    this.bar = bar;
  }


}


2.在web.xml文件中添加如下信息:   

<resource-env-ref>
  <description>
    Object factory for MyBean instances.
  </description>
  <resource-env-ref-name>
    bean/MyBeanFactory
  </resource-env-ref-name>
  <resource-env-ref-type>
    com.mycompany.MyBean
  </resource-env-ref-type>
</resource-env-ref>

3.配置Tomcat的资源工厂:
<Context ...>
  ...
  <Resource name="bean/MyBeanFactory" auth="Container"
            type="com.mycompany.MyBean"/>
  <ResourceParams name="bean/MyBeanFactory">
    <parameter>
      <name>factory</name>
      <value>org.apache.naming.factory.BeanFactory</value>
    </parameter>
    <parameter>
      <name>bar</name>
      <value>23</value>
    </parameter>
  </ResourceParams>
  ...
</Context>

这段代码可以添加到server.xml中的<host>标签之间,不过,我觉得还是加到每个Tomcat应用所对应的 .xml文件中比较好,易于理解,也不容易出错。

   
4.上述步骤完成之后,就可以在代码中使用配置好的资源了。使用方法示例如下:

Context initCtx = new InitialContext();
Context envCtx = (Context) initCtx.lookup("java:comp/env");
MyBean bean = (MyBean) envCtx.lookup("bean/MyBeanFactory");

writer.println("foo = " + bean.getFoo() + ", bar = " +
               bean.getBar());


有些需要特别注意的地方如下:
1.)web.xml中添加的元素的顺序不能改变。
2.)在server.xml中添加<context>元素,和在某个web应用对应的 .xml文件中添加<context>元素都可以访问配置好的资源。Tomcat会先检查server.xml,如果两个有相同的配置的话,Tomcat会以server.xml中的为准,并且删除该应用对应的.xml文件,然后产生一个新的。这个新的只包含一个<context>根元素,不包含<resource>元素及其中的其他元素。
3.)资源名称(例子中的是bean/MyBeanFactory,即<Resource>元素中的name属性的值)必须和web.xml中指定的<resource-env-ref-name>的值相同。另外,在资源工厂的参数配置中可以指定JavaBean的属性的初始值。示例代码中就把Bar属性的值设为23了。(JavaBean中Bar的默认值是0).不指定的话,就使用程序中设置的初始值.
原文:
Note that the resource name (here, bean/MyBeanFactory  must match the value specified in the web application deployment descriptor. We are also initializing the value of the bar  property, which will cause setBar(23) to be called before the new bean is returned. Because we are not initializing the foo property (although we could have), the bean will contain whatever default value is set up by its constructor.



原文网址:
http://tomcat.apache.org/tomcat-5.0-doc/jndi-resources-howto.html

[示例代码]通用JavaBean资源配置(Generic JavaBean Resources)

我的环境(Eclipse3.0)如下图所示: 代码如下:1.Mybean:package com.mycompany;public class MyBean {private String foo="...
  • Fitzwilliam
  • Fitzwilliam
  • 2006年05月29日 12:54
  • 845

Tomcat 5.5 JNDI Resource 配置

Tomcat 5.5 JNDI Resource 配置Author Blog:http://blog.csdn.net/fenglibing该文是对Tomcat 5.5 JNDI Resource配置...
  • fenglibing
  • fenglibing
  • 2009年09月07日 17:45
  • 11762

SpringMVC对静态资源文件的访问(配置)

=================================================================== 加,否则servlet控件器会解析失败...
  • Sbangm
  • Sbangm
  • 2014年12月04日 13:05
  • 32070

MVC静态资源映射 <mvc:resources> 标签的使用

spring mvc 的标签是在spring3.0.4出现的,主要是用来进行静态资源的访问。在spring3.0.4出来的时候spring还没有更新其schema所以在配置文件中有可能找不到标签,这个...
  • petercnmei
  • petercnmei
  • 2016年02月18日 11:18
  • 1716

Tomcat5 中JNDI Resources配置 ------ JDBC 数据源配置(JDBC Data Sources)

JDBC Data Sources 的配置和Generic JavaBean Resources的配置基本一样。 1.      安装驱动:把jar包放到$CATALINA_HOME/common/l...
  • Fitzwilliam
  • Fitzwilliam
  • 2006年05月29日 18:08
  • 2269

Tomcat下的jsp、servlet和javabean的配置实例

经常看到jsp的初学者问tomcat下如何配置jsp、servlet和bean的问题,于是总结了一下如何tomcat下配置jsp、servlet和ben,希望对那些初学者有所帮助。    第一步:下载...
  • Jcoop
  • Jcoop
  • 2007年06月22日 10:06
  • 919

tomcat启动数据源一般错类型

1、java.lang.ClassNotFoundException: org.apache.commons.dbcp.BasicDataSourceFactory  报错详情:  …… ...
  • u011580177
  • u011580177
  • 2015年07月11日 10:48
  • 940

一个javabean轻松实现对数据库的各种操作

1.调用实例 String prm1,prm2,prm3; ResultSet rst=null; prm1 = ...; prm2 = ...; prm3 = ...; querybean.se...
  • bimyboy
  • bimyboy
  • 2004年10月25日 09:20
  • 786

编写一个javabean

首先,一个javabean必须实现可序列化的接口,支持这个接口的对象可以存储和重建它们的状态。如下所示: Public class Simplebean extends Canvas implemen...
  • arielxp
  • arielxp
  • 2004年08月25日 19:01
  • 5254

JNDI详细配置及使用

JNDI在项目中使用很多,下面介绍一下JNDI的配置和使用
  • Crazyer0214
  • Crazyer0214
  • 2017年05月09日 10:54
  • 716
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Tomcat5 中JNDI Resources配置 ------ 通用JavaBean资源配置(Generic JavaBean Resources)
举报原因:
原因补充:

(最多只允许输入30个字)