从博文:http://www.cnblogs.com/yangyquin/p/5328344.html 中可以知道如何利用Intellij IDEA建立一个EJB Module,还有新建一个测试Module。
但是我发现新建的EJB项目可以优化一下,在EJB Module里面建立一个JSP文件,用来调用EJB项目。
1、在Intellij IDEA新建一个EJB工程(一)中新建的EJB项目是包含web应用的,所以先优化一下项目结构,
主要将META-INF统一到web目录下,而lib文件夹放在WEB-INF目录下。
2、在src目录下新建一个jboss-ejb-client.properties文件:
endpoint.name=client-endpoint remote.connectionprovider.create.options.org.xnio.Options.SSL_ENABLED=false remote.connections=default remote.connection.default.host=localhost remote.connection.default.port = 4447 remote.connection.default.connect.options.org.xnio.Options.SASL_POLICY_NOANONYMOUS=false remote.connection.default.username=yang remote.connection.default.password=123456
3、修改index.jsp文件:
<%-- Created by IntelliJ IDEA. User: gao Date: 16-3-28 Time: 下午4:22 To change this template use File | Settings | File Templates. <%@ page contentType="text/html;charset=UTF-8" language="java" %>--%> <%@ page language="java" contentType="text/html; charset=GB18030" pageEncoding="GB18030"%> <!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="com.ejb.HelloWorld"%> <%@page import="javax.naming.NamingException"%> <%@ page import="java.util.Hashtable" %> <%@ page import="javax.naming.Context" %> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=GB18030"> <title>测试页</title> </head> <body> Hello World!!!!! <% final String appName = ""; final String moduleName = "EJBTest_war_exploded"; final String distinctName = ""; final String beanName = "HelloWorldEJB"; final String viewClassName = HelloWorld.class.getName(); final String namespace = "ejb:" + appName + "/" + moduleName + "/" + distinctName + "/" + beanName + "!" + viewClassName; System.out.println(namespace); try { final Hashtable jndiProperties = new Hashtable(); jndiProperties.put(Context.URL_PKG_PREFIXES, "org.jboss.ejb.client.naming"); final Context context = new InitialContext(jndiProperties); HelloWorld helloWorld = (HelloWorld) context.lookup(namespace); System.out.println(helloWorld); String s = helloWorld.sayHello("yangyuqin"); System.out.println(s); }catch (NamingException e) { e.printStackTrace(); } %> </body> </html>
4、使用JBoss运行EJBTest项目即可。
5、运行结果:
浏览器页面: