/** ***************************************************************** JOConvert.java SWE 432 servlet assignment 2, Hwk 7. Modification of JConvert by Offutt and Li. @author Jeff Offutt @version 1.0 (10/24/00) ********************************************************************* */ // Import Servlet Libraries import javax.servlet.*; import javax.servlet.http.*; // Import Java Libraries import java.io.*; import java.util.*; import java.lang.*; // JOConvert class // // CONSTRUCTOR: no constructor specified (default) // // **************** PUBLIC OPERATIONS ********************************** // void doPost () --> Main servlet method for handling form // void doGet () --> Calls PrintHead and PrintForm (if called from a link) // void PrintHead () --> Regenerates the head of the web page // void PrintForm () --> Regenerates the form of the web page //************************************************************************* // // The possible IOException on the PrintWriter is thrown up. public class JOConvert extends HttpServlet { /** ***************************************************** * Overrides HttpServlet's doPost(). * Converts each entry in the form and prints the results * at the top of an HTML page. * The new values are printed in red (#FF0000). ********************************************************* */ public void doPost (HttpServletRequest req, HttpServletResponse res) throws ServletException, IOException { res.setContentType ("TEXT/HTML"); PrintWriter out = res.getWriter (); PrintHead (res); String FAsStr = req.getParameter ("F"); String CAsStr = req.getParameter ("C"); String inAsStr = req.getParameter ("in"); String cmAsStr = req.getParameter ("cm"); String ftAsStr = req.getParameter ("ft"); String mAsStr = req.getParameter ("m"); String miAsStr = req.getParameter ("mi"); String kmAsStr = req.getParameter ("km"); String galAsStr = req.getParameter ("gal"); String LAsStr = req.getParameter ("L"); String ozAsStr = req.getParameter ("oz"); String gAsStr = req.getParameter ("g"); String lbAsStr = req.getParameter ("lb"); String kgAsStr = req.getParameter ("kg"); int n; float num1, num2; out.println ("

"); out.print (""); if (FAsStr != null && FAsStr.length ()>0) { // Convert farenheit num1 = (Float.valueOf (FAsStr).floatValue ()); n = Math.round (num1* (float)100.0); num1 = (float) (n/ (float)100.0); num2 = (float) ( ( (num1-32.0)*5.0)/9.0); n = Math.round (num2* (float)100.0); num2 = (float) (n/ (float)100.0); out.println (""); } if (CAsStr != null && CAsStr.length ()>0) { // Convert Celsius num1 = (Float.valueOf (CAsStr).floatValue ()); n = Math.round (num1* (float)100.0); num1 = (float) (n/ (float)100.0); num2 = (float) ( (num1*9.0/5.0)+32.0); n = Math.round (num2* (float)100.0); num2 = (float) (n/ (float)100.0); out.println (""); } if (inAsStr != null && inAsStr.length ()>0) { // Convert inches num1 = (Float.valueOf (inAsStr).floatValue ()); n = Math.round (num1* (float)100.0); num1 = (float) (n/ (float)100.0); num2 = (float) (num1*2.54); n = Math.round (num2* (float)100.0); num2 = (float) (n/ (float)100.0); out.println (""); } if (cmAsStr != null && cmAsStr.length ()>0) { // Convert centimeters num1 = (Float.valueOf (cmAsStr).floatValue ()); n = Math.round (num1* (float)100.0); num1 = (float) (n/ (float)100.0); num2 = (float) (num1*0.3937); n = Math.round (num2* (float)100.0); num2 = (float) (n/ (float)100.0); out.println (""); } if (ftAsStr != null && ftAsStr.length ()>0) { // Convert feet num1 = (Float.valueOf (ftAsStr).floatValue ()); n = Math.round (num1* (float)100.0); num1 = (float) (n/ (float)100.0); num2 = (float) (num1*0.3048); n = Math.round (num2* (float)100.0); num2 = (float) (n/ (float)100.0); out.println (""); } if (mAsStr != null && mAsStr.length ()>0) { // Convert meters num1 = (Float.valueOf (mAsStr).floatValue ()); n = Math.round (num1* (float)100.0); num1 = (float) (n/ (float)100.0); num2 = (float) (num1/0.3048); n = Math.round (num2* (float)100.0); num2 = (float) (n/ (float)100.0); out.println (""); } if (miAsStr != null && miAsStr.length ()>0) { // Convert Miles num1 = (Float.valueOf (miAsStr).floatValue ()); n = Math.round (num1* (float)100.0); num1 = (float) (n/ (float)100.0); num2 = (float) (num1*1.609); n = Math.round (num2* (float)100.0); num2 = (float) (n/ (float)100.0); out.println (""); } if (kmAsStr != null && kmAsStr.length ()>0) { // Convert kilometers num1 = (Float.valueOf (kmAsStr).floatValue ()); n = Math.round (num1* (float)100.0); num1 = (float) (n/ (float)100.0); num2 = (float) (num1*0.6214); n = Math.round (num2* (float)100.0); num2 = (float) (n/ (float)100.0); out.println (""); } if (galAsStr != null && galAsStr.length ()>0) { // Convert gallons num1 = (Float.valueOf (galAsStr).floatValue ()); n = Math.round (num1* (float)100.0); num1 = (float) (n/ (float)100.0); num2 = (float) (num1*3.785); n = Math.round (num2* (float)100.0); num2 = (float) (n/ (float)100.0); out.println (""); } if (LAsStr != null && LAsStr.length ()>0) { // Convert Liters num1 = (Float.valueOf (LAsStr).floatValue ()); n = Math.round (num1* (float)100.0); num1 = (float) (n/ (float)100.0); num2 = (float) (num1/3.785); n = Math.round (num2* (float)100.0); num2 = (float) (n/ (float)100.0); out.println (""); } if (ozAsStr != null && ozAsStr.length ()>0) { // Convert ounces num1 = (Float.valueOf (ozAsStr).floatValue ()); n = Math.round (num1* (float)100.0); num1 = (float) (n/ (float)100.0); num2 = (float) (num1*28.35); n = Math.round (num2* (float)100.0); num2 = (float) (n/ (float)100.0); out.println (""); } if (gAsStr != null && gAsStr.length ()>0) { // Convert grams num1 = (Float.valueOf (gAsStr).floatValue ()); n = Math.round (num1* (float)100.0); num1 = (float) (n/ (float)100.0); num2 = (float) (num1/28.35); n = Math.round (num2* (float)100.0); num2 = (float) (n/ (float)100.0); out.println (""); } if (lbAsStr != null && lbAsStr.length ()>0) { // Convert pounds num1 = (Float.valueOf (lbAsStr).floatValue ()); n = Math.round (num1* (float)100.0); num1 = (float) (n/ (float)100.0); num2 = (float) (num1*0.4536); n = Math.round (num2* (float)100.0); num2 = (float) (n/ (float)100.0); out.println (""); } if (kgAsStr != null && kgAsStr.length ()>0) { // Convert Kilograms num1 = (Float.valueOf (kgAsStr).floatValue ()); n = Math.round (num1* (float)100.0); num1 = (float) (n/ (float)100.0); num2 = (float) (num1*2.205); n = Math.round (num2* (float)100.0); num2 = (float) (n/ (float)100.0); out.println (""); } /* } Ren's error handling was commented out ... catch (NumberFormatException e) { handleError (new NumberFormatException ( "Please check that the values entered are numeric"), res); return; } catch (Exception e) { handleError (e, res); return; }*/ out.println ("
"); out.println (num1); out.println (" Fº ="); out.println (""); out.println (num2); out.println ("
"); out.println (num1); out.println (" Cº ="); out.println (""); out.println (num2); out.println ("
"); out.println (num1); out.println (" in ="); out.println (""); out.println (num2); out.println (" cm
"); out.println (num1); out.println (" cm ="); out.println (""); out.println (num2); out.println (" in
"); out.println (num1); out.println (" ft ="); out.println (""); out.println (num2); out.println (" m
"); out.println (num1); out.println (" m ="); out.println (""); out.println (num2); out.println (" ft
"); out.println (num1); out.println (" mi ="); out.println (""); out.println (num2); out.println (" km
"); out.println (num1); out.println (" km ="); out.println (""); out.println (num2); out.println (" mi
"); out.println (num1); out.println (" gal ="); out.println (""); out.println (num2); out.println (" L
"); out.println (num1); out.println (" L ="); out.println (""); out.println (num2); out.println (" gal
"); out.println (num1); out.println (" oz ="); out.println (""); out.println (num2); out.println (" g
"); out.println (num1); out.println (" g ="); out.println (""); out.println (num2); out.println (" oz
"); out.println (num1); out.println (" lb ="); out.println (""); out.println (num2); out.println (" kg
"); out.println (num1); out.println (" kg ="); out.println (""); out.println (num2); out.println (" lb
"); out.println ("


