/** ***************************************************************** gcd.java servlet example for TJ Java class. @author Joyce Su & Jeff Offutt @version 1.0 (July 2009) ********************************************************************* */ // Import Java Libraries import java.io.*; import java.util.*; //Import Servlet Libraries import javax.servlet.*; import javax.servlet.http.*; // gcd class // Based on the swing / awt version by Joyce Su public class gcd extends HttpServlet { // Location of servlet. static String Domain = "cs.gmu.edu:8080"; static String Path = "/offutt/servlet/"; static String Servlet = "gcd"; // Button labels static String OperationLCM = "LCM"; static String OperationGCD = "GCD"; // Other strings. /** ***************************************************** * Overrides HttpServlet's doPost(). * Converts the values in the form, performs the operation * indicated by the submit button, and sends the results * back to the client. ********************************************************* */ public void doPost (HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { int rsltVal = 0; int lhsVal = 0; int rhsVal = 0; String operation = request.getParameter ("Operation"); String lhsStr = request.getParameter ("LHS"); String rhsStr = request.getParameter ("RHS"); String rsltStr = request.getParameter ("RSLT"); response.setContentType ("text/html"); PrintWriter out = response.getWriter(); PrintHead (out); try { if ((lhsStr != null) && (lhsStr.length() > 0)) lhsVal = Integer.parseInt (lhsStr); if ((rhsStr != null) && (rhsStr.length() > 0)) rhsVal = Integer.parseInt (rhsStr); if ((rsltStr != null) && (rsltStr.length() > 0)) rsltVal = Integer.parseInt (rsltStr); if (operation.equals (OperationLCM)) rsltVal = lhsVal * rhsVal / gcd (lhsVal, rhsVal); else if (operation.equals (OperationGCD)) rsltVal = gcd (lhsVal, rhsVal); } catch (NumberFormatException e) { // nonnumeric, ask the user to try again. out.println ("
"); out.println ("One or more of your entries was not numeric."); out.println ("Please use only integers, no characters or spaces."); out.println ("
"); } PrintBody (out, lhsStr, rhsStr, (new Integer (rsltVal)).toString()); PrintTail (out); } // End doPost /** ***************************************************** * Overrides HttpServlet's doGet(). * Prints an HTML page with a blank form. ********************************************************* */ public void doGet (HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setContentType ("text/html"); PrintWriter out = response.getWriter(); PrintHead (out); PrintBody (out); PrintTail (out); } // End doGet /** ***************************************************** * Prints the of the HTML page, no . ********************************************************* */ private void PrintHead (PrintWriter out) { out.println (""); out.println (""); out.println (""); out.println ("GCD example"); out.println (" "); out.println (""); out.println (""); } // End PrintHead /** ***************************************************** * Prints the of the HTML page with the form data * values from the parameters. ********************************************************* */ private void PrintBody (PrintWriter out, String lhs, String rhs, String rslt) { out.println (""); out.println ("

"); out.println ("A servlet to compute the GCD or LCM."); out.println ("

"); out.print ("
"); out.println (""); out.println ("
"); out.println (""); out.println (""); out.println (""); out.println ("
"); out.println (" "); out.println (" "); out.println (" "); out.println (" "); out.println ("
First val:"); out.println (" "); out.println (" Second val:"); out.println (" "); out.println ("
"); out.println ("
Result:"); out.println (" "); out.println ("
"); out.println ("
"); out.println (" "); out.println (" "); out.println (" "); out.println (" "); out.println (" "); out.println (" "); out.println ("
"); out.println (" "); out.println ("
"); out.println (" "); out.println (" "); out.println (" "); out.println (" "); out.println (" "); out.println (" "); out.println ("
"); out.println ("
"); out.println (""); out.println (""); } // End PrintBody /** ***************************************************** * Overloads PrintBody (out,lhs,rhs,rslt) to print a page * with blanks in the form fields. ********************************************************* */ private void PrintBody (PrintWriter out) { PrintBody (out, "", "", ""); } /** ***************************************************** * Prints the bottom of the HTML page. ********************************************************* */ private void PrintTail (PrintWriter out) { out.println (""); out.println ("

"); out.println ("Joyce Su & Jeff Offutt, July 2009"); out.println ("

"); out.println (""); } // End PrintTail // Written by Joyce Su private int gcd (int a, int b) { int num=0; if (a=1; k--) { if (a%k==0 && b%k==0) { num=k; break; } } } if (b=1; p--) { if (b%p==0 && a%p==0) { num=p; break; } } } return num; } } // End calculate