Il mio obiettivo è avere 3 select html: provincia, cap e città.

quando seleziono una provincia, le select cap e città si devono aggiornare in base alla provincia selezionata, dandomi la possibilità di scegliere solo i cap e le città di quella provincia.
non so se mi spiego.

ora, supponendo di avere un db mysql con le 3 tabelle corrispondenti, così mi creo la select html relativa alle province. come faccio a collegare le altre 2 select in modo tale da dipendere da questa?

codice:
<select name="provincia" id="provincia">
     <option value="selezionaProvincia" selected="selected">Seleziona una provincia:</option>
     <%
          Class.forName("com.mysql.jdbc.Driver").newInstance();
          Connection conn = DriverManager.getConnection("jdbc:mysql://localhost/nomeDB?user=root&password=miaPassword");
	  Statement st = conn.createStatement();
	  ResultSet rs = st.executeQuery("select * from province");				
	  while(rs.next())
	       out.println("<option value=\""+rs.getString(1)+"\">"+rs.getString(1)+"</option>");
     %>
</select>