У меня есть приложение 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