Ох бляяя
List<Result> resultCollection;
resultCollection = DBConnect();
out.println("<b>Общее количество кроссировок: " + resultCollection.size() + "</b>\n");
//out.println(DBConnect() + "</b>\n");
try {
int j=0;
for(int i=0;i<resultCollection.size()-1;i++){
Result result = resultCollection.get(i);
Result result1 = resultCollection.get(i+1);
Result result2 = resultCollection.get(resultCollection.size()-1);
// ну и дильше по коду везде меняем DBConnect() на resultCollection
У тебя при каждом обращении к результату присходит коннект, и выдёргивание из бд одних и тех же данных, это пиздец честно говоря.