Olá MaryJane
Você conhece Ajax? Seria a forma mais elegante de se fazer isso. Imagine se toda vez que clicar em um Estado, você der um submit na página, e toda ela ser carregada denovo? E os campos já preenchidos?
Procure saber um pouco de Ajax, e como complemento, te indico o framework JQuery, que tem uns plugins muito bons para você utilizar.
Vou te passar um resumo de como seria com JQuery, só pra tu ter ideia do tanto que é fácil
<form action="CadastroFornecedorServlet" method="post">
<select id="estado" onchange="getCidade()">
<option value="SP">São Paulo</option>
<option value="RJ">São Paulo</option>
</select>
</form>
Dai com javascript vc faria assim:
function getCidade(){
$("#cidade").load("cidades.jsp/"+$("#estado").val());
}
Observe que estou usando o framework JQuery para fazer isso.
A função do JQuery load, chama uma página cidades.jsp, onde nela você vai criar um select com todas as cidades referentes aquele estado que vc passou como parametro.
a pagina cidade seria algo do tipo
<select id="cidade" >
<option value="c1">Cidade 1</option>
<option value="c2">Cidade 2</option>
<option value="c3">Cidade 3</option>
</select>
o objeto cidade pode ser um div, onde será criado um select, com todas as cidades.
Mais informações em:
[url]http://jquery.com/[/url]
aqui tem uns exemplos básicos que achei por acaso buscando no google
[url]http://www.studioaweb.com.br/blog/2009/04/tutorial-jquery-javascript-iniciante/[/url]
Qualquer dúvida posta ai que eu te ajudo.
Abraço