bankaccount.java
来自「用jsp+servlet」· Java 代码 · 共 131 行
JAVA
131 行
package server;import java.io.*;import java.net.MalformedURLException;import java.net.URL;import java.net.URLConnection;import java.util.ArrayList;/** * A bank account has a balance that can be changed by deposits and withdrawals. */public class BankAccount { /** * Constructs a bank account with a zero balance. */ public BankAccount(int aNumber, int pin) { try { URLConnection con = getServletConnection("balance"); OutputStream outstream = con.getOutputStream(); ObjectOutputStream oos = new ObjectOutputStream(outstream); oos.writeObject(aNumber+"&"+pin); oos.flush(); oos.close(); // receive result from servlet InputStream instr = con.getInputStream(); ObjectInputStream inputFromServlet = new ObjectInputStream(instr); String result = (String) inputFromServlet.readObject(); balance=Double.parseDouble(result); inputFromServlet.close(); instr.close(); } catch (Exception e) { balance = 0; e.printStackTrace(); // TODO: handle exception } } /** * Constructs a bank account with a given balance. * * @param initialBalance * the initial balance */ public BankAccount(double initialBalance) { balance = initialBalance; } /** * Withdraws money from the account. * * @param the * amount of money to withdraw */ public void deposit(double amount,Customer c) { try { URLConnection con = getServletConnection("deposit"); OutputStream outstream = con.getOutputStream(); ObjectOutputStream oos = new ObjectOutputStream(outstream); oos.writeObject(amount+"&"+c.getCustomerNumber()+"&"+c.getPin()); oos.flush(); oos.close(); // receive result from servlet InputStream instr = con.getInputStream(); ObjectInputStream inputFromServlet = new ObjectInputStream(instr); String result = (String) inputFromServlet.readObject(); balance+=Double.parseDouble(result); inputFromServlet.close(); instr.close(); } catch (Exception e) { e.printStackTrace(); // TODO: handle exception } } /** * Deposits money into the account. * * @param the * amount of money to deposit */ public void withdraw(double amount,Customer c) { try { URLConnection con = getServletConnection("withdraw"); OutputStream outstream = con.getOutputStream(); ObjectOutputStream oos = new ObjectOutputStream(outstream); oos.writeObject(amount+"&"+c.getCustomerNumber()+"&"+c.getPin()); oos.flush(); oos.close(); // receive result from servlet InputStream instr = con.getInputStream(); ObjectInputStream inputFromServlet = new ObjectInputStream(instr); String result = (String) inputFromServlet.readObject(); balance-=Double.parseDouble(result); inputFromServlet.close(); instr.close(); } catch (Exception e) { e.printStackTrace(); // TODO: handle exception } } /** * Gets the account balance. * * @return the account balance */ public double getBalance() { return balance; } private URLConnection getServletConnection(String addr) throws MalformedURLException, IOException { // Connection zum Servlet 鰂fnen URL urlServlet = new URL("http://localhost:8080/mid3t/" + addr); URLConnection con = urlServlet.openConnection(); // konfigurieren con.setDoInput(true); con.setDoOutput(true); con.setUseCaches(false); con.setRequestProperty("Content-Type", "application/x-java-serialized-object"); // und zur點kliefern return con; } private double balance;}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?