Não estou conseguindo fazer alteração na minha aplicação

Pessoal estou desenvolvendo um sistema simples que lista os usuarios do BD e da a opção para alterar, consigo ir para a outra página com os dados que ele selecionou, só que na hora que mando ele fazer UPDATE ele não estar fazendo a devida Alteração…

Segue minha servlet que chama para fazer o UPDATE, troquei para o DoGet para ver se era isso mas mesmo assim não seu certo, tbm esta dando um erro de

[code]conexaoBD conexao = new conexaoBD();//FAZENDO A CONEXAO COM O BD
cadUsuario cad = new cadUsuario(); //MANDADO OS DADOS PARA A CLASSE cadUsuario

	System.out.println("estou pegando os dados");
	int id = Integer.parseInt(request.getParameter("ID"));
	String nome = request.getParameter("NOME");
	String senha = request.getParameter("SENHA");
	String fone = request.getParameter("FONE");
	
	cad.setId(id);
	cad.setNome(nome);
	cad.setSenha(senha);
	cad.setFone(fone);
	
	
	Connection con = conexao.getConnection();
	PreparedStatement ps = null;
	
	
	String update = "UPDATE cadlogin SET cadlogin_nome=?, cadlogin_senha=?, cadlogin_fone=? WHERE id=?";
	try {
		ps = con.prepareStatement(update);
		
		ps.setString(1, cad.getNome());
		ps.setString(2, cad.getSenha());
		ps.setString(3, cad.getFone());
		ps.setInt(4, id);
		//ps.setString(4, request.getParameter("id"));
		
		
		
		ps.execute();
		//ps.executeUpdate();
		System.out.println("Ok");
		
		
	} catch (SQLException e) {
		 
		e.printStackTrace();
	}

[/code]

Minha classe que mostra os dados que escolhi para alteração

[quote]

    ID  <input type="text" id="ID" value="<%=request.getParameter("id") %>"> 
	Nome <input type="text" id="NOME" value="<%=request.getParameter("nome") %>">
	Senha <input type="text" id="SENHA" value="<%=request.getParameter("senha") %>">
	Fone <input type="text" id="FONE" value="<%=request.getParameter("fone") %>">
	
	<input type="submit" value="Alterar">
</form>[/quote]

e minha classe index

[code]

	<tr>
		<td> ID  </td>
		<td> Nome  </td>
		<td> Senha  </td>
		<td> Fone  </td> 
		<td> Alterar  </td> 
	</tr>

<% //selectBD select = new selectBD();
	selectBD select = new selectBD();
	ResultSet rs = select.mostraDados();
	
	while(rs.next()){
		 

%>

	<tr>
		<td><%=rs.getString("id") %>   </td>
		<td><%=rs.getString("cadlogin_nome") %>   </td>
		<td><%=rs.getString("cadlogin_senha") %>  </td>
		<td><%=rs.getString("cadlogin_fone") %>   </td>
		<td><a href="alterarUsuario.jsp?acao=alterar&id=<%=rs.getString("id")%>&nome=<%=rs.getString("cadlogin_nome")%>&senha=<%=rs.getString("cadlogin_senha")%>&fone=<%=rs.getString("cadlogin_fone")%>"> ALTERAR</a>   </td>  
	</tr>

<% } %>

</table>[/code]

A descrição que informou diz que ao tentar formatar uma String para número ocorreu um erro. Provavelmente no ID.
Poste aqui a stacktrace do erro para facilitar.