技术开发 频道

在不同平台下部署J2EE连接器和J2EE应用

        开发客户端

  本案例使用了两种类型的客户端,一种客户端基于浏览器,它通过HTTP访问JSP组件,JSP组件通过RMI调用EJB组件,EJB组件再通过资源适配器调用EIS;另一种客户端是普通的Java程序,这个Java程序通过RMI调用EJB,EJB组件再通过资源适配器调用EIS。

  在实现中,JSP代码和普通java程序的代码基本一样,不同的是它们获得初始上下文环境(InitialContext)的方法不同。

  我们看一下简单的JSP客户端,如例程3所示。

  例程3 JSP客户端

1 例程3  JSP客户端
2 <%@ page contentType="text/html;charset=gb2312" import="com.hellking.jca.ejb.*,javax.naming.*"%>
3 <html><body><form><table><tr><td>请输入名字:
4 </td><td><input name=name type=text></td></tr>
5 <tr><td><input value=submit type=submit></td></tr></table></form>
6 <%
7 String name=(String)request.getParameter("name");
8 try
9 {
10 InitialContext context=new InitialContext();
11 DemoHome home=(DemoHome)javax.rmi.PortableRemoteObject.narrow(
12                 context.lookup("ejb/demo"),DemoHome.class);
13 Demo demo=home.create();
14 if(demo!=null)out.println("demo is ok");
15 out.println("调用ejb-->jca-->eis");
16 out.println("发送了:hellking,返回以下的值:<hr><font color=red>");
17 out.println(demo.sayHello(name));
18 out.println("</font>");
19 out.flush();
20   }
21   catch(Exception e)
22   {
23   }
24 %></body></html>
25

 

  普通的java客户端和JSP基本一样,只是需要指定相关的属性才能获得InitialContext实例。可以通过以下的方法获得InitialContext实例。

  例程4 在普通的Java客户端获得InitialContext实例

1 例程4 在普通的Java客户端获得InitialContext实例
2 //创建初始的上下文环境
3 public Client()
4 {
5     context=this.getInitialContext();
6 }
7 public InitialContext getInitialContext()
8     {
9         try
10         {
11             Properties p=new Properties();
12             p.load(new FileInputStream("config.properties"));
13             return new InitialContext(p);
14         }
15         catch(Exception e)
16         {
17             System.out.println("got ee");
18             e.printStackTrace();
19             return null;
20         }
21      }
22

  Java客户端的详细代码见src/client/Client.java文件。

  下面介绍装配和部署的相关问题。

0
相关文章