VRaptor 3 e result.redirectTo

Boa tarde,

Estou trabalhando em uma aplicação onde utilizei VRaptor 3 e tive um problema onde subi a aplicação no tomcat com o nome da app.
Na frente tenho o apache que faz o redirecionamento para localhost:8080/calorias/ com a configuração que fiz, não sei se é problema na configuração ou tem alguma forma mais elegante de resolver… mas tive problemas com os redirects do vraptor quando redirecionado para uma logica:

result.redirectTo(Controller.class).logica();

onde ele sempre colocava no subdominio que apontava para o apache o /calorias, por exemplo, para direcionar para pagina de erro, utilizava:

result.redirectTo(ErroController.class).erro();

e em vez de colocar url.com.br/erro ele redirecionava para url.com.br/calorias/erro, para resolver isso precisei redirecionar diretamente para a url:

result.redirectTo("url.com.br/erro");

Existe uma forma melhor de tratar esse problema? Ou pode ser problema na configuração do apache…
O site pode ser acessa do em http://calorias.garbosis.com.br.

Abraço.

n tem haver com o framework, mude o contexto da sua aplicação no tomcat, se n me falha memoria, no context.xml

abrasss

é que o servidor java não sabe que tem um apache na frente, então ele redireciona considerando que vc tá acessando o mesmo contextPath, mesmo…

soluções possíveis: fazer o deploy no contexto raiz (contextPath = / ) do servidor java ou sobrescrever o componente do vraptor que faz esses redirects.

O que vc quer fazer?

Bom dia Lucas,

Imaginei que fosse necessário fazer algo deste tipo…
Hoje como falei eu redireciono via String, dessa forma

result.redirectTo("calorias.garbisis.com.br/{url que foi chamada}");

isso funciona, o problema é que não fica tão sugestivo… mas refatorei o projeto com alguns padrões ex:

public class Controller {
       private static final String PATH_LOGIN = "login";
       private static final String PATH_REDIRECT = "teste";
       private static final String URL_APP = "calorias.garbosis.com.br/";

       @Path( PATH_LOGIN  )
       public void login(){
       ...
       }

       @Path( PATH_REDIRECT  )
       public void teste(){
              result.redirectTo( URL_APP + PATH_LOGIN );
       }

dessa forma consido redirecionar de forma mais pratica e padronizada…

Sobre deixar no contexto /, terei mais algumas apps rodando no mesmo tomcat, eu tinha ate pensado nisso, mas acabei procurando outra solução…
Sobre sobreescrever o componente seria uma boa, teria algum exemplo de como fazer…
Aproveitando, cara o VRaptor ta muito bacana pra desenvolver… muito bom mesmo…

Abraço Lucas, valew pelo retorno…

crie uma classe que estende essa, anotada com @Component:

e no método redirectTo, copie o método e remova a parte que adiciona o context path