The error This ResultSet is closed meant you are trying to get data from a result set which has no data. It's probably an error in your program logic. At least one place looks wrong:
if (search1!= null) {
params.add(search1);
}
if (search1 != null) {
params.add(search2);
}
Did you mean?
if (search1 != null) {
params.add(search1);
}
if (search2 != null) {
params.add(search2);
}