HttpServletResponse.sendRedirect

Bom dia.
Estou com um problema ja a varios dias e preciso da ajuda de voces.
No meu filter eu uso

HttpServletResponse.sendRedirect(“componentes/login.jsp”);

O que ocorre:
esta página que estou chamando login.jsp, está abrindo dentro do frame que possui o botão que chama meu servlet.
Gostaria de abrir essa tela em uma nova página, alguém poderia me ajudar ??
Obrigado pela atenção.

private String timeoutPage = “componentes/login.jsp”;

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?

         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);
 }

MUITO OBRIGADO

Para abrir na fora na página toda ao invés de abrir no frame você precisa usar o objeto window.parent do javascript

furutani
Valeu pela força, cara mas eu fiquei meio confuso, tipo assim a funçao javaScript tem a seguinte sintax:

window.parent.frames[num]
window.parent.frameName

Eu estou usando filter para fazer o redirecionamento, onde que eu vou implementar esta funcao, o meu filter esta programado no xml para executar em todo submit que o usuario der na tela.

filter>
SessionTimeoutFilter
br.com.inloc.sessao.SessionTimeoutFilter

<filter-mapping>
    <filter-name>SessionTimeoutFilter</filter-name>
    <url-pattern>/*</url-pattern>
</filter-mapping>

Em furutani eu so nao entendi mesmo onde utilizar a funçao javascript.
t++ thank you

uffffffff consegui fazer o redirecionamento perfeitamente…
ta ai todo meu codigo

MEU FACES CONFIG FICOU ASSIM:

/* loginPage forUserLogin.jsp
 <lifecycle>
    <phase-listener>br.com.inloc.sessao.AuthorizationListener</

phase-listener>

MEU PHASELISTENER FICOU ASSIM:

import br.com.inloc.controller.geral.UsuarioLoginController;
import br.com.inloc.estrutura.tool.ToolJsf;
import javax.faces.application.NavigationHandler;
import javax.faces.context.FacesContext;
import javax.faces.event.PhaseEvent;
import javax.faces.event.PhaseId;
import javax.faces.event.PhaseListener;

public class AuthorizationListener implements PhaseListener {

public void afterPhase(PhaseEvent event) {

    FacesContext facesContext = event.getFacesContext();
    String currentPage = facesContext.getViewRoot().getViewId();

    UsuarioLoginController usuario = (UsuarioLoginController)

ToolJsf.getBean(“usuarioLogin”);

    if (usuario.getUsuario().isTransiente() && (!

currentPage.contains(“telasComponentes/usuarioLogin.jsp”))
&& (!currentPage.contains(“telasComponentes/
empresaLogin.jsp”)) && (!currentPage.contains("/usuarioLogin.jsp"))) {

        NavigationHandler nh = facesContext.getApplication

().getNavigationHandler();
nh.handleNavigation(facesContext, null, “loginPage”);
}
}

public void beforePhase(PhaseEvent event) {
}

public PhaseId getPhaseId() {
    return PhaseId.RESTORE_VIEW;
}

}

MINHA VIEW FICOU ASSIM:

<script language="JavaScript">
  window.parent.location = "usuarioLogin.jsf";
Index

VALEU GENTE… ESPERO QUE OS CODIGOS POSSAM AJUDAR MAIS ALGUEM