java.lang.NullPointerException w sesji w ManagedBeans

0

Witam,
Robię projekt na studia w PrimeFaces, chciałbym zrobić panel użytkownika, i chciałbym do niego zaimplementować funkcję, która sprawdza czy użytkownik jest zalogowany a jeśli nie żeby przekierowywał do strony głównej, chcę by to było w ManagedBeans, ale nie mogę uzyskać dostępu do danych sesyjnych z poziomu kodu, zawsze dostaje java.lang.NullPointerException, próbowałem już request.getSession(false); oraz (HttpSession) FacesContext.getCurrentInstance().getExternalContext().getSession(true); i zawsze to samo

import java.io.IOException; import javax.faces.bean.ManagedBean; import javax.faces.bean.SessionScoped; import javax.faces.context.FacesContext; import javax.servlet.http.HttpSession; import javax.servlet.*; import javax.servlet.http.*;

@ManagedBean
@SessionScoped
public class panelView {

    HttpSession sesja;
    HttpServletRequest request;
    private String nazwa;
    
    public void initialiseSession() {
        sesja = request.getSession(false);
    }

public String getNazwa() {
	return nazwa;
}

public void setNazwa(String nazwa) {
	this.nazwa = nazwa;
}
    
    public void sprawdz() throws IOException{
       if(sesja.getAttribute("zalogowano") == "tak")
           FacesContext.getCurrentInstance().getExternalContext().redirect("/HurtowniaPKS/");
    }
    
    public void wyloguj() throws IOException{
        FacesContext.getCurrentInstance().getExternalContext().invalidateSession();
        FacesContext.getCurrentInstance().getExternalContext().redirect("/HurtowniaPKS/");
    }

}

0

Przepraszam za to, że całość nie jest sformatowana, wrzuciłem do tagu code, ale tylko część ujęło :(

0

Nie aktualne, zapomniałem dodać klauzuli @PostConstruct :)

1 użytkowników online, w tym zalogowanych: 0, gości: 1