⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ejbeanmanagedclient.jsp

📁 java的一系列产品中包括jsme,jmse,j2ee,本文件提供j2ee实现的源代码.
💻 JSP
字号:
<!-- Copyright (c) 1999-2002 by BEA Systems, Inc. All Rights Reserved.-->

<html>
<head>
<meta http-equiv="Content-Type" content="text/html;CHARSET=iso-8859-1">
<meta name="description" content="BEA WebLogic Server">

<meta name="keywords" content="BEA WebLogic Server">

<title>EJBean 2.0 Bean-managed Persistence JSP</title>

<LINK REL="stylesheet" 
TYPE="text/css" 
HREF="wls_examples.css" 
TITLE="BEA WebLogic Server">


</head>

<body bgcolor="#ffffff" link="#3366cc" vlink="#9999cc" alink="#0000cc">

<!-- top intro paragraph tables -->
<!-- RED LINE -->
<table cellspacing="0" cellpadding="0"  border="0" width="100%">
    <tr>
     <td  width="100%" bgcolor="#ff0000" height="1">
     <p class="small">&nbsp;</p>
     </td>
     </tr>
</table>

<table border=0 cellspacing="18" cellpadding="0">
<tr>
<td valign="top">
<a HREF="http://www.bea.com"><IMG SRC="images/logo_tm_onwt.jpg" alt="BEA Logo" border="0"></a>

 <h3><%= pagetitle %></h3>
 
 </td>
 </tr>
</table>

<!-- Using the "import" feature -->

<%@ page import="
    javax.naming.*,
    javax.ejb.*,
    java.rmi.RemoteException,
    java.rmi.Remote,
    java.util.*,
    examples.ejb20.basic.beanManaged.* 
"%>

<!-- Here, we declare a class method -->

<%!
  String pagetitle = "JSP example using EJBean-managed persistence";
  String accountId = "10020";

  // Declaring a Java class
  public Context getInitialContext(String url) throws Exception {
    Properties p = new Properties();
    p.put(Context.INITIAL_CONTEXT_FACTORY,
          "weblogic.jndi.WLInitialContextFactory");
    p.put(Context.PROVIDER_URL, url);
    return new InitialContext(p);
  }
    
  String getStackTraceAsString(Exception e)
  {
    // Dump the stack trace to a buffered stream, then send it's contents
    // to the JSPWriter. 
    ByteArrayOutputStream ostr = new ByteArrayOutputStream();
    e.printStackTrace(new PrintWriter(ostr));
    return(ostr.toString());
  }
%>

<!-- Note that the following Java code will be inserted into the body
of the servlet -->

