ejb3学习笔记1(ejb3 helloworld示例)
一.安装配置jboss服务器
1.解压下载的jboss5E到这个目录\program\server\(目录中不能包含空格),修改E:\program\server\jboss- 5\server\default\deploy\jbossweb.sar目录下的server.xml,修改服务器的端口号为8888.
2.添加环境变量JBOSS_HOME ,变量值为: E:\program\server\jboss- 5
3.运行 E:\program\server\jboss- 5\bin目录下的run.bat脚本,启动jboss服务
4.访问:http://localhost:8888,如能看到jboss启动首页,表明服务器安装成功
二.编写ejb组件
1.eclipse下新建一个Java项目ejb3ejb,引入jboss-5\client下所有的jar包
2.新建一个接口HelloWorldService,添加注解@Local
package cn.wenkun.ejb.service;
import javax.ejb.Local;
@Local
public interface HelloWorldService {
public String sayHello(String str);
}
3.新建一个实现类HelloWorldServiceBean,添加注解@Stateless:
package cn.wenkun.ejb.service;
import javax.ejb.Stateless;
@Stateless
public class HelloWorldServiceBean implements HelloWorldService{
public String sayHello(String str) {
System.out.println("hello");
return "hello,"+str;
}
}
4.将ejb3ejb项目输出jar包ejb3ejb.jar,作为一个组件放置在server\default\deploy\目录下
5.验证组件是否配置成功
在jboss首页上点击JMX-Console这个链接,点击新页面jboss下的service=JNDIView 这个链接
找到新页面中的这一行
list java.lang.String Output JNDI info as text
点击右边的invoke按钮。
在新页面中的
Global JNDI Namespace
下如果找到:
+- HelloWorldServiceBean (class: org.jnp.interfaces.NamingContext)
| +- local (class: Proxy for: cn.wenkun.ejb.service.HelloWorldService)
| +- local-cn.wenkun.ejb.service.HelloWorldService (class: Proxy for: cn.wenkun.ejb.service.HelloWorldService)
表明组件配置成功。
接下来就是写web应用程序来访问这个组件了。
三.编写ejb应用程序
1.新建一个java web项目ejb3ejbweb
2.新建一个jsp页面,index.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<%@page import="javax.naming.InitialContext"%>
<%@page import="cn.wenkun.ejb.service.HelloWorldService"%>
<html>
<head>
<title>index.jsp</title>
</head>
<body>
<%
InitialContext init = new InitialContext(); //初始化jndi容器
HelloWorldService service = (HelloWorldService) init //找到前面我们配置的组件
.lookup("HelloWorldServiceBean/local");
String result = service.sayHello("wenkun!");
%>
result is:<%=result%>
</body>
</html>
3.将ejb3ejbweb导出为ejb3ejbweb.war,拷贝到server\default\deploy目录下
4.访问http://localhost:8888/ejb3ejbweb/index.jsp
若页面中显示:
result is:hello,wenkun!
则ejb组件访问成功!