Bueno intentare explicarme lo mejor posible para ver si me entienden.
Lo funcion de este servlet es mostrar los datos de un usuario que yo ingreso mediante html, que es este.
Código:
<html>
  <head>
    <title>Buscar Usuario</title>
  </head>
  <body bgcolor="salmon">
  <h1>Buscar Usuario</h1>
  
  <form action="http&#58;//localhost&#58;8084/correosandro/BuscaUsuarioMuestra" method="post">
  Ingrese la Cuenta<input type="text" name="cuenta" size="20">
  <input type="submit" value="Buscar">
  </form>
  </body>
</html>
Mas concretamente busca la cuenta de un usuario que esta en mi tabla "usuarios" dentro de la base de datos "mailperu" (esta hecho en mysql 5.0).
Este es el codigo java del servlet espero lo entiendan.(ya que como soy algo novato a veces se me pasan cosas)
Código:
package Servlets;

import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
import java.sql.*;

public class BuscaUsuarioMuestra extends HttpServlet &#123;
    Connection conn; //Objeto de la conexion
    Statement stm;
    static String login = "root"; 
    static String password = "admin"; 
    static String url = "jdbc&#58;mysql&#58;//localhost/mailperu";

public void init&#40;ServletConfig cf&#41; throws ServletException &#123;
    super.init&#40;cf&#41;;
//Se intenta cargar el driver de puente JDBC-ODBC
    try &#123;
        Class.forName&#40;"com.mysql.jdbc.Driver"&#41;;     
    &#125; catch &#40;ClassNotFoundException e&#41; &#123;
        System.out.println&#40;"Imposible encontrar el driver&#58;" + e.getMessage&#40;&#41;&#41;;
    &#125;
//Se intenta realizar la conexión a la base de datos ejemplo
    try &#123;
        conn = DriverManager.getConnection&#40;url,login,password&#41;; 
    &#125;catch &#40;SQLException e&#41; &#123;
        System.out.println&#40;"horror2"&#41;;   
        System.out.println&#40;"Imposible crear conexion&#58;" + e.getMessage&#40;&#41;&#41;;
    &#125;
&#125;// fin init&#40;&#41;
public void destroy&#40;&#41; &#123;
    super.destroy&#40;&#41;;
    try &#123;
        conn.close&#40;&#41;;
    &#125; catch &#40;SQLException e&#41; &#123;
        System.out.println&#40;"Imposible cerrar conexion&#58;" +e.getMessage&#40;&#41;&#41;;
    &#125;
&#125;//fin destroy&#40;&#41;
//Redefinimos el metodo doPost ya que las peticiones se realizaran por ese metodo
public void doPost&#40;HttpServletRequest request,
HttpServletResponse response&#41; throws ServletException &#123;
    String cuenta;
    PrintWriter out=null;
//Obtenemos los valores de los parámetros
    cuenta = request.getParameter&#40;"cuenta"&#41;;
    System.out.println&#40;cuenta&#41;;
//Comprobamos si esta vacio
//Si es asi enviamos una pagina informando del error y si no
//consultamos la BD e informamos de los resultados
    if &#40;cuenta == null &#41; &#123;
        try &#123; out = response.getWriter&#40;&#41;;
        &#125;catch &#40;IOException e&#41;&#123;
            System.out.println&#40;"Error en el canal de salida&#58; "+e.toString&#40;&#41;&#41;;
        &#125;
//Devolvemos una pagina de error
    out.println&#40;"<HTML>"&#41;;
    out.println&#40;"<HEAD>"&#41;;
    out.println&#40;"<TITLE>Error en la actualización de datos</TITLE>"&#41;;
    out.println&#40;"</HEAD>"&#41;;
    out.println&#40;"<BODY>"&#41;;
    out.println&#40;"<H1>Usuario no Valido</H1>"&#41;;
    out.println&#40;"</BODY>"&#41;;
    out.println&#40;"</HTML>"&#41;;
    out.flush&#40;&#41;;
    out.close&#40;&#41;;
    &#125; else &#123; // no hay errores
    try &#123;
//Creamos una sentencia para la recuperación de valores
    stm = conn.createStatement&#40;&#41;;
    ResultSet rs = stm.executeQuery&#40;"SELECT * FROM usuarios WHERE cuenta ="+cuenta&#41;;
    try&#123;
        out = response.getWriter&#40;&#41;;
    &#125; catch&#40;IOException e&#41;&#123;&#125;;
//Devolvemos una pagina de exito de operación
    out.println&#40;"<HTML>"&#41;;
    out.println&#40;"<HEAD>"&#41;;
    out.println&#40;"<TITLE>Datos de la persona solicitada</TITLE>"&#41;;
    out.println&#40;"</HEAD>"&#41;;
    out.println&#40;"<BODY>"&#41;;
    out.println&#40;"<TABLE BORDER=3 WIDTH=75%>"&#41;;
    out.println&#40;"<TR>"&#41;;
    out.println&#40;"<td width=33%><font color=\"#FF0000\">Cuenta</font> </td>"&#41;;
    out.println&#40;"<td width=33%><font color=\"#FF0000\">Clave</font> </td>"&#41;;
    out.println&#40;"<td width=\"33%\"><font color=\"#FF0000\">Nombres</font></td>"&#41;;
    out.println&#40;"<td width=\"33%\"><font color=\"#FF0000\">Apellidos</font></td>"&#41;;
    
    out.println&#40;"</TR>"&#41;;
    while&#40;rs.next&#40;&#41;&#41; &#123;
    out.println&#40;"<tr>"&#41;;
    out.println&#40;"<td width=\"33%\">"+ rs.getString&#40;"cuenta"&#41;+"</td>"&#41;;
    out.println&#40;"<td width=\"33%\">"+ rs.getString&#40;"clave"&#41;+"</td>"&#41;;
    out.println&#40;"<td width=\"33%\">"+ rs.getString&#40;"nombres"&#41;+"</td>"&#41;;
    out.println&#40;"<td width=\"33%\">"+ rs.getString&#40;"apellidos"&#41;+"</td>"&#41;;
    out.println&#40;"</tr>"&#41;;
    &#125;
    out.println&#40;"</TABLE>"&#41;;
    out.println&#40;"</BODY>"&#41;;
    out.println&#40;"</HTML>"&#41;;
    out.flush&#40;&#41;;
    out.close&#40;&#41;;
    &#125;catch &#40;Exception e&#41; &#123;
        System.out.println&#40;"Error en la actualización " + e.getMessage&#40;&#41;&#41;;
    &#125;finally &#123;
    try &#123;
        stm.close&#40;&#41;;
    &#125;catch&#40;SQLException e&#41;&#123; &#125;
    &#125;//fin finally
    &#125;//fin else
&#125;//fin doPost&#40;&#41;
&#125;//fin servlet
Bueno pero tengo un problema y no he podido resolverlo, cuando ingreso un cuenta de un usuario por ejemplo "asecino" el servlet no ejecuta y en el log del Bundled Tomcat tengo este mensaje(Error en la actualización Unknown column 'asecino in 'where clause'), pero si por ejemplo busco el usuario "123456" si lo encuentra y me muestra los datos que le pido. Lo que no entiendo es porque cuando ingreso usuario con letras no me da lo que quiero y con numeros si.
Espero que me ayuden muchas gracias por adelantado.