![]() |
CJSDN开发者社区 |
|
注册 |
登录 |
帮助 |
搜索 |
排行榜 |
发帖统计
|
| 您没有登录 |
|
» CJSDN开发者社区 » Java EE 综合讨论区
|
![]() ![]() ![]() ![]()
|
| 作者 | (原创)Ant、Xdoclet、struts、jboss、intellij联合开发,斑竹鼓励 |
linux_china
版主
发贴: 749 积分: 230 |
于 2003-08-05 13:22
![]() 开始吧 1 安装intellij,然后将附件中的中resource/intellij的目录拷贝到intellij的config目录,87x的版本设置不一样,自行设置。 2 打开附件的项目,同时配置一下相关环境(我的和你不一样) 3 在cn.edu.bit82.ejb点击new,选择ejb stateless 2.0,输入名称BasicServiceBean,必须已Bean结尾(整合了velocity) 4 点击ant面板,执行BasicService的target,一个完整的ejb就完成啦。 5 配置jboss,下载jboss.3.2.1,配置oracle数据库,默认的jndi名称即可。 6 运行jboss,部署ejb ![]() 注意事项: 1 项目的目录结构很重要,应该和标准一致 2 相关的开发包到位 3 xdoclet精通 1 代码演示 ----------------- struts Form: package cn.edu.bit82.form; import org.apache.struts.action.ActionForm; import org.apache.struts.action.ActionMapping; import org.apache.struts.validator.ValidatorForm; import javax.servlet.http.HttpServletRequest; /** * * User: <a href="mailto:linux_china@hotmail.com">chenlibing</a> * Date: 2003-5-3 * @struts.form name="LogonForm" */ public class LogonForm extends ValidatorForm { private String name; private String password; private String sex; /** * * @return */ public String getName() { return name; } /** * * @param name * * @struts.validator type="required" * @struts.validator type="minlength" arg1value="${var:minlength}" * @struts.validator-args arg0resource="LogonForm.logonName" * @struts.validator-var name="minlength" value="3" */ public void setName(String name) { this.name = name; } /** * * @return * */ public String getPassword() { return password; } public void setPassword(String password) { this.password = password; } public void reset(ActionMapping actionMapping, HttpServletRequest request) { this.name = null; this.password = null; } } -----------------ejb 代码: package cn.edu.bit82.ejb; import javax.naming.*; import javax.ejb.*; import javax.sql.*; import java.sql.*; /** * <b>description:</b> 最基本的ejb * @author <a href="mailto:linux_china@hotmail.com">chenlibing</a> * Date: 2003-8-5 * * @ejb.bean type="Stateless" name="BasicService" view-type="both" * jndi-name="ejb/remote/BasicService" local-jndi-name="ejb/local/BasicService" * transaction-type="Container" * @ejb.resource-ref res-name="jdbc/oracle" res-type="javax.sql.DataSource" res-auth="Container" * @ejb.transaction type="Required" * @ejb.transaction-type type="Container" * * @jboss.resource-manager res-man-name="oracleDbManager" res-man-jndi-name="java:OracleDS" * @jboss.resource-ref res-ref-name="jdbc/oracle" resource-name="oracleDbManager" */ public class BasicServiceBean implements SessionBean { private SessionContext sessionContext = null; public void ejbCreate() { } public void ejbRemove() { } public void ejbActivate() { } public void ejbPassivate() { } public void setSessionContext(SessionContext sessionContext) { this.sessionContext = sessionContext; } private Connection getConnection() { Connection conn = null; try { InitialContext ctx = new InitialContext(); DataSource ds = (DataSource) ctx.lookup("java:comp/env/jdbc/oracle"); conn = ds.getConnection(); } catch (Exception e) { e.printStackTrace(); } return conn; } private void closeConnection(Connection con) { if (con != null) { try { con.close(); } catch (SQLException e) { e.printStackTrace(); } } } /** * 基本操作 * @return 返回用户名 * * @ejb.interface-method */ public String getUserName() { return "陈立兵"; } /** * 数据库简单操作 * @return 返回数据库当前时间 * * @ejb.interface-method */ public Date getDBResult() { Date nowDate = null; String SQLSelect = "select sysdate from dual"; Connection conn = null; try { conn = getConnection(); Statement smt = conn.createStatement(); ResultSet rs = smt.executeQuery(SQLSelect); if (rs.next()) { nowDate = rs.getDate(1); } rs.close(); smt.close(); } catch (Exception e) { e.printStackTrace(); System.out.println("SQL Error:" + SQLSelect); } finally { closeConnection(conn); } return nowDate; } } ----build.xml(包含ejb,web相关的target) <?xml version="1.0" encoding="gb2312" ?> <project name="ejbdemo" default="displayHelp" basedir="."> <!-- set the neccesary property info --> <property name="project.encoding" value="gb2312"/> <property name="project.bin" location="bin"/> <property name="project.src" location="src"/> <property name="project.lib" location="lib"/> <property name="project.doc" location="docs"/> <property name="project.temp" location="temp"/> <property name="project.apidoc" location="docs/api"/> <property name="project.apidoc.resource" location="docs/api/resource"/> <property name="project.resource" location="resource"/> <property name="project.dist.lib" location="dist/lib"/> <property name="project.build.lib" location="build/lib"/> <property name="project.dist.classes" location="dist/classes"/> <property name="project.build.classes" location="build/classes"/> <property name="project.basePackageDirectory" value="cn/edu/bit82"/> <property name="project.basePackageName" value="cn.edu.bit82"/> <!-- set the project's classpath --> <path id="project.classpath"> <fileset dir="${project.lib}"> <include name="*.jar"/> <include name="**/*.jar"/> </fileset> <pathelement location="${project.build.classes}"/> </path> <!-- initial --> <target name="prepare" description="initial job,for example: create directory"> <mkdir dir="${project.bin}"/> <mkdir dir="${project.src}"/> <mkdir dir="${project.lib}"/> <mkdir dir="${project.temp}"/> <mkdir dir="${project.apidoc.resource}"/> <mkdir dir="${project.resource}"/> <mkdir dir="${project.dist.lib}"/> <mkdir dir="${project.build.lib}"/> <mkdir dir="${project.dist.classes}/META-INF"/> <mkdir dir="${project.build.classes}/META-INF"/> </target> <!-- generate package directory --> <target name="packageGen" description="generate package directory"> <mkdir dir="${project.src}/${project.basePackageDirectory}"/> <mkdir dir="${project.src}/${project.basePackageDirectory}/ejb"/> <mkdir dir="${project.src}/${project.basePackageDirectory}/interfaces"/> <mkdir dir="${project.src}/${project.basePackageDirectory}/pk"/> <mkdir dir="${project.src}/${project.basePackageDirectory}/util"/> <mkdir dir="${project.src}/${project.basePackageDirectory}/junit"/> <mkdir dir="${project.src}/${project.basePackageDirectory}/temp"/> </target> <!-- display target --> <target name="displayHelp" description="help info"> <echo> please use command: ant -projecthelp </echo> </target> <!-- display logo target --> <target name="displayLogo" description="display company logo"> <splash imageurl="file:/${project.resource}/logo.gif" showduration="2000"/> </target> <!-- define some custom task target --> <target name="myTaskDef" description="define custom task"> <taskdef name="ejbdoclet" classname="xdoclet.modules.ejb.EjbDocletTask" classpathref="project.classpath"/> <taskdef name="webdoclet" classname="xdoclet.modules.web.WebDocletTask" classpathref="project.classpath"/> </target> <!-- generate apidoc target --> <target name="javadoc" description="generate api document"> <javadoc sourcepath="${project.src}" destdir="${project.apidoc}" classpathref="project.classpath" packagenames="${project.basePackageName}, ${project.basePackageName}.ejb, ${project.basePackageName}.interfaces, ${project.basePackageName}.pk, ${project.basePackageName}.util, ${project.basePackageName}.junit" Encoding="${project.encoding}" charset="${project.encoding}" author="true" version="true" use="true" windowtitle="cn.edu.bit82: the project of ejbdemo api document"> <bottom><![CDATA[<i>Copyright © 2002 bit82.edu.cn Corp. All Rights Reserved.</i>]]></bottom> </javadoc> </target> <target name="i18n"> <delete dir="${project.build.classes}" includes="**/*.properties"/> <native2ascii src="${project.src}" encoding="${project.encoding}" dest="${project.build.classes}" includes="**/*.properties"/> </target> <target name="webxmlGen" depends="myTaskDef" description="generate web.xml content"> <webdoclet destDir="${project.WEB-INF}" excludedtags="@version,@author"> <fileset dir="${project.src}"> <include name="**/servlet/*Servlet.java"/> <include name="**/filter/*Filter.java"/> <include name="**/listener/*Listener.java"/> </fileset> <deploymentdescriptor mergeDir="${project.merge.directory}"/> </webdoclet> </target> <target name="struts-config" depends="myTaskDef" description="generate struts config file"> <webdoclet destDir="${project.WEB-INF}" excludedtags="@version,@author"> <fileset dir="${project.src}"> <include name="**/action/*Action.java"/> <include name="**/form/*Form.java"/> <include name="**/plugin/*Plugin.java"/> </fileset> <strutsconfigxml version="1.1" mergeDir="${project.merge.directory}"/> </webdoclet> </target> <target name="validatorGen" depends="myTaskDef" description="generate web.xml content"> <webdoclet destDir="${project.WEB-INF}" excludedtags="@version,@author" force="true"> <fileset dir="${project.src}"> <include name="**/form/*Form.java"/> </fileset> <strutsvalidationxml/> </webdoclet> </target> <!-- 编译,打包ejb--> <target name="BasicService" depends="myTaskDef"> <delete> <fileset dir="${project.build.classes}/META-INF" includes="*.xml"/> </delete> <ejbdoclet destdir="${project.src}" excludedtags="@version" ejbspec="2.0"> <fileset dir="${project.src}"> <include name="**/BasicServiceBean.java"/> </fileset> <packageSubstitution packages="ejb,bean" substituteWith="interfaces"/> <remoteinterface/> <localinterface/> <homeinterface/> <localhomeinterface/> <deploymentdescriptor destdir="${project.build.classes}/META-INF" xmlencoding="${project.encoding}"/> <jboss version="3.0" destdir="${project.build.classes}/META-INF" xmlencoding="${project.encoding}"/> </ejbdoclet> <javac srcdir="${project.src}" destdir="${project.build.classes}" includes="**/BasicService.java,**/BasicServiceLocal*.java,**/BasicServiceHome.java,**/BasicServiceBean.java" classpathref="project.classpath"> </javac> <jar destfile="${project.build.lib}/BasicService.jar" basedir="${project.build.classes}" includes="**/BasicService.class,**/BasicServiceLocal*.class,**/BasicServiceHome.class,**/BasicServiceBean.class,META-INF/*.xml"> </jar> </target> <!-- package all the class and interface for client --> <target name="ejbInterface"> <jar destfile="${project.build.lib}/common.jar" basedir="${project.build.classes}" includes="${project.basePackageDirectory}/**/*.*" excludes="**/ejb/*.*,**/temp/*.*,**/junit/*.*"></jar> </target> </project> Mastering Spring MVC 3 |
| 话题树型展开 |
| 人气 | 标题 | 作者 | 字数 | 发贴时间 |
| 10995 |
(原创)Ant、Xdoclet、struts、jboss、intellij联合开发,斑竹鼓励
| linux_china | 12693 | 2003-08-05 13:22 |
| 7130 |
Re:(原创)Ant、Xdoclet、struts、jboss、intellij联合开发,斑竹鼓励---1
| linux_china | 198 | 2003-08-05 13:32 |
| 7606 |
Re:(原创)Ant、Xdoclet、struts、jboss、intellij联合开发,斑竹鼓励---2
| linux_china | 78 | 2003-08-05 13:39 |
| 7029 |
Re:(原创)Ant、Xdoclet、struts、jboss、intellij联合开发,斑竹鼓励----3
| linux_china | 148 | 2003-08-05 13:49 |
| 6380 |
Re:(原创)Ant、Xdoclet、struts、jboss、intellij联合开发,斑竹鼓励
| supermy | 14 | 2003-08-07 23:29 |
| 6522 |
Re:(原创)Ant、Xdoclet、struts、jboss、intellij联合开发,斑竹鼓励---4
| linux_china | 361 | 2003-08-09 21:28 |
| 6195 |
Re:(原创)Ant、Xdoclet、struts、jboss、intellij联合开发,斑竹鼓励---4
| gunrose | 166 | 2003-09-13 09:38 |
| 6270 |
Re:(原创)Ant、Xdoclet、struts、jboss、intellij联合开发,斑竹鼓励---4
| donnan | 127 | 2003-09-18 17:43 |
| 6106 |
Re:(原创)Ant、Xdoclet、struts、jboss、intellij联合开发,斑竹鼓励
| bbbaby | 10 | 2003-09-14 13:08 |
| 6217 |
Re:(原创)Ant、Xdoclet、struts、jboss、intellij联合开发,斑竹鼓励
| linux_china | 131 | 2003-09-14 21:22 |
| 6166 |
Re:(原创)Ant、Xdoclet、struts、jboss、intellij联合开发,斑竹鼓励
| gunrose | 17 | 2003-09-15 16:38 |
![]() ![]() ![]() ![]()
|
已读帖子 新的帖子 被删除的帖子 |
|
![]() |
Powered by Jute Powerful Forum® Version Jute 1.5.6 Ent Copyright © 2002-2010 Cjsdn Team. All Righits Reserved. 闽ICP备05005120号 客服电话 18950077788 客服信箱 support@cjsdn.net 客服QQ 714913 |