jsp调用ejb,出现一个问题老是不成功JBAS011843: Failed instantiate InitialContextFactory org.jnp.interfaces.NamingContextFactory from classloader ModuleClassLoader for Module "deployment.MyTestEjb.war:main" from Service Module Loader
ejb代码:package com.ejb;
import javax.ejb.Remote;
@Remote
public interface FirstBeanRemote {
public String hello(); }
package com.ejb;import javax.ejb.LocalBean;
import javax.ejb.Stateless;/**
* Session Bean implementation class FirstBean
*/
@Stateless
@LocalBean
public class FirstBean implements FirstBeanRemote {
/**
* Default constructor.
*/
public FirstBean() {
// TODO Auto-generated constructor stub
}
public String hello() {
return "hello";
}
}
jsp代码:<%@ page contentType="text/html; charset=UTF-8"%> <%@ page import="com.ejb.*, javax.naming.*, java.util.Properties"%>
<jsp:directive.page import="java.util.Hashtable"/> <%
Hashtable<String,String> prop=new Hashtable<String,String>(); prop.put("java.naming.factory.initial", "org.jnp.interfaces.NamingContextFactory");
prop.put("java.naming.provider.url", "localhost:1099");
prop.put("java.naming.factory.url.pkgs", "org.jboss.naming:org.jnp.interfaces");
InitialContext ctx;
try {
ctx = new InitialContext(prop); FirstBeanRemote helloworld = (FirstBeanRemote) ctx.lookup("FirstBean/remote");
out.println(helloworld.hello());
} catch (NamingException e) {
out.println(e.getMessage());
}
%>
这是网上的一个测试例子,不知道我为什么老是不成功,求大神解答
ejb jspjavaee
ejb代码:package com.ejb;
import javax.ejb.Remote;
@Remote
public interface FirstBeanRemote {
public String hello(); }
package com.ejb;import javax.ejb.LocalBean;
import javax.ejb.Stateless;/**
* Session Bean implementation class FirstBean
*/
@Stateless
@LocalBean
public class FirstBean implements FirstBeanRemote {
/**
* Default constructor.
*/
public FirstBean() {
// TODO Auto-generated constructor stub
}
public String hello() {
return "hello";
}
}
jsp代码:<%@ page contentType="text/html; charset=UTF-8"%> <%@ page import="com.ejb.*, javax.naming.*, java.util.Properties"%>
<jsp:directive.page import="java.util.Hashtable"/> <%
Hashtable<String,String> prop=new Hashtable<String,String>(); prop.put("java.naming.factory.initial", "org.jnp.interfaces.NamingContextFactory");
prop.put("java.naming.provider.url", "localhost:1099");
prop.put("java.naming.factory.url.pkgs", "org.jboss.naming:org.jnp.interfaces");
InitialContext ctx;
try {
ctx = new InitialContext(prop); FirstBeanRemote helloworld = (FirstBeanRemote) ctx.lookup("FirstBean/remote");
out.println(helloworld.hello());
} catch (NamingException e) {
out.println(e.getMessage());
}
%>
这是网上的一个测试例子,不知道我为什么老是不成功,求大神解答
ejb jspjavaee
应该是没有注解的问题!
这个很可能是因为不同的ContextFactory的原因,我最近也在研究EJB~