[RESOLVIDO] Problema com Login - Struts e JSP

Bom pessoal.

Eu já postei essa pergunta no tópico avançado, mas resolvi postar aqui por ter mais a ver com Desenvolvimento web.
Estou fazendo um sistema web utilizando o Netbeans e Struts 1.3.8 (versão que vem no Netbeans).

Em todos meus encaminhamentos estou utilizando Actions .
Quero que determinadas páginas e actions, só possam ser acessadas se o usuário estiver logado no sistema.
Já inseri o usuário na sessão, consigo verificar se ele está logado ou não, só que tenho 2 problemas.

Como verificar se o usuário está logado sem precisar fazer essa verificação em todas Actions?
Como impedir o acesso das páginas JSPs pelo navegador, fazendo com que só possam ser acessadas através de chamada feita para alguma Action?

Pesquisei filters, interceptors e não consegui encontrar uma solução ou um exemplo de aplicação fazendo isso. Encontrei várias coisas, mas ambas confusas e com uma explicação feita bem pelas coxas.
Se alguém puder ajudar, agradeço.

O ideal é usar um Filter.
Se o usuário não estiver logado, redireciona para a página de login. Assim não precisa colocar nada nas actions.

Bom, consegui resolver aqui depois de muita pesquisa e tentativas e erro.

Todas as JSPs que se encontram no diretório “paginas” não podem ser acessadas pela URL e irão retornar para a tela de login (welcomeStruts.jsp).
Você só conseguirá entrar nelas pela URL caso tenha logado no sistema.

Não é isso exatamente o que eu quero, além de proibir o acesso das JSPs também quero impedir o acesso das Actions a não ser que o usuário esteja logado. Acho que isso é possível de ser feito criando um Filter separado para as actions, o que eu tentarei em seguida.
Segue o código para ajudar alguém que precise.

Filter:

public class ActionFilter implements Filter {

    public void init(FilterConfig filterConfig) throws ServletException {
    }

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


        HttpServletRequest req = (HttpServletRequest) request;
        HttpServletResponse resp = (HttpServletResponse) response;
        HttpSession session = req.getSession();

        if (session.getAttribute("user") != null) {
            System.out.println("AQUI LOGADO");
            chain.doFilter(request, response);
        } else {
            System.out.println("AQUI NAO LOGADO");
            resp.sendRedirect(req.getContextPath() + "/welcomeStruts.jsp");
        }
    }

    public void destroy() {
        throw new UnsupportedOperationException("Not supported yet.");
    }
}

Web.xml

<filter>
        <filter-name>ActionFilter</filter-name>
        <filter-class>com.myapp.struts.ActionFilter</filter-class>        
    </filter>
    <filter-mapping>
        <filter-name>ActionFilter</filter-name>
        <url-pattern>/paginas/*</url-pattern>
    </filter-mapping>