"); PrintForm (res); out.close (); } /** ***************************************************** * Overrides HttpServlet's doGet(). * Reprints the HTML page, blank. ********************************************************* */ public void doGet (HttpServletRequest req, HttpServletResponse res) throws ServletException, IOException { // Prints the form, added for completeness. res.setContentType ("TEXT/HTML"); PrintWriter out = res.getWriter (); PrintHead (res); PrintForm (res); } /** ***************************************************** * Prints the head of the HTML page, without the form. ********************************************************* */ private void PrintHead (HttpServletResponse res) throws ServletException, IOException { PrintWriter out=res.getWriter (); out.println (""); out.println (""); out.println ("SWE 432: Measurement Conversion"); out.println (""); out.println (""); out.println ("

On-line Measurement Conversion

"); out.println ("Jeff Offutt and Ren Li"); out.println ("
"); } /** ***************************************************** * Prints the form of the HTML page. * Also prints out the bottom and closes the PrintWriter. ********************************************************* */ private void PrintForm (HttpServletResponse res) throws ServletException, IOException { // Reprints the form, just like the original HTML res.setContentType ("text/html"); PrintWriter out=res.getWriter (); out.print ("
"); out.println ("

"); out.println (" "); 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 (" "); 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 ("
Fahrenheit (Fº): "); out.println (" to/fromCelsius (Cº): "); out.println ("
Inch (in): "); out.println (" to/fromCentimeter (cm): "); out.println ("
Feet (ft): "); out.println (" to/fromMeter (m): "); out.println ("
Mile (mi): "); out.println (" to/fromKilometer (km): "); out.println ("
Gallon (gal): "); out.println (" to/fromLiter (L): "); out.println ("
Ounce (oz): "); out.println (" to/fromGram (g): "); out.println ("
Pound (lb): "); out.println (" to/fromKilogram (kg): "); out.println ("
"); out.print (" "); out.println (" "); out.println (" "); out.println (" "); out.println (" "); out.println ("
"); out.println ("

"); out.println ("

"); out.println (""); out.println (" Class homepage"); out.println ("


"); // I guess this doesn't work remotely. // out.println (""); out.println ("

"); out.println (""); out.println ("© Jeff Offutt, 2000, all rights reserved."); out.println (" This document is made available for use by GMU graduate students of SWE 432."); out.println (" Copying, distribution or other use of this document"); out.println (" without express permission of the author is forbidden."); out.println (" You may create links to pages in this web site,"); out.println (" but may not copy all or part of the text without permssion"); out.println (" of the author."); out.println (""); out.println (""); out.println (""); out.println (""); out.close (); } }