1.2 Web Logic的使用

本书案例用到了应用服务器中的佼佼者Web Logic,它比Tomcat功能强大得多,Tomcat只能称为一个Web服务器,称不上是应用服务器(AS),读者可以在官方网站上下载免费试用版,当然如果条件允许的话,也可以购买应用服务器。

1.2.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.2.2 Servlet的开发

上一节已经开发完成了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.2.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.2.4 部署应用

经过上面几节的开发,已经开发出了一个简单的应用,下面将逐步在WebLogic下进行部署,测试刚刚开发的应用。具体的部署过程如下。

① 启动WebLogic,启动成功后的后台如图1-10所示。

图1-10 启动WebLogic

② 在浏览器地址栏输入http://localhost:7001/console ,将进入WebLogic的登录页面,如图1-11所示。

图1-11 WebLogic登录界面

③ 在图1-11所示的页面中输入正确的用户名和密码后便可以进入WebLogic的后台管理主页,如图1-12所示。

图1-12 后台管理主页

④ 单击图1-12页面左上角处的 按钮,开始进行部署,然后单击下面的Deployments连接进入图1-13所示的页面。

图1-13 配置应用界面

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

图1-14 选择应用界面

⑥ 然后单击 按钮 ,直到出现如图1-15所示的页面。

图1-15 结束界面

⑦ 单击 按钮,进入如图1-16所示的页面,单击页面中的 按钮激活变化。

图1-16 保存界面

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

图1-17 激活应用

⑨ 激活应用后就可以进入测试页面了,测试页面如图1-18所示。

图1-18 测试界面

⑩ 单击测试页面的超链接,即可看到所开发的应用的最终效果,如图1-19所示。

图1-19 测试结果