package examples.htmlkona; import java.io.*; import java.util.*; import weblogic.html.*; import weblogic.common.*; import weblogic.db.jdbc.*; import java.sql.*; import javax.servlet.*; import javax.servlet.http.*; /** * This servlet retrieves an image by a key provided in the URL * and displays it. * * @author Copyright (c) 1996-98 by WebLogic, Inc. All Rights Reserved. * @author Copyright (c) 1999-2000 by BEA Systems, Inc. All Rights Reserved. */ public class ImageByKeyDisplay extends HttpServlet { public synchronized void service(HttpServletRequest req, HttpServletResponse res) throws IOException { Connection conn = null; try { res.setStatus(HttpServletResponse.SC_OK); String iname = req.getParameter("imagename"); conn = defaults.login(); if (iname != null) { // Select the image from the image table TableDataSet td = new TableDataSet(conn, "imagetable"); td.selectStmt().setQbe("name", iname); td.fetchRecords(); Record rec = td.getRecord(0); res.setContentType("image/" + rec.getValue("type").asString()); // Retrieve the images from the database ImagePage hp = new ImagePage(rec.getValue("data").asBytes()); hp.output(res.getOutputStream()); } else { res.setContentType("text/html"); TableElement tab = new TableElement(); tab.addElement(new TableRowElement() .addElement(new BoldElement("Gif #1")) .addElement(new ImageElement(defaults.prefix() + "ImageByKeyDisplay?imagename=vars"))) .addElement(new TableRowElement() .addElement(new BoldElement("Gif #2")) .addElement(new ImageElement(defaults.prefix() + "ImageByKeyDisplay?imagename=excepts"))); ServletPage hp = new ServletPage("Example 15"); hp.getBodyElement() .setAttribute(BodyElement.bgColor, HtmlColor.white); hp.getBody() .addElement(new HeadingElement("These gifs were retrieved from the " + "database based on a key passed as a URL argument", 2)) .addElement(MarkupElement.HorizontalRule) .addElement(tab.asCenteredElement()); hp.output(res.getOutputStream()); } } catch (Exception e) { defaults.showException(e, res.getOutputStream()); } finally { try {conn.close();} catch (Exception e2) {;} } } }