leonardobhbr 25 de jan. de 2012
Boa tarde amigo fiz algo parecido no meu projeto.
No meu modulo principal eu jogo o usuário na sessão e tenho que acessar ele via outro contexto.
O que eu fiz foi criar um Servlet no meu modulo filho que acesse o o contexto do modulo pai da seguinte forma
public void doFilter ( ServletRequest request , ServletResponse response ,
FilterChain chain ) throws IOException , ServletException {
HttpServletRequest req = ( HttpServletRequest ) request ;
HttpServletResponse res = ( HttpServletResponse ) response ;
String sessionId = ( String ) req . getParameter ( "sessionId" );
ServletContext context = session . getServletContext ();
ServletContext gdisContext = context . getContext ( "/ContextoPai" );
user = ( Usuario ) gdisContext . getAttribute ( sessionId );
}
o sessin id é o id da Sessão do pai que é passado via url
matheus306 26 de jan. de 2012
Obrigado pela resposta Leonardo.
Uma dúvida:
Como obteve o session usado nessa linha .
Obrigado
leonardobhbr 26 de jan. de 2012
Não entendi muito bem a sua pergunta
ServletContext context = session.getServletContext();
o código acima apenas pega o contexto do modulo filho
para poder acessar o contexto do modulo pai
a grande questão que o modulo pai tem que passar o id da sessão ao chamar a url do modulo filho
String sessionId = (String) req.getParameter("sessionId");
matheus306 26 de jan. de 2012
Entendi.
Eu fiz um teste, e ainda não consegui, do módulo filho recuperar o contexto do módulo pai.
Consegui pegar o ID da sessão do módulo pai ( passei através de Cookie ).
A minha dúvida é, essa session ( session.getServletContext() é do contexto do filho? ou existe uma maneira de recuperar a session pelo id.
abraço
matheus306 26 de jan. de 2012
Olha como tentei recuperar:
leonardobhbr 26 de jan. de 2012
Sim este filter tem que esta no seu modulo filho
ServletContext context = session.getServletContext();
matheus306 26 de jan. de 2012
Resolvido Leonardo.
valeuuuu demais.
acabei achando também uma doc legal sobre o assunto…
http://jee-bpel-soa.blogspot.com/2009/06/session-sharing-in-apache-tomcat.html