Tanto leos05 como yo te lo hemos dicho bien claro
Cita: NO USES <%String miId = rs.getString(1);sesion.setAttribute("id",miId);%>
Usa rs.getString(1) para generar la dirección, leos05 te ha puesto prácticamente el código que tienes que utilizar
Cita: Hola
La razon por la cual te está mandando siempre el ultimo id es que se esta sobreescribiendo tu variable miId , por cada vuelta que de el while.
Como bien decia Xerelo , lo que tienes que hacer es por cada ciclo , construir la url y pasarle como parametro ese id.
por ejemplo
<%while(rs.next() )
{%>
<tr>
<td><%=rs.getString(1)%></td>
<td><%=rs.getString(2)%></td>
<td><%=rs.getString(3)%></td>
<td><input type="button" onclick="location.href='rutafichero....html?miId=' <%=rs.getString(0)%>" /></td>
</tr>
<%}%>
Algo asi tendrías que hacer. Por cada TR, estaras mandando el id.
Saludos
Lo único que tienes que hacer es cambiar rutafichero....html por tupagina.jsp y hacer que tupagina,jsp lea el parametro (getParameter) miId de la request, no de la sesión