Continuando com minhas dúvidas relativas ao controle de sessão/autenticação, concluí que meu problema está no mapeamento de URL.
Usando JSF, posso colocar todos os arquivos *.xhtml mapeados para o servlet Faces e pronto.
Só que não sei como chamar uma página que esteja dentro de uma pasta abaixo da WEB-INF.
Acho que estou confundindo a existência da pasta física dentro da estrutura de deploy (organização dos arquivos) com o padrão de URL.
Dessa forma, gostaria de saber se posso colocar todas as páginas .xhtml diretamente abaixo de WEB-INF, sem outras pastas para melhorar a organização e usar outros padrões de URL para serem apresentados no navegador, e como fazer isso.
Muitas vezes quando coloco a aplicação para rodar e abro no navegador, aparece a pasta WEB-INF no endereço e da um erro de recurso não encontrado, e preciso apagar manualmente essa parte do endereço para que a coisa funcione... resumindo, estou bem confuso.