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按钮。
下如果找到:
+- 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组件访问成功!