首先是文件夹结构,由于使用的是Maven,所以文件夹布构都是固定的,若你要问为什么,那你还得去了解一下Maven是啥,总得来说,就是让每一个人的每一个project都保持一致。。
ejb3test
|--pom.xml //Maven项目根目录必须有这文件,主配置文件来的
|--src //项目资源文件目录,所有代码,项目相关的都在这
|--main //主文件目录,与之相对应的是单元测试test目录
|--java //JAVA文件目录,使之与图片,配置文件等隔离开来
|--mydomain //这下面就是你自己的东西,不一一介绍了
|--ejb3test
|--HelloWorld.java
|--HelloWorldBean.java
|--resources //资源文件,像一些配置文件全放这,图片也放这
|--webapp //这目录不介绍了,玩过WEB的人都晓得
|--WEB-INF
|--web.xml
|--META-INF
|--test //单元测试目录,与主目录main相隔离
|--java //下面这些目录与main里面的java目录一模一样,对应的
|--mydomain
|--ejb3test
下面是整个pom文件,全贴出来了
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.mydomain</groupId>
<artifactId>ejb3</artifactId>
<packaging>jar</packaging>
<version>1.0-SNAPSHOT</version>
<name>ejb3 Maven Webapp</name>
<url>http://maven.apache.org</url>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>test</scope>
</dependency>
<!--就用下面一个包就可以做基本的ejb实例,实际上要用更多功能的话,还有其它一些包要导-->
<!--比如要用entity bean功能的话-->
<dependency>
<groupId>javax</groupId>
<artifactId>ejb</artifactId>
<version>3.x</version>
<scope>provided</scope>
</dependency>
</dependencies>
<build>
<finalName>ejb3</finalName>
<plugins>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<version>2.0.2</version>
<configuration>
<source>1.5</source>
<target>1.5</target>
<encoding>UTF-8</encoding>
</configuration>
</plugin>
<plugin>
<artifactId>maven-resources-plugin</artifactId>
<version>2.2</version>
<configuration>
<encoding>UTF-8</encoding>
</configuration>
</plugin>
</plugins>
</build>
</project>
下面是HelloWorld.java与HelloWorldBean.java的源码
1、HelloWorld.java
package com.mydomain.ejb3test;
public interface HelloWorld
{
public String SayHello(String name);
}
2、HelloWorldBean.java
package com.mydomain.ejb3test;
@Stateless
@Remote ({HelloWorld.class})
public class HelloWorldBean implements HelloWorld
{
public HelloWorldBean()
{
}
public String SayHello(String name)
{
return name + "说:你好!世界,这是我的第一个EJB3实例哦!";
}
}
好了,现在运行maven生成jar吧,
mvn install (就一句命令,不懂又对maven感兴趣可以去找些资料来看)跟着根目录下就会自动生成一个target文件夹,里面就有一个ejb3.jar,把它复制到Jboss下的server->default->deploy目录下,跟着用命令行运行jboss目录下的bin/run.bat,就可以启动jboss了,注意JBOSS一定要jboss-4.2.0版本以上才支持EJB3的
deploy成功后,就写个java application进行测试吧
新建一个java application, 由于现在要写ejb3的客户端测试代码,并且因为我们用了jboss容器,所以得将jboss->client的一个jbossall-client.jar包导到java application项目里,然后写上以下代码
import com.mydomain.ejb3test.HelloWorld;
import java.util.Properties;
import javax.naming.InitialContext;
import javax.naming.NamingException;
public class Main
{
public static void main(String[] args)
{
Properties props = new Properties();
props.setProperty("java.naming.factory.initial", "org.jnp.interfaces.NamingContextFactory");
props.setProperty("java.naming.provider.url", "localhost:1099");
props.setProperty("java.naming.factory.url.pkgs", "org.jboss.naming");
try
{
InitialContext ctx = new InitialContext(props);
HelloWorld helloWorld = (HelloWorld) ctx.lookup("HelloWorldBean/remote");
System.out.println(helloWorld.SayHello("tester"));
}
catch (NamingException ex)
{
ex.printStackTrace();
}
}
}
如果整个过程顺利的话,运行此代码,你就应该可以输出以下文字了
tester说:你好!世界,这是我的第一个EJB3实例哦!
分享到:
相关推荐
- **适合人群**:本章节简要介绍了《EJB3.0实例教程》的主要目标读者群体,包括初学者、有一定Java基础的技术人员以及希望深入了解EJB3.0的企业级开发者。 - **联系方式**:提供了作者的联系方式,方便读者在学习...
**第一个Struts2程序** - **创建Web项目**:使用Eclipse或IntelliJ IDEA等IDE创建一个Web项目。 - **配置Struts2**:引入必要的库文件并配置`struts.xml`。 - **编写Action类**:实现业务逻辑。 - **编写视图页面**...
2. **EJB3.0技术**:书中介绍了EJB3.0的核心特性,如实体管理、会话bean、消息驱动bean、事务管理等,并探讨了如何在Java EE环境中使用Hibernate。 3. **开发实例**:书中通过一系列的开发实例,展示了如何利用...
第一个Struts2程序 - **环境搭建**:安装Java环境,配置Eclipse或其他IDE。 - **创建项目**:使用Eclipse创建Web项目,并添加Struts2相关依赖。 - **编写代码**:创建Action类、配置struts.xml文件等。 ##### 7. ...
- **简介**: 这是一本非常适合初学者的书籍,全面覆盖了Java的基础知识,通过大量的实例帮助读者快速掌握Java编程技巧。 3. **《Java核心思想》** - **简介**: 本书深入剖析了Java的核心概念和技术,特别是与C++...
**第一个Struts 2工程** - **创建项目**:使用IDE(如Eclipse、IntelliJ IDEA)创建一个新的Web项目。 - **引入依赖**:通过Maven或手动复制JAR包到项目的lib目录下。 - **配置文件**:编辑`struts.xml`和其他配置...
Spring作为轻量级框架应运而生,用简单的Java对象实现了原本Java EE中EJB的功能。 - **配置变迁**: - **XML配置**: 最初,Spring使用大量的XML文件来进行Bean的配置。 - **注解配置**: 随着Java 5的支持,Spring...