Olá galera, estou fazendo um sistema usando o NetBeans + GlassFish e preciso impor restrições de acesso ao meu sistema por meio de login, senha e perfis de acesso, um problema que estou enfrentando é quando um usuário não logado tenta acessar uma página do sistema só digitando o endereço na barra de tarefas, meu código no momento está assim:
<%
request.getSession().getAttribute("idperfil");
int perfil = (Integer) session.getAttribute("idperfil");
if (perfil == 0){
out.print ("<script language='javascript'>");
out.print ("alert ('Você não está logado!!! Efetue login e tente novamente');");
out.print ("location.href='index.jsp';");
out.print ("</script>");
}
else{
if (perfil == 3){
out.print ("<script language='javascript'>");
out.print ("alert ('A página requisitada só está disponível para usuários com privilégios administrativos!');");
out.print ("location.href='index2.jsp';");
out.print ("</script>");
}
}
%>
<html>
<head>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=ISO-8859-1">
<title>ETB - Escola Técnica de Brasília</title>
<link rel="stylesheet" type="text/css" href="layout1.css" />
</head>
<body>
<div id="geral">
<div id="banner">
<%@ include file="banner.html"%>
</div>
<div id="menu">
<%@ include file="menu.jsp"%>
</div>
<div id="conteudo">
Conteúdo da página
</div>
<div id="rodape">
<%@include file="rodape.html"%>
</div>
</div>
</body>
</html>
Quero que assim que o usuário entrar na página já valide se ele está logado ou não, e caso esteja logado e tentar acessar uma página que não pode ser vista por ele, o sistema verifique se ele é pertencente ao perfil 3 que é o perfil limitado e emita a mensagem “Página acessível somente para usuários com privilégios administrativos”.
Só que quando tento acessar a página sem logar para fazer o teste e ver se a verificação está funcionando, ao invés de dar a mensagem “Você não está logado”, tá dando um erro no servidor GlassFish, mais precisamente este erro:

Estou achando que esse erro é por que a variável de sessão que estou tentando verificar no primeiro IF ainda não existe pois ela só é criada na pagina valida login, caso o usuário efetue login. E como estou testando sem efetuar login ela não foi criada ainda.
Diante disso o que devo alterar para fazer essa verificação para não permitir que usuários não logados acessem quaisquer páginas do sistema??