Boa tarde pessoal,
Como posso fazer para implementar a seguinte ideia.
Gostaria de montar uma aplicação “mestre” que teria todo o meu controle de acesso e alguns métodos genéricos que seriam consumidos por módulos “filhos”.
Já ouvi falar em algo de compartilhar a sessão no servidor de aplicação, mas não tenho certeza.
Alguém tem alguma ideia?
abraço
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
Obrigado pela resposta Leonardo.
Uma dúvida:
Como obteve o session usado nessa linha .
Obrigado
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");
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
Olha como tentei recuperar:
Sim este filter tem que esta no seu modulo filho
ServletContext context = session.getServletContext();
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