import java.io.*; import javax.servlet.*; import javax.servlet.http.*; import java.util.*; // This an online banking program. It has two modes: The user authentification // mode and the transaction processing mode. Once the user is authorized she // can make repeated withdrawls and deposits. When done she hits cancel bringing // up the registration screen so other users may log in. public class Bank07 extends HttpServlet { public void doGet (HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException{ double balance; double amount; PrintWriter out; response.setContentType("text/html"); out = response.getWriter(); Bankjdbc03 bank=new Bankjdbc03(); // now we get parameters passed via forms. Not of all these will be non-null String username = request.getParameter("username"); String password = request.getParameter("password"); String check = request.getParameter("check"); String amountstring = request.getParameter("amount"); String deposit = request.getParameter("deposit"); String withdraw = request.getParameter("withdraw"); String cancel = request.getParameter("cancel"); // out.println("<p> username=" + username); // out.println("<p> password=" + password); // out.println("<p> check=" + check); // out.println("<p> amountstring=" + amountstring); // out.println("<p> deposit=" + deposit); // out.println("<p> withdraw=" + withdraw); // out.println("<p> cancel=" + cancel); out.println("<HTML><HEAD><TITLE>Hometown Bank</TITLE> " + "</HEAD><BODY><H1 ALIGN=center>Hometown Bank</H1>" ); // if we don't have a valid account then print the Check Balance form if (username==null || password==null || cancel!=null){ out.println("<FORM ACTION=Bank07 METHOD=POST " + "<P><P>Enter userID: " + "<INPUT TYPE=text NAME=username > " + "Enter password: <INPUT TYPE=password NAME=password >" + "<P></BODY></HTML> "); out.println("<P> " + "<INPUT TYPE=submit NAME='check' VALUE='Check Balance'> " + "<INPUT TYPE=submit NAME=cancel VALUE=Cancel></FORM> "); out.println("</BODY></HTML> "); } // if we do have username and passward given then process transaction and // print Deposit/Withdraw form. else { balance=bank.getBalance(username,password); if (balance < 0) { out.println("<p><b> Sorry, you entered an invalid username or password</b>"); out.println("<form method=post action=Bank07>" + "<input type=submit value='try again!'> "+ "</form></body></html>"); out.close(); return; } // extra care is needed to convert amout from string to double if (amountstring !=null){ if (amountstring.trim().length()==0){ amount=0; } else { amount = Double.valueOf(amountstring.trim()).doubleValue(); } } else { amount=0; } if (deposit!=null) { balance=balance + amount; bank.setBalance(username,password,balance); out.println("<p><b> $" + amountstring + " deposited</b> "); } if (withdraw!=null) { balance=balance-amount; bank.setBalance(username,password,balance); out.println("<p><b> $" + amountstring + " withdrawn</b> "); } out.println("<p><b> Hi " + username + "</b>"); out.println("<p><b>Balance: $" + balance + "</b> "); out.println("<FORM ACTION=Bank07 METHOD=POST ><P> Enter Amount:" + "<INPUT TYPE=text NAME=amount ><P> " + "<INPUT TYPE=submit NAME=deposit VALUE=Deposit> " + "<INPUT TYPE=submit NAME=withdraw VALUE=Withdraw> " + "<INPUT TYPE=submit NAME=cancel VALUE=Cancel> "); out.println("<INPUT TYPE=hidden NAME=username VALUE="+username+ " >"); out.println("<INPUT TYPE=hidden NAME=password VALUE="+password+ " >"); out.println("</FORM></BODY></HTML> "); } out.close(); }// end doGet public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { doGet(request, response); }// end doPost }// end class