Download PDF Home History |  | API Search Feedback FAQ

> ## Creating the Web Client

> The Web client is contained in the JSP page `<``INSTALL``>/j2eetutorial14/examples/ejb/converter/web/index.jsp`. A JSP page is a text-based document that contains JSP elements, which construct dynamic content, and static template data, which can be expressed in any text-based format such as HTML, WML, and XML.

> ### Coding the Web Client

> The statements (in bold in the following code) for locating the home interface, creating an enterprise bean instance, and invoking a business method are nearly identical to those of the application client. The parameter of the `lookup` method is the only difference; the motivation for using a different name is discussed in Mapping the Enterprise Bean References.

> The classes needed by the client are declared using a JSP `page` directive (enclosed within the `<%@ %>` characters). Because locating the home interface and creating the enterprise bean are performed only once, this code appears in a JSP declaration (enclosed within the `<%! %>` characters) that contains the initialization method, `jspInit`, of the JSP page. The declaration is followed by standard HTML markup for creating a form that contains an input field. A scriptlet (enclosed within the `<% %>` characters) retrieves a parameter from the request and converts it to a `BigDecimal` object. Finally, JSP expressions (enclosed within `<%= %>` characters) invoke the enterprise bean's business methods and insert the result into the stream of data returned to the client.

>     <%@ page import="Converter,ConverterHome,javax.ejb.*,
>     javax.naming.*, javax.rmi.PortableRemoteObject,
>     java.rmi.RemoteException" %>
>     <%!
>       private Converter converter = null;
>       public void jspInit() {
>         try {
>           InitialContext ic = new InitialContext();
>           Object objRef = ic.lookup("
>             java:comp/env/ejb/TheConverter");
>           ConverterHome home =
>           (ConverterHome)PortableRemoteObject.narrow(
>           objRef, ConverterHome.class);
>           converter = home.create();
>         } catch (RemoteException ex) {
>           ...
>         }
>       }
>       ...
>     %>
>     <html>
>     <head>
>        <title>Converter</title>
>     </head>

>     <body bgcolor="white">
>     <h1><center>Converter</center></h1>
>     <hr>
>     <p>Enter an amount to convert:</p>
>     <form method="get">
>     <input type="text" name="amount" size="25">
>     <br>
>     <p>
>     <input type="submit" value="Submit">
>     <input type="reset" value="Reset">
>     </form>
>     <%
>       String amount = request.getParameter("amount");
>       if ( amount != null && amount.length() > 0 ) {
>         BigDecimal d = new BigDecimal (amount);
>     %>
>       <p><%= amount %> dollars are
>         <%= converter.dollarToYen(d) %>  Yen.
>       <p><%= amount %> Yen are
>         <%= converter.yenToEuro(d) %>  Euro.
>     <%
>        }
>     %>
>     </body>
>     </html>

> ### Compiling the Web Client

> The Application Server automatically compiles Web clients that are JSP pages. If the Web client were a servlet, you would have to compile it.

> ### Packaging the Web Client

> To package a Web client, you run the New Web Component wizard of the `deploytool` utility. During this process the wizard performs the following tasks.

> - Creates the Web application deployment descriptor
> - Adds the component files to a WAR file
> - Adds the WAR file to the application's `ConverterApp.ear` file

> To start the New Web Component wizard, select FileNewWeb Component. The wizard displays the following dialog boxes.

> 1. Introduction dialog box
> 1. Read the explanatory text for an overview of the wizard's features.
> 2. Click Next.
> 2. WAR File dialog box
> 1. Select the button labeled Create New WAR Module in Application.
> 2. In the combo box below this button, select `ConverterApp`.
> 3. In the WAR Name field, enter `ConverterWAR`.
> 4. Click Edit Contents.
> 5. In the tree under Available Files, locate this directory:

> `<``INSTALL``>/j2eetutorial14/examples/ejb/converter/web/`

> 6. Select `index.jsp`.
> 7. Click Add.
> 8. Click OK.
> 9. Click Next.
> 3. Choose Component Type dialog box
> 1. Select the JSP Page button.
> 2. Click Next.
> 4. Component General Properties dialog box
> 1. In the JSP Filename combo box, select `index.jsp`.
> 2. Click Finish.

> ### Specifying the Web Client's Enterprise Bean Reference

> When it invokes the `lookup` method, the Web client refers to the home of an enterprise bean:

>     Object objRef = ic.lookup("java:comp/env/ejb/TheConverter");

> You specify this reference as follows:

> 1. In the tree, select `ConverterWAR`.
> 2. Select the EJB Ref's tab.
> 3. Click Add.
> 4. In the Coded Name field, enter `ejb/TheConverter`.
> 5. In the EJB Type field, select Session.
> 6. In the Interfaces field, select Remote.
> 7. In the Home Interface field, enter `converter.ConverterHome`.
> 8. In the Local/Remote Interface field, enter `converter.Converter`.
> 9. In the JNDI Name field, select `ConverterBean`.
> 10. Click OK.

Download PDF Home History |  | API Search Feedback FAQ

All of the material in The J2EE(TM) 1.4 Tutorial is copyright-protected and may not be published in other works without express written permission from Sun Microsystems.