请问怎样从jsp页面中调用已经在weblogic中部署好的EJB?
我按照教程做了一个电子商城系统,里面分为互联网模块和应用程序模块。互联网模块在WebLogic里面配置好了,IE可以正常访问。应用程序模块,教程里让在jbuilder里面运行,不知道如何才能从网页上访问? 问题点数:60、回复次数:5Top
1 楼wmzsl(王明哲)回复于 2006-12-01 12:32:53 得分 10
为什么要做ejb,用ejb对于你这么一个项目就是垃圾项目!
调用的方法都一样,jsp=servlet,后台怎么写,在jsp就可以怎么写!
但是兄弟劝你别研究了,如果是新手还是去好好看看core java吧Top
2 楼yinyiyin(尹以银)回复于 2006-12-01 12:39:18 得分 10
import com.ejb.ejbname
ejbname ejb= new ejbname();
ejb.method();Top
3 楼lcllcl987(毛爷爷)回复于 2006-12-01 13:24:50 得分 40
在servlet或jsp中调用ejb:
public class SBRequestMessageSenderServlet extends HttpServlet
{
/**
* @see javax.servlet.http.HttpServlet#void (javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)
*/
public void doGet(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException
{
this.doPost(req,resp);
}
/**
* @see javax.servlet.http.HttpServlet#void (javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)
*/
public void doPost(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException
{
String jndiValue = "ejb/co/iproxy/sb/IProxyServiceSessionHome";
IProxyServiceSession serviceSession = null;
System.out.println("in servlet");
String msg = req.getParameter("message");
ServletOutputStream out = resp.getOutputStream();
out.print("async request");
//
Context ctx;
try
{
ctx = new InitialContext();
Object obj = ctx.lookup(jndiValue);
IProxyServiceSessionHome serviceSessionHome = (IProxyServiceSessionHome)PortableRemoteObject
.narrow(obj,IProxyServiceSessionHome.class);
serviceSession = serviceSessionHome.create();
}
catch (Exception e)
{
// TODO Auto-generated catch block
e.printStackTrace();
}
String response = serviceSession.request(msg);
System.out.println("resposne is:" + response);
out.println("<br>" + "response message is <br><textarea cols=100 rows=30>" + response);
out.println("</textarea><hr>");
}
}Top
4 楼lcllcl987(毛爷爷)回复于 2006-12-01 13:26:12 得分 0
这就是调用ejb的代码:
ctx = new InitialContext();
Object obj = ctx.lookup(jndiValue);
IProxyServiceSessionHome serviceSessionHome = (IProxyServiceSessionHome)PortableRemoteObject.narrow(obj,IProxyServiceSessionHome.class);
serviceSession = serviceSessionHome.create();
其中IProxyServiceSessionHome 为该ejb的远程接口Top
5 楼fosforward(fosforward)回复于 2006-12-01 18:00:10 得分 0
谢谢楼上的各位!我周一来给分。Top




