Я работаю над веб-приложением. В этом приложении я использовал GWT2.3.Теперь мой вопрос о сессии на стороне клиента.В клиентской части я поддерживаю сеанс, как показано ниже:
public class WorkFlowSessionFactory {
private static HashMap session;
private WorkFlowSessionFactory() {
}
public static HashMap getClientSessionInstance() {
if (session == null) {
session = new HashMap();
}
return session;
}
public static Object getValue(WorkFlowSesisonKey key) {
return getClientSessionInstance().get(key);
}
public static void putValue(WorkFlowSesisonKey key, Object value) {
getClientSessionInstance().put(key, value);
}
public static void remove(WorkFlowSesisonKey key)
{
getClientSessionInstance().remove(key);
}
public static void resetSessionUser(User user) {
session.remove(WorkFlowSesisonKey.LOGGEDIN_USER);
session.put(WorkFlowSesisonKey.LOGGEDIN_USER, user);
}
}
Теперь, после успешного входа в систему, я включил зарегистрированного пользователя в сеанс клиента, а также в сеанс на стороне сервера, как показано ниже
* 1007.*
Теперь, когда я обновляю браузер, экземпляр сеанса у меня обнуляется. И все переменные сеанса также обнуляются.
Один из способов, которым я занимаюсь при обновлении: сначала я нажимаю на сервере, чтобы получить зарегистрированного пользователя, иснова установите сеанс на стороне клиента, вошедшего в систему пользователя.Поэтому во многих местах на стороне клиента, где требуется вход в систему, он будет работать после обновления браузера.
Но я не уверен, что это правильный способ или нет.Поэтому, пожалуйста, предложите мне этот случай, есть ли хороший способ сделать это?Заранее спасибо