Erro filter + javascript + window.parent.location

Amigos estou utilizando filter para redirecionar o usuario para a tela de login quando a sessao expirar e no mesmo filter eu informo o tempo de sessao, ou seja eu configuro o tempo de sessao dentro do filter e nao no web.xml
Classe filter logo abaixo.

public class SessionTimeoutFilter implements Filter {
private String timeoutPage = “forUserLogin.jsp”;

public void init(FilterConfig filterConfig) throws ServletException {
}

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

    if ((request instanceof HttpServletRequest) && (response instanceof HttpServletResponse)) {

        HttpServletRequest httpServletRequest = (HttpServletRequest) request;
        HttpServletResponse httpServletResponse = (HttpServletResponse) response;
        // is session expire control required for this request?

        HttpSession session = ((HttpServletRequest) request).getSession();
        session.setMaxInactiveInterval(20);

        if (isSessionControlRequiredForThisResource(httpServletRequest)) {

            // is session invalid?
            if (isSessionInvalid(httpServletRequest)) {
                String timeoutUrl = httpServletRequest.getContextPath() + "/" + getTimeoutPage();
                System.out.println("Session is invalid! redirecting to timeoutpage : " + timeoutUrl);
                httpServletResponse.sendRedirect(timeoutUrl);

                return;
            }
        }
    }
    filterChain.doFilter(request, response);
}

private boolean isSessionControlRequiredForThisResource(HttpServletRequest httpServletRequest) {
    String requestPath = httpServletRequest.getRequestURI();
    boolean controlRequired = !org.apache.commons.lang.StringUtils.contains(requestPath, getTimeoutPage());

    return controlRequired;
}

private boolean isSessionInvalid(HttpServletRequest httpServletRequest) {

    boolean sessionInValid = (httpServletRequest.getRequestedSessionId() != null) && !httpServletRequest.isRequestedSessionIdValid();
    return sessionInValid;

}

public void destroy() {
}

}

Quando a sessao expirar o filter redireciona para a forUserLogin.jsp.
Codigo forUserLogin.jsp logo abaixo

Index

Eu uso javaScript para redirecionar para “telasComponentes/usuarioLogin.jsf”;

O meu problema é o seguinte.

Nos meus diretorios minha classe usuarioLogin esta dentro de Projeto/telasComponentes/usuarioLogin.jsp

Quando o usuario esta navegando no sistema e esta na tela Cadastro de Pessoa (exemplo) localizado dentro de Projeto/cadastro/cadPessoa.jsp, o usuario fica um tempo sem dar submite e entao a sessao expira, quando o usuario clica na tela deveria abrir a tela de Login pq a sessao expirou ne, porem o sistema da o seguinte erro:
The requested resource (/Projeto/cadastro/telasComponentes/usuarioLogin.jsp) is not available.
O sistema pega o endereco do filter "telasComponentes/usuarioLogin.jsp "e concatena com o endereço do diretorio de onde o usuario deu o ultim submit “Projeto/cadastro/”.

Galera nao sei com arrumar isso eu imaginava que meu codigo javascript deveria redirecionar para “telasComponentes/usuarioLogin.jsf” independente de onde o usuario esteja no sistema, caiu a sessao redirecionar para “telasComponentes/usuarioLogin.jsf”;

Gente ficou meio confuso mas sera q tem como dar um luz ai,
valeu…
thank you.