Problemas com Servlet + Sistema Externo + voltar

5 respostas
D

Bom dia…

Tenho um servlet que recebe uma resposta de um sistema externo e dependendo da resposta ele encaminha para determinada pagina como mostra o codigo…

private void encaminharParaPagina(String caminho, HttpServletRequest request, HttpServletResponse response, Pedidopagto pedidopagto) throws ServletException, IOException {
        //FacesContext ctx = FacesContext.getCurrentInstance();  
        //caminho +=  ctx.getExternalContext().getRequestContextPath();
        //FacesContext ctx = FacesContext.getCurrentInstance();  
        //ctx.getExternalContext().redirect(ctx.getExternalContext().getRequestContextPath() + caminho);


        if (pedidopagto != null) {
            response.sendRedirect("cartoes/msgCartao.jsf");
        } else {
            response.sendRedirect("cartoes/msgCartaoQueroComprar.jsf");
        }

Acontece que quando o Servlet encaminha para a pagina… o usuario nao pode + voltar para o sistema externo… (clicando em voltar no navegador por exemplo) pois se ele fizer isso acaba com toda a minha logica…

A pergunta é;… tem algum meio de impedir que ele volte?? qualquer coisa… desabilitar botao voltar… limpar historico de navegacao… etc… alguem tem alguma luz por favor??

Ps: uso JSF 2.0 com primefaces…

Obrigado!!

5 Respostas

rock

Bom dia daniesouza ,

não dá para resolver colocando uma variável na sessão do usuário e verificando ao acessar a página novamente :?:

D

rock:
Bom dia daniesouza ,

não dá para resolver colocando uma variável na sessão do usuário e verificando ao acessar a página novamente :?:

entao… pensei nisso… mas acontece que se ele souber… ele pode facilemente ‘burlar’ isso pois meu retorno pode direcionar para paginas diferentes…

sei la. eu achei que teria um modo mais facil… tipo impedir ele de voltar… mas se nao tiver eu controlo mesmo com variaveis de sessao…

rock

não tem como impedir o usuário de voltar. Mesmo se tivesse, seria mais elegante explicar para o usuário o motivo de não poder voltar.

:idea: Sobre ‘burlar’ utilizando endereços de páginas diferentes, talvez um Filter para toda a aplicação evite isto. Ficaria independente da página :!:

D

rock:
não tem como impedir o usuário de voltar. Mesmo se tivesse, seria mais elegante explicar para o usuário o motivo de não poder voltar.

:idea: Sobre ‘burlar’ utilizando endereços de páginas diferentes, talvez um Filter para toda a aplicação evite isto. Ficaria independente da página :!:

Tem razao… Bom… vou dar um jeito aqui…

de qualquer forma Obrigado pela ajuda =)

rock

Por nada :smiley:
Boa sorte :!:

Criado 8 de agosto de 2011
Ultima resposta 8 de ago. de 2011
Respostas 5
Participantes 2