Beh, non è che sia proprio semplicissimo.
Lo puoi voler fare lato client usando JavaScript (che significa che dovrai fornire alla pagina HTML tutte le informazioni per poterlo fare) oppure lato server (che significa che, ad ogni clic sulle select, viene generata una Request ed il server dovrà filtrare i dati per la JSP).
Esistono anche altre tecniche che usano librerie lato client apposite (credo jQuery et simili).
Per farlo lato server, dovrai fare in modo che la SELECT reagisca alla selezione di un elemento, invocando una funzione JavaScript:
codice:
<select name="selCognome" onchange="JavaScript: ctrlSelCognome(this);">
<option value="Rossi">Rossi
<option value="Bianchi">Bianchi
...
</select>
La funzione JavaScript dovrà generare una request sul server (ad esempio, usando un form nascosto):
codice:
<script type="text/JavaScript" language="JavaScript">
<!--
function ctrlSelCognome( mioSelect ) {
var formCognome = document.getElementById('formCognome');
var valoreSelezionato = mioSelect.value;
formCognome.cognome = valoreSelezionato;
formCognome.submit();
}
//-->
</script>
...
<form id="formCognome" action="..." method="post">
<input type="hidden" name="cognome" />
</form>
</script>
Il server prenderà in carico la richiesta e tramite la sua bella servlet otterrà il valore del parametro "cognome", effettuerà il filtro di tutti i valori che corrispondono al cognome ottenuto come parametro e creerà un elenco di tutti e soli i valori filtrati. Poi passerà il controllo alla JSP che visualizzerà la nuova SELECT con i valori ottenuti dalla servlet.
Ciao.