Wednesday, May 4, 2011

LoginServlet

Listing 1 :


public class LoginServlet extends HttpServlet {

 public void doGet (HttpServletRequest req, HttpServletResponse res)
      throws ServletException, IOException

{
String   inputsurname = req.getParameter("surname");
String   inputfirstname = req.getParameter("firstname");
String  hostToConnectTo = req.getParameter("host");
String  tmpPort = req.getParameter("port");
int  portToConnectTo = Integer.valueOf(tmpPort).intValue();  .
.





Appendix A – Sample Demo Code

Servlet Code Example - LoginServlet.java

/*
 * LoginServlet.java  7/27/99 
 * Barry Tait
 *
 * Processes the client request by logging into Accounting application - ACCT
 * and retrieving client infomation. ACCT takes a surname and firstname as input 
 * from the client. 
 *
 * It then logs into a Stockbroking application - DMOI, using the account 
 * number retrieved from ACCT. It retrieves portfolio details from DMOI then
 * calls a JavaServer Page (JSP) which creates the response.
 * 
 */

import java.io.*;
import java.util.Vector;
import javax.servlet.*;
import javax.servlet.http.*;
import peerlogic.clientapis.emulator.*;
import acct.*;
import dmoi.*;

public class LoginServlet extends HttpServlet {

    public void doGet (HttpServletRequest req, HttpServletResponse res)
      throws ServletException, IOException

    {
 String  inputsurname = req.getParameter("surname");
 String  inputfirstname = req.getParameter("firstname");
 String hostToConnectTo = req.getParameter("host");
 String tmpPort = req.getParameter("port");
 int portToConnectTo = Integer.valueOf(tmpPort).intValue();  

 //
 // Create session object
 //
 HttpSession session = req.getSession(true);

 //
 // Put variables into session
 //
 session.putValue("host", hostToConnectTo);
 session.putValue("port", tmpPort);

 //
 // Instantiate New PeerLogic PATH3270 Beans
 //
 KixEmulator newEmulator = new KixEmulator();
 KixEmulator newEmulator2 = new KixEmulator();
   AcctDetails getAccountDetails = new AcctDetails();
 DmoiLogin getDmoiDetails = new DmoiLogin();

 newEmulator.setTN3270Port(portToConnectTo);
   newEmulator.setTN3270Host(hostToConnectTo);
 newEmulator2.setTN3270Port(portToConnectTo);
   newEmulator2.setTN3270Host(hostToConnectTo);

//
 // Assign terminal Bean to each data access Bean
 //
 getAccountDetails.setKixEmulator(newEmulator);
 getDmoiDetails.setKixEmulator(newEmulator2);
 //
 // Set variables from form
 //
 getAccountDetails.setSurname(inputsurname);
 getAccountDetails.setFirstName(inputfirstname);

  //
 // Login to system and execute the "acct" transaction.
 // As input enter a surname and firstname. Capture details if user
 // exists and display JSP. If there's an error display loginError.jsp.
 //

 try {
  getAccountDetails.performWork();

  //
  // Put AcctDetails bean - getAccountDetails, into session so 
// that the JSP can access it. This bean will contain the retrieved client
// information from the accounting application - ACCT.
  //
  session.putValue("resultsBean", getAccountDetails);

  //
// Get Account No. (acctID) from getAccountDetails Bean - this is used to 
// drive the DmoiLogin Bean - getDmoiDetails
  //
  String acctID = getAccountDetails.getDetails_acctID();

  //
  // Use the acctID for login to the DMOI application
  //
  getDmoiDetails.setUserID(acctID);

  //
  // Login to DMOI and add the portfolio details to the session
  //

         try {
          getDmoiDetails.performWork();

   // 
   // Put getDmoiDetails Bean into session
   //
   session.putValue("dmoiResultsBean", getDmoiDetails);

         }

         catch ( IllegalStateException e ) {

         }


  //
    // Call the JSP - login.jsp for display
  //
  getServletContext().getRequestDispatcher("/jspDemo/login.jsp").forward
  (req, res);

 }

 catch ( IllegalStateException e ) {
  
//
  // Call JSP error page if user details are not found
  //
getServletContext().getRequestDispatcher("/jspDemo/loginError.jsp").
forward(req, res);
 }

  }
}
JSP Code Example - Login.jsp

<HTML>
<HEAD>
<TITLE>UT Screen Bean Servlet/JSP test page</TITLE>

<!—- Include the JavaScript files needed for client-side validation -->
<%@ include file="/javascript/checkBuyFields.js" %>
<%@ include file="/javascript/checkSellFields.js" %>

</HEAD>
<BODY>
<P><font size=1 face="verdana, arial" color=red>&nbsp;Display Page:</font>  <font size=1 face="verdana, arial">Type=JSP 
name=login.jsp</font>
</P>

<!—- Import Java Vector class – needed for formatting of table -->
<%@ page import="java.util.Vector" %>

<!-- Retrieve Beans from session -->
<jsp:useBean id="resultsBean" scope="session" class="acct.AcctDetails" />   
<jsp:setProperty name="resultsBean" property="*"/>
<jsp:useBean id="dmoiResultsBean" scope="session" class="dmoi.DmoiLogin" />   
<jsp:setProperty name="dmoiResultsBean" property="*"/>

<CENTER>

<!-- Main HTML body -->
<TABLE WIDTH=670 BORDER=0 CELLPADDING=4 CELLSPACING=4>
<TR>
<TD WIDTH=400 ALIGN=left VALIGN=top>

<P>
<font size=2 face=verdana>
<B>Account Details:
<font color=red>

<!-- Retrieve data from Bean methods -->
<%= resultsBean.getDetails_Title() %>
<%= resultsBean.getDetails_FirstName() %>
<%= resultsBean.getDetails_Initial() %>
<%= resultsBean.getDetails_Surname()%>
</font></B>
</font>
</P>
<BR>

<!-- Acct details table -->
<TABLE WIDTH=400 BORDER=1 CELLPADDING=4 CELLSPACING=2>
<TR>
<TD BGCOLOR="#eeeeee" WIDTH=120 ALIGN=left>
<font face="verdana, arial" size=2><b>Account No.:</b></font></TD>
<TD WIDTH=280 ALIGN=left><font face="verdana, arial" size=2>
<%= resultsBean.getDetails_acctID() %>
</font></TD></TR>

<TR><TD BGCOLOR="#eeeeee" WIDTH=120 ALIGN=left>
<font face="verdana, arial" size=2><b>Address:</b></font></TD>
<TD WIDTH=280 ALIGN=left><font face="verdana, arial" size=2>
<%= resultsBean.getDetails_Address() %>
</font></TD></TR>

<TR><TD BGCOLOR="#eeeeee" WIDTH=120 ALIGN=left>
<font face="verdana, arial" size=2><b>Account Limit:</b></font></TD>
<TD WIDTH=280 ALIGN=left><font face="verdana, arial" size=2>
<%= resultsBean.getDetails_Limit() %>
</font></TD></TR>
</TABLE>

<BR>
<BR>

<P><font size=2 face=verdana><B>Current Portfolio:<font color=red>
$ <% if (dmoiResultsBean.getTotalValue() != null) { %>
  <%= dmoiResultsBean.getTotalValue() %>
   </font></B></font></P>

   <TABLE WIDTH=400 BORDER=1 CELLPADDING=4 CELLSPACING=2>
   <TR>
 <TD BGCOLOR="#eeeeee" WIDTH=100 ALIGN=center>
 <font face="verdana, arial" size=2><b>Stock</b></font></TD>
 <TD BGCOLOR="#eeeeee" WIDTH=100 ALIGN=center>
 <font face="verdana, arial" size=2><b>Volume</b></font></TD>
 <TD BGCOLOR="#eeeeee" WIDTH=100 ALIGN=center>
 <font face="verdana, arial" size=2><b>Price</b></font></TD>
 <TD BGCOLOR="#eeeeee" WIDTH=100 ALIGN=center>
 <font face="verdana, arial" size=2><b>Total</b></font></TD>
   </TR>

   <%
   Vector stocks = dmoiResultsBean.getV_stock();
   Vector holdings = dmoiResultsBean.getV_holding();
   Vector prices = dmoiResultsBean.getV_price();
   Vector values = dmoiResultsBean.getV_value();

   for (int i = 0; i < stocks.size(); i++) { %>
   
    <!-- Test for end of array -->

    <% if (((String)stocks.elementAt(i)).substring(0,1).equals(" ")) {%>
  <TR>
 <TD WIDTH=100 ALIGN=center>
 <% String stockName = ((String)stocks.elementAt(i)); %>
<font face="verdana, arial" size=2><%= stockName %></font></TD>
 <TD WIDTH=100 ALIGN=center>
 <% String holdingAmount = ((String)holdings.elementAt(i)); %>
 <font face="verdana, arial" size=2><%= holdingAmount %></font></TD>
 <TD WIDTH=100 ALIGN=center>
 <% String priceAmount = ((String)prices.elementAt(i)); %>
 <font face="verdana, arial" size=2><%= priceAmount %></font></TD>
 <TD WIDTH=100 ALIGN=center>
 <% String valueAmount = ((String)values.elementAt(i)); %>
 <font face="verdana, arial" size=2><%= valueAmount %></font></TD>
 </TR>
   <% } %>  
  <% } %>
  </TABLE>

<% }

else {
 out.println("0"); 
} %>

</TD>
<TD WIDTH=90> </TD>

<!-- Buy and Sell Tables -->
<TD WIDTH=180 ALIGN=center VALIGN=top>
<P><font size=2 face="verdana"><B>Transaction Options:</B></font></P>

<TABLE WIDTH=180 BORDER=1 CELLPADDING=2 CELLSPACING=2><TR>
<TD BGCOLOR=black ALIGN=center>
<font face="verdana, arial" size=2 color=white><b>Buy Stock</b></font></TD></TR>
<TR><TD ALIGN=center>
<FORM Action="/servlet/BuyServlet" onSubmit="return checkBuyFields(this)" METHOD=GET>
<font face="verdana, arial" size=2>
<SELECT NAME="buyStock" SIZE="1">
<OPTION Value="" SELECTED>Please Select</OPTION>
<OPTION Value=stock1 SELECTED>Stock 1</OPTION>
<OPTION Value=stock2 SELECTED>Stock 2</OPTION>
<OPTION Value=stock3 SELECTED>Stock 3</OPTION>
<OPTION Value=stock4 SELECTED>Stock 4</OPTION>
<OPTION Value=stock5 SELECTED>Stock 5</OPTION>
<OPTION Value=stock6 SELECTED>Stock 6</OPTION>
<OPTION Value=stock7 SELECTED>Stock 7</OPTION>
<OPTION Value=stock8 SELECTED>Stock 8</OPTION>
<OPTION Value=stock9 SELECTED>Stock 9</OPTION>
</SELECT>
</font>
</TD></TR> 
<TR><TD ALIGN=center>
<font face="verdana, arial" size=2>Volume:</font>
<INPUT NAME="buyVolume" SIZE="5"></TD></TR>
<TR><TD BGCOLOR="#eeeeee" ALIGN="center"><INPUT Type="submit" Value="  Submit  ">
</TD></TR></TABLE>
</FORM>

<BR>

<TABLE WIDTH=180 BORDER=1 CELLPADDING=2 CELLSPACING=2><TR>
<TD BGCOLOR=black ALIGN=center>
<font face="verdana, arial" size=2 color=white><b>Sell Stock</b></font></TD></TR>
<TR><TD ALIGN=center>
<FORM Action="/servlet/SellServlet" onSubmit="return checkSellFields(this)" METHOD=GET>
<font face="verdana, arial" size=2>
<SELECT NAME="sellStock" SIZE="1">
<OPTION Value="" SELECTED>Please Select</OPTION>
<OPTION Value=stock1 SELECTED>Stock 1</OPTION>
<OPTION Value=stock2 SELECTED>Stock 2</OPTION>
<OPTION Value=stock3 SELECTED>Stock 3</OPTION>
<OPTION Value=stock4 SELECTED>Stock 4</OPTION>
<OPTION Value=stock5 SELECTED>Stock 5</OPTION>
<OPTION Value=stock6 SELECTED>Stock 6</OPTION>
<OPTION Value=stock7 SELECTED>Stock 7</OPTION>
<OPTION Value=stock8 SELECTED>Stock 8</OPTION>
<OPTION Value=stock9 SELECTED>Stock 9</OPTION>
</SELECT>
</font>
</TD></TR> 
<TR><TD ALIGN=center>
<font face="verdana, arial" size=2>Volume:</font>
<INPUT NAME="sellVolume" SIZE="5"></TD></TR>
</TD></TR>
<TR><TD BGCOLOR="#eeeeee" ALIGN=center><INPUT Type="submit" Value="  Submit  ">
</TD>
</TR>
</TABLE>
</FORM>
<BR>

<!-- close main table -->
</TD>
</TR>
</TABLE>
<P ALIGN=center>
<FORM Action="/servlet/LogoffServlet" METHOD=GET>
<INPUT Type="hidden" name="logoff" value="true">
<INPUT Type="submit" Value="     Click here to Logoff    ">
</FORM>
</P>
</CENTER>
</BODY>
</HTML>




No comments:

Post a Comment