-startup>2</load-on-startup>
</servlet>
对于 J2EE Web 程序员来说,这个代码很熟悉。servlet-mappings.xml 和 servlets.xml 文 件在 Maven 构建期间被合并到 J2EE Web 档案(WAR)文件的 web.xml 文件中。请执行构建 过程并查看生成的 web.xml 文件。
EJB
Apache Geronimo 用 OpenEJB 作为 EJB 容器系统。示例包含两个 EJB:
容器管理的实体 EJB
无状态会话 EJB
在Apache Geronimo上部署J2EE应用程序(3)
时间:2011-04-16 IBM Kunal Mittal
容器管理的实体 EJB
Neal 在他的文章中解释说,在他的 EJB 中非常多地利用了 XDoclet。XDoclet 像 EJBGen 一样,会替您生成大部分 EJB 代码,包括部署描述符。 XDoclet 的概念与 Java 标 注类似。Javadoc 样式的注释被用作 XDoclet 编译器的触发器,并生成许多必要的代码。请 浏览 清单 3 所示的 PhoneBookEntryBean.java,查看 XDoclet 使用的标注样式。
清单 3. PhoneBookEntryBean.javapackage org.acme.phonebook.ejb;
/**
*
* @ejb.bean
* type="CMP"
* cmp-version="2.x"
* name="PhoneBookEntry"
* local-jndi-name=
* "org.acme.phonebook.ejb/PhoneBookEntryLocalHome"
* view-type="local"
* primkey-field="name"
*
* @ejb.finder
* signature="java.util.Collection findAll()"
* query="SELECT OBJECT(o) from PhoneBookEntry AS o"
*
* @xx-ejb.data-object
* container="true"
* setdata="true"
* generate="true"
*
* @ejb.value-object
*
* @ejb.transaction type="Required"
* @ejb.permission unchecked="true"
* @struts.form include-all="true"
*
* @web.ejb-local-ref
* name="ejb/PhoneBookEntryLocal"
* type="Entity"
* home="org.acme.phonebook.ejb.PhoneBookEntryLocalHome"
* local="org.acme.phonebook.ejb.PhoneBookEntryLocal"
* link="PhoneBookEntry"
*
* @ejb.persistence table-name="PhoneBookEntry"
*
*/
public abstract class PhoneBookEntryBean
implements javax.ejb.EntityBean
{
/**
*
* @ejb.pk-field
* @ejb.persistence
* column-name="NAME"
* jdbc-type="VARCHAR"
* sql-type="VARCHAR(250)"
*
* @ejb.interface-method view-type="local"
*
*/
public abstract java.lang.String getName();
/**
* @ejb.interface-method view-type="local"
*/
public abstract void setName(java.lang.String newValue);
/**
*
* @ejb.persistence
* column-name="PHONE_NUMBER"
* jdbc-type="VARCHAR"
* sql-type="VARCHAR(250)"
*
* @ejb.interface-method view-type="local"
*
*/
public abstract java.lang.String getPhoneNumber();
/**
* @ejb.interface-method view-type="local"
*/
public abstract void setPhoneNumber(java.lang.String newValue);
/**
* @ejb.interface-method
*/
public abstract org.acme.phonebook.ejb.PhoneBookEntryValue
getPhoneBookEntryValue();
/**
* @ejb |