public ActionForward execute(ActionMapping mapping, ActionForm form, 
                               HttpServletRequest request, 
                               HttpServletResponse response) 
                               throws IOException, ServletException
  {
    String criterio = (String) request.getParameter("criterio");
    String termino = (String) request.getParameter("termino");
    String redireccion = null;
    Connection con = null;
    
    //no se ha indicado el criterio de la busqueda o el
    //termino que se ha de busar
    if(criterio==null || termino == null || termino.equals(""))
    {
      redireccion = "noencontrado";
    }
    else
    {
      try
      {
        con = pool.getConnection();
        LibroDAO libroDAO = new LibroDAO(con);
        Collection col = null;
        
        if(criterio.equals("autor"))
        {
          col = libroDAO.buscaPorAutor(termino);
        }
        else if(criterio.equals("titulo"))
        {
          col = libroDAO.buscaPorTitulo(termino);
        }
        else if(criterio.equals("isbn"))
        {
          col = libroDAO.buscaPorIsbn(termino);
        }
        request.setAttribute(BeanNames.LIBROS_LIST, col);
        redireccion = "encontrado";
      }
      catch (SQLException e)
      {
        e.printStackTrace();
        throw new RuntimeException("No se puede conseguir una conexion.");
      }
      finally
      {
        try
        {
          if(con != null)
          {
            con.close();
          }
        }
        catch(SQLException e)
        {
          throw new RuntimeException(e.getMessage());
        }
      }
    }
    
    return mapping.findForward(redireccion);
  }