亮剑Java Web项目开发案例导航
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

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 测试结果