2
respostas

Como um WebApp entende os códigos de retorno da requisição HTTP?

Como um WebApp entende os códigos de retorno da requisição HTTP?

Como podemos fazer uma determinada ação, pegando esses codigos, por exemplo, apresentar uma determinada mensagem caso o retorno seja o código 404, não existe essa pagina, e apresentar uma mensagem com a pagina correta.

2 respostas

Olha, isso e várias outras configurações podem ser feitas com redirecionamentos num arquivo chamado .htaccess no caso de um servidor Apache.

Link: http://codigofonte.uol.com.br/artigos/confira-20-dicas-e-truques-extremamente-uteis-do-htaccess

É uma das formas, ;-)

Obrigatóriamente eu tenho que criar esse arquivo?

Sou novo em desenvolvimento WEB e trabalho com aplicação usando VRaptor, ainda não entendo muito bem como ele funciona, mas quando eu faço uma requisição para para meu controller, ele faz uma requisição HTTP para o server? certo? e o retorno pode ser dados (acredito que na variavel "data") ou retorno de erro ou outras coisas.

Abaixo meu .js e meu controller, alguem consegue me explicar como ele retorna do controller para o meu JavaScript?

login.js

var params = "<input type='hidden' name='email' value='"+_email+"' />"+
                         "<input type='hidden' name='novasenha' value='"+_senhaNovaConfirm+"' />";
            $._post("/validate/alterarSenha", $.param($(params)),
                            function() { //inicio da requisicao
                                openLightBox("Salvando nova senha...", "");
                            }, function(data) { //caso sucesso
                                clearAlert();
                                $("#txtEmail").val("");
                                $("#txtSenhaNova").val("");
                                $("#txtSenhaNovaConfirm").val("");
                                fecharPopUp();
                                addAlert("success", "Nova senha salva com sucesso! Um e-mail foi enviado para aquele endere&ccedil;o com sua nova senha", "", null);
                            }, function(jqXHR, textStatus, errorThrown) { //caso erro
                                addAlertByErrorPopUp(jqXHR);
                            }, function(data) { //fim da requisicao
                                closeLightBox();                    
                        });

CONTROLLER

@Path("/validate/alterarSenha")
    public void alterarSenha(String email, String novasenha) {
        try {
            if (session != null && session.getUsuario() != null) {
                UsuarioTO usuario = null;
                for (UsuarioTO usuarioTO : session.getUsuario().values()) {
                    if (usuarioTO != null) {
                        usuario = usuarioTO;
                    }
                }
                emailBO.alterarSenha(usuario, novasenha, email);
                this.result.use(Results.json()).indented().from("OK", "status")
                        .serialize();
            }
        } catch (SQLException e) {
            validator.add(new ValidationMessage(Util
                    .getOracleRaiseApplicationError(e, "#$", "$#"), "Erro:"));
            LOGGER.error(Util.stackTraceToString(e));
        } catch (Exception e) {
            validator.add(new ValidationMessage(
                    "Ocorreu um erro inesperado! Por favor contate o suporte. " + e.getMessage() + ".$$"
                            + Util.stackTraceToString(e), "exception"));
            LOGGER.error(Util.stackTraceToString(e));
        }
        this.validator.onErrorSendBadRequest();
    }