JSP调用EJB需要添加什么工作,请大侠指路

windfast 2002-08-16 05:37:46
我用普通Application调用EJB可以成功(用JB7)
但是换成相同代码的JSP确不行,总是显示没办法找到EJB的错误,lookup不成功。
我想是否要加入一些JNDI的信息才行,请大侠不吝赐教。
...全文
30 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
windfast 2002-08-16
  • 打赏
  • 举报
回复
public Context getInitialContext()
throws NamingException {
Hashtable properties = new Hashtable(2);
properties.put(Context.PROVIDER_URL, "iiop://localhost:6543/");
properties.put(Context.INITIAL_CONTEXT_FACTORY,
"com.ibm.ejs.ns.jndi.CNInitialContextFactory");
return new InitialContext(properties);
}是getInitialContext的代码

windfast 2002-08-16
  • 打赏
  • 举报
回复
还有,我用ejbtest,lookup里的参数可以直接是EJB的JNDI名字,好像不需要前面
java:comp/env/ejb/TheConverter这些在容器内调用的写法吧!
windfast 2002-08-16
  • 打赏
  • 举报
回复
我的代码和上面差不多,请问是用JB7的运行环境吗,看以前的文章,好像要设置什么JNDI的属性
wjmmml 2002-08-16
  • 打赏
  • 举报
回复
上面的代码是我运行通过的。应该对你有帮助,祝你好运。
wjmmml 2002-08-16
  • 打赏
  • 举报
回复

<%@ page import="Converter,ConverterHome,javax.ejb.*, java.math.*, javax.naming.*, javax.rmi.PortableRemoteObject, java.rmi.RemoteException" %>
<%!
private Converter converter = null;

public void jspInit() {
try {
InitialContext ic = new InitialContext();
Object objRef = ic.lookup("java:comp/env/ejb/TheConverter");
ConverterHome home = (ConverterHome)PortableRemoteObject.narrow(objRef, ConverterHome.class);
converter = home.create();
} catch (RemoteException ex) {
System.out.println("Couldn't create converter bean."+ ex.getMessage());
} catch (CreateException ex) {
System.out.println("Couldn't create converter bean."+ ex.getMessage());
} catch (NamingException ex) {
System.out.println("Unable to lookup home: "+ "TheConverter "+ ex.getMessage());
}
}

public void jspDestroy() {
converter = null;
}
%>
<html>
<head>
<title>Converter</title>
</head>

<body bgcolor="white">
<h1><b><center>Converter</center></b></h1>
<hr>
<p>Enter an amount to convert:</p>
<form method="get">
<input type="text" name="amount" size="25">
<br>
<p>
<input type="submit" value="Submit">
<input type="reset" value="Reset">
</form>

<%
String amount = request.getParameter("amount");
if ( amount != null && amount.length() > 0 ) {
BigDecimal d = new BigDecimal (amount);
%>
<p>
<%= amount %> dollars are <%= converter.dollarToYen(d) %> Yen.
<p>
<%= amount %> Yen are <%= converter.yenToEuro(d) %> Euro.
<%
}
%>

</body>
</html>

67,513

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