Generating the Response
ResultSetMetaData rsmd = rs.getMetaData() ;
int cols = rsmd.getColumnCount() ;
. . . set response content type, print HTML headers . . .
out.println("<table border cellspacing=0 cellpadding=5>") ;
out.println("<tr bgcolor=lightblue>") ; // print column headers
for(int i = 1 ; i <= cols ; i++)
out.println("<td>" + rsmd.getColumnLabel(i) + "</td>") ;
while(rs.next()) { // print the rows
for(int i = 1 ; i <= cols ; i++)
out.println("<td>" + rs.getString(i) + "</td>") ;
out.println("</table>") ;
. . . print HTML footers . . .