Boa tarde Pessoal,
estou tento erro 404 com o vraptor.
um detalhe importante é que este projeto já estava funcionando corretamente, fiz uma pequena alteração em minha logic e já era 404…
está tudo configurado como manda o script.
tenho a “logic”, com o metodo da minha pagina, tenho a “ok.jsp” e o redirecionamento na view.properties tudo certo… e essa porcaria rs, continua a me dar 404
Em WebContent -> grafica -> tenho o arquivo chamado formCanalLogin.ok.jsp
um detalhe importante tbm, é que eu voltei as alterações que havia feito, apaguei o novo método inserido e rodei novamente, e NADA =\
vlw
jvlouvem
Obrigado Ace, vamos la
voce acessa a url: /SeuContextPath/grafica.formCanalLogin.logic
Para chegar na JSP voce esta deixando o VRaptor resolver isso ?
OU esta colocando no views.properties: grafica.formCanalLogin.ok = /grafica/formCanalLogin.ok.jsp ?
Pelo que me lembro, por convenção o VRaptor vai perceber que vc usou um metodo void e vai resolve-lo certinho, mas se vc usar por configuração via views.properties também está certo. Se estiver usando views.properties, confere se ele esta igual ao que falei.
Se ainda estiver tudo certo, eu acredito que seja algo interceptor ou falha no deploy do seu servidor
Ace
jvlouvem vlw pela atenção,
-Cara estou deixando o Vraptor resolver isso para acessar, estou fazendo da seguinte forma:
grafica.formCanalLogin.logic
e uso a view.properties somente qdo um usuario se loga mesmo, fazendo o redirecionamento para o lugar certo…
agora não sei o que fazer…! =\
Ace
Tenho o backup do projeto em que estou mexendo…substitui o arquivo “DaoInterceptor” e agora não me dá mais 404 agora é tela branca…
jvlouvem
é… complicado mesmo sua situação…
Desconfio ainda que é o servidor que está desatualizado, exemplo, ja tive muito problema de fazer tudo certinho e ter que fazer manobras do tipo:
deletar o tomcat do eclipse, coloca-lo novamente, starta-lo sem projeto, depois colocar o projeto e ai sim o camarada funcionava.
Mas enfim, me parece estar tudo certo
Talvez o Lucas Cavalcante ou outro developer do VRaptor passe por aqui e ache algo de estranho que nao vimos
Abraços
jvlouvem
Hum então era o Interceptor mesmo.
Se da Tela Branca, salve o codigo do JSP e apague todo o conteudo e escreva somente
TESTE !
Se aparecer isso esta tudo certo dai vc parte para o debug para saber o que deve ir para tela que nao esta sendo preenchido na sua Logic
Ace
Pois é rapaz, osso mesmo!
o problema é que este projeto está rodando em produção, e tem varias outras coisas rodando então não posso deletar tudo e subir novamente rsrs…
mas enfim, vou vendo por aqui o que consigo…
vlw pela atenção…
Ace
Fiz o que me falou e ainda pagina em Branco…! elaia…isso ta me tirando do sério rsrs
Lucas_Cavalcanti
dá uma olhada nos interceptors para ver se algum esqueceu de fazer o flow…
e considere migrar pro vraptor 3, o 2 não está mais sendo desenvolvido
Ace
Lucas Cavalcanti, vlw pela atenção
então estou trabalhando com 2 interceptor, um que verifica se a sessão tem um login, e um DaoInterceptor.
DaoInterceptor
packagebr.com.egvc.lojavirtual.loja;importjava.util.Date;importorg.vraptor.Interceptor;importorg.vraptor.LogicException;importorg.vraptor.LogicFlow;importorg.vraptor.annotations.In;importorg.vraptor.annotations.Out;importorg.vraptor.scope.ScopeType;importorg.vraptor.view.ViewException;importbr.com.egvc.lojavirtual.dao.DaoFactory;importbr.com.egvc.lojavirtual.modelo.Acesso;importbr.com.egvc.lojavirtual.modelo.Cliente;publicclassDaoInterceptorimplementsInterceptor{@In(scope=ScopeType.SESSION,required=false)privateClientecliente;@In(scope=ScopeType.SESSION,required=false)@Out(scope=ScopeType.SESSION)privateNavegadornavegador=newNavegador();@In(scope=ScopeType.SESSION,required=false)@Out(scope=ScopeType.SESSION)privateAcessoacesso=newAcesso();privatefinalDaoFactoryfactory=newDaoFactory();publicvoidintercept(LogicFlowflow)throwsLogicException,ViewException{Stringid=null;Stringip=null;Stringbrowser=null;// Contador de Acessos// Analisa o Acesso e adiciona na lista caso seja um novo acessoif(this.acesso.getId()==null||this.cliente!=null){id=flow.getLogicRequest().getRequest().getSession().getId();ip=flow.getLogicRequest().getRequest().getRemoteAddr();browser=flow.getLogicRequest().getRequest().getHeader("user-agent");if(id!=null&&ip!=null&&browser!=null){this.acesso.setId(id);this.acesso.setData(newDate());this.acesso.setIp(ip);this.acesso.setNavegador(browser);if(this.cliente!=null){this.acesso.setCliente(this.cliente);}if(this.acesso.getId()!=null){if(this.factory.getAcessoDao().getById(this.acesso)==null){this.factory.beginTransaction();this.factory.getAcessoDao().adiciona(this.acesso);this.factory.commit();}else{this.factory.beginTransaction();this.factory.getAcessoDao().altera(this.acesso);this.factory.commit();}}}}/*---------------------------------------------------------------------------------------------*/StringurlRequest=flow.getLogicRequest().getRequest().getRequestURI();Stringquery=flow.getLogicRequest().getRequest().getQueryString();if(navegador.getRemoteAddr()==null)navegador.setRemoteAddr(flow.getLogicRequest().getRequest().getRemoteAddr());try{urlRequest=urlRequest.replace("/","");}catch(Exceptione){System.out.println("QueryString vazia!");}if(query==null)query="";this.navegador.setAtualPage(urlRequest+"?"+query);if(urlRequest.contains("egvc")){//System.out.println("Chamada Canal EGVC <------------------");this.navegador.setPageTipo(1);this.navegador.setPrevOnclick();}else{this.navegador.setPageTipo(0);this.navegador.setPrevOnclick();}flow.execute();if(factory.hasTransaction()){factory.rollBack();}/*System.out.println("REQUISIO DE GINA:"+this.navegador.getAtualPage()); System.out.println("PGINA ANTERIOR:"+this.navegador.getPrevPage()); System.out.println(this.navegador.getPrevOnclick()); System.out.println("NAVEGADOR DO USURIO = "+flow.getLogicRequest().getRequest().getHeader("user-agent")); System.out.println("IPADDR DO USURIO = "+flow.getLogicRequest().getRequest().getRemoteAddr());*/factory.close();}@Out(key="br.com.egvc.lojavirtual.dao.DaoFactory")publicDaoFactorygetFactory(){returnfactory;}publicNavegadorgetNavegador(){returnthis.navegador;}//@Out(key="br.com.egvc.lojavirtual.modelo.Acesso")publicAcessogetAcesso(){returnthis.acesso;}}
packagebr.com.egvc.lojavirtual.loja;importjava.io.IOException;importorg.vraptor.Interceptor;importorg.vraptor.LogicException;importorg.vraptor.LogicFlow;importorg.vraptor.annotations.In;importorg.vraptor.scope.ScopeType;importorg.vraptor.view.ViewException;importbr.com.egvc.lojavirtual.modelo.ClienteGrafica;publicclassCanalInterceptorimplementsInterceptor{@In(scope=ScopeType.SESSION,required=false)privateClienteGraficaclienteGrafica;publicvoidintercept(LogicFlowflow)throwsLogicException,ViewException{// TODO Auto-generated method stubif(this.clienteGrafica==null){try{flow.getLogicRequest().getResponse().sendRedirect("grafica.formCanalLogin.logic");}catch(IOExceptione){// Erro ao redirecionar URL}}else{flow.execute();}}}
vlew
Lucas_Cavalcanti
o canalInterceptor está passando na logica: grafica.formCanalLogin.logic?
são só esses dois interceptors?
dá uma olhada no seu DaoInterceptor, que tá “um pouco” grande, se ele está chamando o flow.execute no caso em que deu erro
Ace
Então cara, tenho outros interceptors mas são equivalentes a outras logicas que estão funcionando corretamente.
como eu verifico se o canalInterceptor esta passando na logica? desculpa sou novato, e mais ainda com vRaptor.
qdo preciso verificar algum erro de log, utilizo o putty svn, mas como este projeto esta em produção e tenho outros projetos rodando tbm fica impossivel de verificar, pois os log’s ficam rodando na tela… =\
** um detalhe importante é q ao tentar acesar ContextPath/grafica.formCanalLogin.logic parece q não executa nada fica na tela branca…
Lucas_Cavalcanti
tenta reproduzir o erro na sua máquina… ficar testando em produção nunca é legal. se a resposta está em branco, algum interceptor não está mandando continuar, ou vc está com uma lógica @Viewless
Ace
cara sem chance, estava tentando rodar esse projeto no meu eclipse Helios 404 direto…=
um problema atras do outro… não vai dar pra rodar local…
mas eu naum estou usando nada @Viewless
todos as classes e paginas utilizadas para rodar este projeto estão aqui neste topico, o que é mais estrenho é que este projeto estava funcionando, soh o simples fato de criar um novo metodo, e subi para o produção já era… voltei na forma q estava no inicio e nada de voltar…
Lucas_Cavalcanti
desculpe, Ace, mas vc mandou muito código.
se vc não consegue rodar na sua máquina, só em produção, vc tem um problema bem maior do que esse que vc mandou aqui…
tenta rodar na sua máquina primeiro, depois reproduz o erro localmente e depois tenta descobrir o que está gerando o erro.
assim fica mais fácil da gente te ajudar
Ace
Maravilha cara, vou tentar aki e assim que rodar ele localmente, abro novamente este topico…
vlw pela força…
Ace
Lucas Cavalcanti,
Cara estou tentando rodar o projeto em meu localhost, e o seguinte erro ocorre