Sendredirect

Pessoal estou tentando usar o sendRedirect em uma servlet para redirecionar pra uma jsp da seguinte forma:

response.sendRedirect(“Mensagem.jsp?mensagem=Cadastro Realizado com sucesso&pagina=index.jsp”);

Porem dá o seguinte erro: Method GET is not supported by this URL

Na verdade oq eu estou querendo é rediricionar para uma página jsp q recebe 2 parametros

Vc tah querendo passar os parâmetros junto com a página eh isso?
Eh algo do tipo(veja exemplo abaixo):
http://www.guj.com.br/forum/viewtopic.php?t=14736

Eu até tentei fazer exatamente isso porem quando eu chamo o sendRedirect(“minhapaginaJSP?parametro=valor”) ele gera um erro dizendo que o URL nao suporta método GET. Na página JSP ( tipo uma view ) recebe 2 parametros : um é a mensagem e o outro a página pra qual ela vai ser direcionada(fica sendo o action de um form).

Bem, eu troquei os espaços que tinham no parâmetro Mensagem por % e passou o problema agora é que entrou num loop infinito ( fica chamando o doPost() infinitamente )

???

ai ta o codigo:

protected void doGet(
HttpServletRequest request,
HttpServletResponse response)
throws ServletException, IOException {
try {

		Class.forName  ("sun.jdbc.odbc.JdbcOdbcDriver");
		String url = "jdbc:odbc:multimidia";
		String sSQL = null;
		java.sql.Connection conn = null;
		Statement st = null;
		ResultSet rs = null;
		int iCodUsuario = 1;

		conn = java.sql.DriverManager.getConnection(url, "anonymous", "");
		st = conn.createStatement();
		rs = st.executeQuery("select max(cod_usuario)+1 from usuario");
		if (rs.next()) {
			iCodUsuario = rs.getInt(1);
		}
		if (iCodUsuario == 0)
			iCodUsuario = 1;

		sSQL =
			"insert into usuario(cod_usuario,login,senha,email)"
				+ " values("
				+ iCodUsuario
				+ ",'"
				+ request.getParameter("txt_nome")
				+ "','"
				+ request.getParameter("txt_senha")
				+ "','"
				+ request.getParameter("txt_email")
				+ "')";

		st.execute(sSQL);
		conn.close();
		/*response.sendRedirect(
			"Mensagem.jsp?mensagem=Cadastro%Realizado%com%sucesso&pagina=index.jsp");*/				
		
		

		RequestDispatcher disp =
			getServletContext().getRequestDispatcher(
				"/Mensagem.jsp?mensagem=Cadastro Realizado com sucesso&pagina=index.jsp");
		disp.forward(request, response);

	} catch (SQLException e) {
		e.printStackTrace();
	} catch (ClassNotFoundException e) {
		e.printStackTrace();
	}

}

Na verdade eu consegui passar os parametros pra pag JSP e apresentou legal, o problema é que qd eu clico no botao e faço o submit ele chama o doPost() da servlet.O q eu acho estrando é q essa servlet n teria mais nada a ver com a pag JSP uma vez q eu fiz o sendRedirect() nela pra pag JSP e o bumit da JSP chama outra pag JSP e n servlet nenhuma. :frowning:

Acho que se você usar o RequestDispatcher fica mais fácil. Faça assim: No servlet -> adicione os parâmetros ao objeto request como atributos assim: request.setAttribute(“nomeDoAtributo”, atributo);
Depois, redireciona para a página JSP:

RequestDispatcher rd = request.getRequestDispatcher(“endereçoDaJSP”);
rd.forward(request, response);

Na página JSP, você pega os atributos assim:

Object atributo = request.getAttribute(“nomeDoAtributo”);

Detalhe: “atributo” tem que ser um objeto. Não esqueça de fazer os “cast” necessários depois que pegar o atributo na página JSP.

[]s

Leandro