JSF2 응용 프로그램이 있습니다. 나는 세션 스코프 된 로그인 빈과 뷰 범위 인 로그 아웃 빈을 가진다. 로그인 할 때 리디렉션을 사용하면 제대로 작동합니다. 그러나 리디렉션을 사용하면 로그 아웃이 실패합니다. 리디렉션없이 로그 아웃하면 작동합니다.로그 아웃 후 리디렉션 후 java.lang.IllegalStateException : 응답이 커밋 된 후 세션을 만들 수 없습니다.
@ManagedBean
@ViewScoped
public class MbLogout extends BaseJsf {
private static final long serialVersionUID = 2992671241358926373L;
public String logout() throws DfException {
getFacesContext().getExternalContext().invalidateSession();
//return "login?faces-redirect=true"; // fails with this
return "login";
}
}
로그인 페이지가 작동하지 않는 이유는 표시되지 않지만 그래서,이 함께 할 수있는 뭔가가 의심 로그인 빈에 바인딩을 가지고있다. 오류 :
java.lang.IllegalStateException: Cannot create a session after the response has been committed
내 생각 엔 내가 세션 빈에 액세스하기 때문에 나는이 문제 아무것도 표시되지 않지만 로그인 페이지에서 세션을 생성하려고하고 리디렉션없이 작동합니다.
저는 MyFaces 2.1을 사용하고 있습니다.
그건 생각하지 못했습니다. 나는 그것을 시도 할 것이다. 감사 – rozner