Submit e voltar para a pagina anterior

tentarei ser claro…
eu estou querendo fazer o seguinte, assim que o usuário clicar em um botão (submit) eu irei inserir um registro no banco e voltar a pagina que ele inseriu atualizada (refresh)

isso porque o submit submete a uma outra página… e eu quero que processe minha servlet e volte pra pagina que chamou o submit atualizada (refres)

Meu velho, você ta usando que framework?
é na mão mesmo?

seja mais claro.

no aguardo.
:slight_smile:

na mão mesmo… uso o eclipse + sysdeo

O código para ir para outra página esta na sua servlet mesmo ne??
seria nela que você mudaria.

[quote]tentarei ser claro…
eu estou querendo fazer o seguinte, assim que o usuário clicar em um botão (submit) eu irei inserir um registro no banco e voltar a pagina que ele inseriu atualizada (refresh)

isso porque o submit submete a uma outra página… e eu quero que processe minha servlet e volte pra pagina que chamou o submit atualizada (refres)[/quote]

Você faz assim… digamos que a página seja submit.jsp, em que você tem uma tela de cadastro e listagem de qualquer coisa.
você dá um submit nessa página pra /MeuServlet.do?parametros, então essa URL está mapeada para executar um servlet.
Nesse servlet você chama o banco de dados e salva o registro no banco.
Joga os dados para exibir no jsp no contexto apropriado,
Então, no servlet você dá um forward para a página /submit.jsp.

entendi ±
tipo, estou colocando o jsp:forward e nao está indo, não aparece na tela

há algo de errado no meu código?
tipo, minha pagina index.jsp submete uma servlet, que no final eu quero rechamar a index.jsp…
qual o erro?

[code]package bd;

import java.io.IOException;
import java.io.PrintWriter;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.Statement;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

public class OperateDataBaseServlet extends HttpServlet{

private static final long serialVersionUID = 1L;
private Connection c;
private int type = 0;

public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
	
	response.setContentType("text/html");
	PrintWriter out = response.getWriter();

	try{
		Class.forName("org.postgresql.Driver");
		String url = "jdbc:postgresql://localhost/dwbd";
		c = DriverManager.getConnection(url,"postgres","321321");
	}catch 
		(Exception e){out.print("erro ao se conectar ao banco!");
	}
	
	if (request.getParameter("btnInsert") != null){
		try{
			Statement s = c.createStatement();
			s.executeUpdate("insert into ger_pessoa (pes_nome) values ('" + request.getParameter("nome")+ "')");
			s.close();
			c.close();
			type = 1;
		}catch(Exception e ){
			out.println("Falha na Inserção!");
		}
	}else{
		if (request.getParameter("btnUpdate")!= null){ 
			try{
				Statement s = c.createStatement();
				s.executeUpdate("update ger_pessoa set pes_nome = '" + request.getParameter("nome")+ "' where pes_cod = " + request.getParameter("cod"));
				s.close();
				c.close();
				type = 2;
			}catch(Exception e ){
				out.println("Falha na Atualização");
				out.println("update ger_pessoa set pes_nome = '" + request.getParameter("nome")+ "' where pes_cod = '" + request.getParameter("cod"));
			}
		}else{
			if (request.getParameter("btnDelete") != null){
				try{
					Statement s = c.createStatement();
					s.executeUpdate("delete from ger_pessoa where pes_cod = " + request.getParameter("cod"));
					s.close();
					c.close();
					type = 3;
				}catch(Exception e ){
					out.println("Falha na Exclusão");
				}
			}else{
				out.println("essa mensagem não deverá aparecer!");
			}
		}
	}

	out.println("<jsp:forward page='index.jsp' >");
	out.println("</jsp:forward>");
			
}

}[/code]

edit—

resolvi usando o

response.sendRedirect("index.jsp");

porém queria saber o porque que não funcionou usando o jsp:forward

Ao invés de por o forward no final, tente o seguinte:

[code]
public class OperateDataBaseServlet extends HttpServlet{

private ServletContext context;

< suas outras propriedades >

public void init(ServletConfig config) throws ServletException {
	super.init(config);
	context = config.getServletContext();
}

public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { 

< aqui vai seu codigo >

RequestDispatcher  dispatcher = context.getRequestDispatcher("/index.jsp");
dispatcher.forward(request, response);

}

}[/code]

Se funcionar, nos fale também. :wink: