[RESOLVIDO] HttpSession

4 respostas
sumihara

Fala galera!

Preciso de um help!

Olhem o código abaixo:

// grava o funcionário login do usuário em uma sessão
HttpSession session = request.getSession();
session.setAttribute("login",funcionario.getUsuario());

Como faço para verificar em se a sessão está ativa e como faço para pegar o valor que eu atribui para o login?

Valeu!

4 Respostas

hiram

http://java.sun.com/webservices/docs/1.6/api/javax/servlet/http/HttpSession.html

wbdsjunior
sumihara:
Fala galera!

Preciso de um help!

Olhem o código abaixo:

// grava o funcionário login do usuário em uma sessão
HttpSession session = request.getSession();
session.setAttribute("login",funcionario.getUsuario());
Como faço para verificar em se a sessão está ativa e como faço para pegar o valor que eu atribui para o login?

Valeu!

para verificar a sessão você pode criar um filtro.

a classe:

package com.common.utils.config;

import java.io.IOException;
import java.util.*;

import javax.servlet.*;
import javax.servlet.http.*;

public class SessionFilter implements Filter {
    public SessionFilter() {
        initFilterExceptions = true;
    }

    public void init(FilterConfig config) {
    }

    public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {
        HttpServletRequest httpRequest = (HttpServletRequest)request;

        try {
            if (httpRequest.isRequestedSessionIdValid()) { // aqui você valida a sessão
                chain.doFilter(request, response);
            } else {
                HttpServletResponse httpResponse = (HttpServletResponse)response;
                httpResponse.sendRedirect(httpRequest.getContextPath() + "/erro/sessaoexpirada.jsp"); // e aqui você pode chamar a página de login se quiser
            }
        } catch (Exception e) {
            HttpServletResponse httpResponse = (HttpServletResponse)response;
            httpResponse.sendRedirect(httpRequest.getContextPath() + "/erro/erro.jsp");
        }
    }

    public void destroy() {
    }
}
e no web.xml:
<filter>
        <filter-name>sessionFilter</filter-name>
        <filter-class>com.common.utils.config.SessionFilter</filter-class> 
    </filter>

    <filter-mapping>
        <filter-name>sessionFilter</filter-name> 
        <url-pattern>/*</url-pattern>
    </filter-mapping>
abraço.
hiram

Legal Junior! Eu entendi mal o request do sumihara…
Boa dica!

sumihara

Valeu pela força pessoal!

Criado 31 de março de 2009
Ultima resposta 31 de mar. de 2009
Respostas 4
Participantes 3