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ç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();
}