/* * Software is distributed on an "AS IS" basis, * WITHOUT WARRANTY OF ANY KIND, either express or implied. * * The Initial Developer of this code is SoftCorporation LLC. * Usage of this code allowed only with reference to SoftCorporation LLC * including a link to the web site: http://www.softcorporation.com * Copyright (C) 2001 SoftCorporation LLC. All Rights Reserved. */ import java.io.*; import java.util.*; import java.util.zip.*; import java.awt.*; import javax.servlet.*; import javax.servlet.http.*; import Acme.JPM.Encoders.*; import com.softcorporation.signpad.*; /* * SignPad Servlet Demo. * * @version: $Revision: 1.0 $ */ public class TestServlet extends HttpServlet { /* * Handles requests made with Post method * * @param req HttpServletRequest * @param res HttpServletRespons */ public void doPost(HttpServletRequest req, HttpServletResponse res) throws IOException { res.setContentType("text/html"); PrintWriter out = res.getWriter(); String sign = req.getParameter("sign"); String saveas = req.getParameter("saveas"); out.println(""); out.println("SignPad Test"); out.println(""); out.println("Signature received. Length is " + sign.length() + " bytes.

"); try { if ("gif".equals(saveas)) { File file = new File("signtest.gif"); FileOutputStream outFile = new FileOutputStream(file); DataOutputStream outStream = new DataOutputStream(outFile); Image image = SignProducer.getImage(sign); GifEncoder encoder = new GifEncoder(image, outStream); encoder.encode(); int i = outStream.size(); outStream.flush(); outStream.close(); outFile.close(); out.println("GIF encoded image saved in file '" + file.getCanonicalPath() + "'. File size is " + i + " bytes."); } else if ("jpeg".equals(saveas)) { File file = new File("signtest.jpeg"); FileOutputStream outFile = new FileOutputStream(file); DataOutputStream outStream = new DataOutputStream(outFile); Image image = SignProducer.getImage(sign); JpegEncoder encoder = new JpegEncoder(image, 75, outStream); encoder.Compress(); int i = outStream.size(); outStream.flush(); outStream.close(); outFile.close(); out.println("JPEG encoded image saved in file '" + file.getCanonicalPath() + "'. File size is " + i + " bytes."); } else { File file = new File("signtest.zip"); FileOutputStream outFile = new FileOutputStream(file); ZipOutputStream zos = new ZipOutputStream(new BufferedOutputStream(outFile)); zos.putNextEntry(new ZipEntry("sign")); byte bytes[] = new byte[sign.length()]; for (int i = 0; i < sign.length(); i++) { bytes[i] = (byte)sign.charAt(i); } zos.write(bytes); zos.finish(); zos.close(); outFile.close(); System.out.println("Sign compressed and saved in file '" + file.getCanonicalPath()); } } catch(Exception ex) { ex.printStackTrace(); out.println("
");
      out.println(ex.getMessage());
      out.println("
"); } out.println(""); } }