<%
  String url = "http://" + request.getServerName() + ":" + request.getServerPort();
  double amount  = 100;
  double balance = 3000;

  try {
    // Contact the AccountBean container (the "AccountHome") through JNDI.

    Context ctx = getInitialContext(url);
    AccountHome home = (AccountHome) ctx.lookup("ejb20-beanManaged-AccountHome");

%>
<!-- RED LINE -->
<table cellspacing="0" cellpadding="0"  border="0" width="100%">
    <tr>
     <td  width="100%" bgcolor="#ff0000" height="1">
     <p class="small">&nbsp;</p>
     </td>
     </tr>
</table>

<table border=0 cellspacing="18" cellpadding="0">
<tr>
<td valign="top">
<p>
<b>Looking up account <%= accountId %> ...</b>

<%
    Account ac = null;
    try {
      ac = (Account) home.findByPrimaryKey(accountId);
    } 
    catch (Exception ee) {
        out.println("<br>Did not find "+ accountId);
    }

    if (ac == null) {
      out.print("<br>Account " + accountId + 
                " being created; opening balance is $" + balance);
      ac = home.create(accountId, balance);      
    } 
    else {
      out.print("<br>Account " + accountId +
                " found; balance is $" + ac.balance());
    }
%>

<h3>Part A:</h3> 
Deposit and attempt to withdraw more than the current
account balance. An application-specific exception should be thrown:-
<p>

Current Balance: $ <%= ac.balance() %> <br>
Depositing: $ <%= amount %>
<p>

<%
    // Deposit the amount into the account
    balance = ac.deposit(amount);
%>

New balance: $ <%= balance %>

<p>
<h3>PartB:</h3>
Withdraw an amount greater than 
current balance. Expecting an exception...
<p>

<%
    amount = balance + 10;
    try {
      balance = ac.withdraw(amount);
      out.print("Error: An exception should have been thrown.");
    } 
    catch (ProcessingErrorException pe) {
      out.print("Received expected Processing Error:" + pe.getMessage());
    }
%>      

<h3>Part C</h3> 
Create some new accounts, with different initial balances.
Find all the accounts with a balance greater than a specific value.
When finished, the new accounts are removed.
<p>

<%
    int numAccounts = 5;
    long now = System.currentTimeMillis();
    Vector v = new Vector();
    
    for (int i = 0; i < numAccounts; i++) {
      String id = "" + now + i;     // create unique account  id
      balance = i*100;              // initial balance
      v.addElement(home.create(id, balance)); 
%>

<br>Created account: <%= id %> with  balance: $ <%= balance %>

<%
    } // end of creating accounts for loop

    if (v.size() == numAccounts) {
      out.print("<p>Success: " + numAccounts + " accounts successfully created");
    }
    else {
      out.print("<p>Error: Only " + v.size() + 
                " accounts were created successfully");
    }
    
%>

<%
    double balanceGreaterThan = 700;
%>

<p>Querying for accounts with a balance greater than <%= balanceGreaterThan %> 
<table><tr><th Account ID><th Balance></tr>

<%
    Collection col = home.findBigAccounts(balanceGreaterThan);
    
    if (col != null) {
      Iterator iter = col.iterator();
      while (iter.hasNext()) {
        Account bigAccount= (Account) iter.next();
%>
<tr>
    <td><%= bigAccount.getPrimaryKey() %></td>
    <td><%= bigAccount.balance() %></td>
</tr>
<%
        // Thread.sleep(1000);
      }
    }
%>
</table>

<p>Now Removing the accounts we just created...

<%
    for (int i = 0; i < numAccounts; i++) {
      String id = String.valueOf(now) + String.valueOf(i); 
      ((Account)(v.elementAt(i))).remove();
      out.print("<br>Removed account: " +id);
    }

  // Catch exceptions
  } 
  catch (ProcessingErrorException pe) {
    out.print("<p>Unexpected Processing Error: " + pe.getMessage());
  }
  catch (Exception e) {
    out.print("<p>:::::::::::::: Unexpected Error :::::::::::::::::");
    out.print("<pre>"+getStackTraceAsString(e)+"</pre>");
  }
  finally {
%>

<p>Completed EJB operations at <%= new Date() %>
<p>
<%
  }
%>
 </td>
 </tr>
</table>
<br>
<!-- RED LINE -->
<table cellspacing="0" cellpadding="0"  border="0" width="100%">
    <tr>
     <td  width="100%" bgcolor="#ff0000" height="1">
     <p class="small">&nbsp;</p>
     </td>
     </tr>
</table>

<!-- FOOTER -->
<table cellspacing="0" cellpadding="0" border="0" width="100%">
  <tr>
    <td align="left">
      <p class="copyright">Last updated: March 2002</p>
    </td>
  </tr>
</table>

<table cellspacing="0" cellpadding="0" border="0" width="100%"><!-- RED LINE -->
   <tr> 
    <td  width="100%" bgcolor="#ff0000" height="1">
    <p class="small">&nbsp;</p>
    </td>
    </tr>
</table> 


 <p class="copyright"><a href="http://www.bea.com">Home</a> | 
        <a href="http://www.bea.com/about/index.html" target="_top">Corporate Info</a> | 
        <a href="http://www.bea.com/press/index.html" target="_top">News</a> | 
        <a href="http://www.bea.com/solutions/index.html" target="_top">Solutions</a> | 
        <a href="http://www.bea.com/products/index.html" target="_top">Products</a> | 
        <a href="http://www.bea.com/partners/index.html" target="_top">Partners</a> | 
        <a href="http://www.bea.com/services.html" target="_top">Services</a> | 
        <a href="http://www.bea.com/events/index.html" target="_top">Events</a> | 
        <a href="http://www.bea.com/download.html" target="_top">Download</a> | 
        <a href="http://www.bea.com/purchase.html" target="_top">How to Buy</a>
        <br>Copyright 2002, BEA Systems, Inc. All rights reserved. 
        <br>Required browser: Netscape 4.0 or higher, or Microsoft Internet Explorer 4.0 or higher.
        <br> <a href="http://www.bea.com/contact/index.html" target="_top">Contact BEA</a> 
      </p>

</body>
</html>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -