Sessão

3 respostas
Francisco_Miguel

galera, estou com uma duvida basica, onde é definido os valores que serão atribuidos numa sessão??
Tipo em vez de buscar um dado do form, quero buscar de uma sessão.

agradeço a todos desde já

abraço

3 Respostas

volnei
session.setAttribute("chave", "valor");
String valor = session.getAttribute("chave");
Francisco_Miguel

tem algum jeito automatico?? sem precisar ficar setando??

volnei
miguelbh6:
tem algum jeito automatico?? sem precisar ficar setando??

Como assim automático? Se você quer um atributo na sessão você tem que colocar ele. O máximo que vc pode fazer é ler os parametros do request e coloca-los na sessão através de um filter por exemplo.

Segue um exemplo:

import java.io.IOException;
import java.util.Map.Entry;
import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.http.HttpServletRequest;

public class ParamsSessionFilter implements Filter {

	public void init(FilterConfig arg0) throws ServletException {
	}

	public void destroy() {
	}

	public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {
		HttpServletRequest req = (HttpServletRequest) request;
		for (Object obj : request.getParameterMap().entrySet()) {
			Entry e = (Entry) obj;
			req.getSession().setAttribute((String) e.getKey(), e.getValue());
		}
		chain.doFilter(request, response);
	}
}
Criado 30 de setembro de 2008
Ultima resposta 30 de set. de 2008
Respostas 3
Participantes 2