Home | Download | PDF | API | FAQ | Search | Feedback | History

> ## Creating the Web Client

> The web client is contained in the JSP page `<``INSTALL``>/javaeetutorial5/examples/ejb/converter/converter-war/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 business 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 classes needed by the client are declared using a JSP `page` directive (enclosed within the `<%@ %>` characters). Because locating the business 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, a JSP scriptlet invokes the enterprise bean's business methods, and JSP expressions (enclosed within the `<%= %>` characters) insert the results into the stream of data returned to the client.

>     <%@ page import="converter.ejb.Converter,
>           java.math.*, javax.naming.*"%>

>     <%!
>       private Converter converter = null;
>       public void jspInit() {
>         try {
>           InitialContext ic = new InitialContext();
>           converter = (Converter)
>               ic.lookup(Converter.class.getName());
>         } catch (Exception ex) {
>           System.out.println("Couldn't create converter bean."+
>               ex.getMessage());
>         }
>       }

>       public void jspDestroy() {
>         converter = null;
>       }
>     %>
>     <html>
>       <head>
>         <title>Converter</title>
>       </head>

>       <body bgcolor="white">
>         <h1>Converter</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);

>             BigDecimal yenAmount = converter.dollarToYen(d);
>         %>
>         <p>
>         <%= amount %> dollars are  <%= yenAmount %>  Yen.
>         <p>
>         <%
>             BigDecimal euroAmount =
>                 converter.yenToEuro(yenAmount);
>         %>
>         <%= amount %> Yen are <%= euroAmount %>  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.