RequestDispatcher para um JSP em outro projeto

10 respostas
R

É o seguinte, estou desenvolvendo um projeto, no eclipse, e este está divido em dois módulos … criei a rotina de login no módulo A, este checa se o usuário é válido e seta na sessão um atributo, que identifica o nível de sua permissão … agora preciso chamar um jsp do módulo B, despachar junto a chamada o request … estou usando o …

RequestDispatcher rd = request.getRequestDispatcher();

… mas não estou conseguindo identifica o caminho correto … tipo já coloquei “…getRequestDispatcher(“http://todo_o_caminho/modulob.jsp”)” e nada !!!

… e agora ?

vlw!

10 Respostas

A

Cara, o foda é que a jsp ta em outro projeto!!
Teve uma vez que fiz um sistema de donwload, e ele tinha que pegar o arquivo em um determinado lugar no servidor, a solução foi criar um arquivo xml dentro de web-inf que nele tinha um apontamento para o outro lugar na maquina! Será que fazer isso resolve??

M

ta… perai, tu tem um projeto web… com 2 módulos web… isso quer dizer q, tu tens um projeto com 2 estruturas de diretórios WEB-INF… bla bla etc… bem, então tu tens 2 projetos… :roll: , ahm, qual o erro qnd tu manda redirecionar pro endereço completo? (http://…)

R

cai na página de erro 404 !!!

M

bem, antes de tentar fazer o dispatcher… tu consegue acessar essa url diretamente pelo browser? :roll:

R

de boa !!!

… o meu problema é o seguinte … existe o sistema A q possui um jsp de autenticação … porém, este terá um nova funcionalidade, e essa poderá ser utilizada para vários outros sistemas … entaum, estou criando este módulo a parte … bem genérico, para atender aos outros … mas naum quero ter que criar a rotina de autenticação, entaum, vou utilizar a do sistema A … entaum, vou precisar fazer a checagem para ver se o usuário está logado … como faço isso ? seto um valor em um atributo após a autenticação … quando o jsp recebe a sessão (request.getSession) … ele verifica se este valor está no atributo se não, despacha para a tela de logon … ai tá outra pergunta … vou conseguir repassar a sessão de um módulo par ao outro ???

M

acho q não tem como tu passar o objeto da sessão de uma app pra outra não, ela até pode ser distribuida e diferentes containers clusterizados, mas tem q ser a mesma app… oq tu pode fazer é mandar essas informações do usuario logado como parametro do dispatcher, e recuperar na app B, re-instanciar o objeto do usuario e setar ele na sessão… mas lembrando q vai ser uma sessão diferente!!! … cara, acho q vai ser tão gambiarra q é melhor fazer numa app só…

R

matheus, fiz uma reestruturação no meu projeto … e agora tô conseguindo compartilhar a sessão … na verdade juntei o que vc disse … um projeto só … mais o q eu tava querendo … por módulos … ficou assim:

projeto | | +---jar_globais (jre, servlet-api, jsp-api, fileupload, bootstrap, etc...) | | +---modulo_principal | | +---classes_portal | +---WEB-INF | +---css_globais | +---jsp_globais | +---images_globais | +---js_globais | +---index(portal) | +---error404(portal) | | +---sub_modulo1 | | | | | +---classes_modulo1 | | | +---WEB-INF | | | +---css | | | +---jsp | | | +---images | | | +---js | | | +---index(home_modulo1) | | | +---error404(home_modulo1) | | +---sub_modulo2 | | +---classes_modulo2 | +---WEB-INF | +---css | +---jsp | +---images | +---js | +---index(home_modulo2) | +---error404(home_modulo2)

bem, tá rolando q uma blz !!! mas olhando ai … cê acha q posso ter problemas em algum ponto no futuro !?!

M

submodulo 2 é outra aplicação com web-inf e tudo dentro de modulo1!??? :roll:

R

naum, sub_modulo1 e sub_modulo2 são 2 aplicações (com um web-inf para cada) … e tudo dentro do modulo_principal … e no modulo_principal que farei as tarefas gerais … como autenticacao por exemplo

A

Na boa, faz um EJB (session bean) para fazer a autenticação, já que você disse que tem intenção de utilizá-la para outros sistemas.
Assim você modulariza e reaproveita da forma correta.

Criado 4 de maio de 2005
Ultima resposta 11 de mai. de 2005
Respostas 10
Participantes 4