
1.3 WebLogic的使用
本书案例也用到了应用服务器中的佼佼者WebLogic,它比Tomcat服务器功能强大得多,Tomcat服务器只能称为Web服务器,称不上是应用服务器(AS),读者可以在官方网站上下载免费试用版,当然如果条件允许的话,也可以购买应用服务器。
1.3.1 开发一个简单的EJB程序
本节将开发一个简单的EJB程序。下面分别给出了该程序的业务接口、远程接口、本地接口及业务Bean,如下所示。
业务接口HelloEjb.java:
1 public interface HelloEjb{public String sayHello();}
远程接口HelloEjbRemote.java:
1 @Remote 2 public interface HelloEjbRemote extends HelloEjb{ }
本地接口HelloEjbLocal.java:
1 @Local 2 public interface HelloEjbLocal extends HelloEjb{ }
业务Bean:
1 @Stateless(mappedName="HelloEjbBeanJNDI") 2 public class HelloEjbBean implements HelloEjbLocal,HelloEjbRemote{ 3 public String sayHello(){return "Hello Ejb!!!!!!!";} 4 }
说明:上述几个类都是非常简单的,这里就不再介绍了。读者如果对EJB的编程步骤不太明白,可以先学习关于EJB的知识。
将编译好的类文件打包成jar包。关于打包过程这里就不再演示了,本书默认您已经具备了这些能力。
1.3.2 Servlet的开发
1.3.1节已经开发完成了EJB的主要业务文件,下面将开发后台的Servlet。Servlet的开发非常简单,这里的目的不是介绍EJB,仅仅是开发一个简单的EJB小程序来演示WebLogic的使用方法。下面首先给出负责远程调用的Servlet,具体代码如下所示。
负责远程调用的HelloServletRemote.java:
1 public class HelloServletRemote extends HttpServlet{ 2 public void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException { 3 response.setContentType("text/html;charset=GBK"); 4 PrintWriter out = response.getWriter(); 5 out.println("<html><head><title>调用EJB中的远程方法</title></head> <body>"); 6 try {Hashtable env = new Hashtable(); 7 env.put(Context.INITIAL_CONTEXT_FACTORY,"weblogic.jndi.WLInitial ContextFactory"); 8 env.put(Context.PROVIDER_URL, "t3://localhost:7001"); 9 Context initial = new InitialContext(); 10 HelloEjb hello=(HelloEjb)initial.lookup("java:comp/env/ejb/Hello EjbRemote"); 11 String say = hello.sayHello( ); 12 out.println("************************************<br>"); 13 out.println("EJB调用结果:<b><font color=red>"+say+"</font></b><br>"); 14 out.println("************************************"); 15 out.println("</b><h3>恭喜你,你已经成功调用EJB!!!</h3></body> </html>"); 16 } 17 catch (Exception ex) { 18 out.println("****出现例外!,重新调试!****"); 19 out.println(ex); 20 } }}
说明:该Servlet只是简单地在网页上输出一些基本信息,同时调用了业务Bean的相应方法,关于代码的具体细节这里不再介绍,本书默认读者已经掌握Servlet的知识。
1.3.3 开发前台JSP文件
后台的Servlet已经开发完成,下面将开始进行前台页面JSP的开发。JSP也非常简单,其具体代码如下。
前台JSP页面:
1 <%@ page contentType="text/html;charset=GBK"%> 2 <html> <head> <title>EJB简介</title> </head> <body> 3 <a href="HelloServletRemote" target="Blank1">远程调用—HelloServletRemote </a><br/> 4 <a href="HelloServletLocal" target="Blank2">本地调用—HelloServletLocal </a><br/> 5 </body></html>
说明:通过源代码可以看出,这里就是两个超链接,分别调用远程Servlet和本地Servlet。配置部署完毕后,将开发完的文件一次打包成war包和jar包,关于详细的打包过程这里不再过多介绍。
1.3.4 部署应用
现在已经开发出了一个简单的应用,下面将逐步在WebLogic下进行部署,测试刚刚开发的应用。具体的部署过程如下。
启动WebLogic,启动成功后的后台如图1-29所示。
在浏览器地址栏输入http://localhost:7001/console,将进入WebLogic的登录页面,如图1-30所示。

图1-29 启动WebLogic

图1-30 WebLogic登录页面
在图1-30所示的页面中输入正确的用户名和密码后便可以进入WebLogic的后台管理主页,如图1-31所示。
单击图1-31所示页面左上角处的Lock&Edit按钮,开始进行部署,然后单击下面的Deployments链接进入图1-32所示的页面。

图1-31 后台管理主页

图1-32 配置应用界面
单击图1-32所示页面中的Install按钮进入选择应用的页面,如图1-33所示,找到刚开发的应用,即图中的hello.ear文件。

图1-33 选择应用页面
然后单击Next按钮,直到出现如图1-34所示的页面。
单击Finsh按钮,进入如图1-35所示的页面,单击页面中的按钮
激活变化。

图1-34 结束页面

图1-35 保存页面
再次进入图1-35所示的页面,将看到刚才配置的应用,激活该应用,即可看到如图1-36所示的页面。

图1-36 激活应用
激活应用后进入测试页面,如图1-37所示。
单击测试页面的超链接,即可看到所开发的应用的最终效果,如图1-38所示。

图1-37 测试页面

图1-38 测试结果