FileDocCategorySizeDatePackage
TestClobCharacterServlet.javaAPI DocExample3028Wed Jul 11 09:41:30 BST 2001None

TestClobCharacterServlet

public class TestClobCharacterServlet extends HttpServlet

Fields Summary
Constructors Summary
Methods Summary
public voiddoGet(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response)

  
    PrintWriter out = response.getWriter();
  
    Clob       biography  = null;
    Connection connection = CacheConnection.checkOut();
    Statement  statement  = null;
    ResultSet  resultSet  = null;
    String     sql        =
     "select biography " +
     "from   person p, person_information i " +
     "where  p.person_id = i.person_id " +
     "and    last_name = " + 
     formatWithTicks(request.getParameter("last_name")) + " " +
     "and    first_name = " + 
     formatWithTicks(request.getParameter("first_name"));
     
    try { 
      statement = connection.createStatement();
      resultSet = statement.executeQuery(sql);
      if (resultSet.next()) {
        biography = resultSet.getClob(1);
      }
      else {
        response.setContentType("text/html");
        out.println("<html><head><title>Person Biography</title></head>");
        out.println("<body><h1>No data found</h1></body></html>");
        return;
      }
      response.setContentType("text/plain");

      Reader in = biography.getCharacterStream();
      System.out.println("after getCharacterStream");
      int length = (int)biography.length();
      System.out.println("lenght of the Clob is " + length);
      char[] buffer = new char[1024];
      while ((length = in.read(buffer)) != -1) {
        System.out.println("writing " + length + " chars");
        out.write(buffer, 0, length);
      }
      System.out.println("written");
      in.close();
      in = null;
      out.flush();
    }
    catch (SQLException e) {
      System.out.println(
       "TestClobCharacterServlet.doGet() SQLException: " + 
       e.getMessage() + "executing ");
      System.out.println(sql);
    }
    finally {
      if (resultSet != null) 
        try { resultSet.close(); } catch (SQLException ignore) { }
      if (statement != null) 
        try { statement.close(); } catch (SQLException ignore) { }
    }
    // let's return the conection
    CacheConnection.checkIn(connection);
  
public voiddoPost(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response)

    doGet(request, response);
  
private java.lang.StringformatWithTicks(java.lang.String string)

    if (string != null) {
      char[]       in  = string.toCharArray();
      StringBuffer out = new StringBuffer((int)(in.length * 1.1));
      if (in.length > 0)
        out.append("'");
      for (int i=0;i < in.length;i++) {
        out.append(in[i]);
        if (in[i] == '\'") 
          out.append(in[i]);
      }
      if (in.length > 0)
        out.append("'");
      return out.toString();
    }
    else {
      return "NULL";
    }