Если учесть 5 или n десятичных чисел. Может быть, этот ответ решит вашу проблему.
double a = 123.00449;
double roundOff1 = Math.round(a*10000)/10000.00;
double roundOff2 = Math.round(roundOff1*1000)/1000.00;
double roundOff = Math.round(roundOff2*100)/100.00;
System.out.println("result:"+roundOff);
Вывод будет: 123.0 1
, это можно решить с помощью цикла и рекурсивной функции.
В этой недавней главе в Spring Security 3.0 2009 года обсуждается аутентификация типа «Запомнить меня». Общие концепции не относятся к Spring Security, поэтому вы сможете извлечь из нее выгоду, даже если вы ее не используете. В главе также цитируется публикация Барри Джаспана в 2006 г., которая является улучшением по сравнению с методами, описанными в блоге Чарльза Миллера 2004 .
Запись в блоге в основном сводится к:
] Когда пользователь успешно входит в систему с установленным флажком «Запомнить меня», в дополнение к стандартному cookie управления сеансом выдается файл cookie для входа.
Файл cookie для входа содержит имя пользователя, идентификатор серии и токен. Серия и токен - это непредсказуемые случайные числа из достаточно большого пространства. Все три хранятся вместе в таблице базы данных.
Когда пользователь, не вошедший в систему, посещает сайт и представляет файл cookie для входа, имя пользователя, серия и токен просматриваются в базе данных.
Подписанные файлы cookie , которые невозможно подделать, могут быть хорошей идеей, когда вам не требуется полное состояние на стороне сервера ... скудное, среднее и эффективное.
Вы все еще есть риск кражи cookie, но вы всегда можете подписать cookie, используя IP-адрес, User-agent и другие параметры, чтобы минимизировать угрозу.
Cookies, но пользователь может решить их удалить.
В том же духе есть какое-то решение, используя Flash. Flash может хранить информацию на стороне клиента, не файл cookie, он не удаляется (обычно) браузером. С его помощью вы можете запомнить, какой пользователь запрашивает страницы, но вы застряли при использовании решения, использующего подключаемые модули, и вам нужно знать Flash ...
Я не вижу других решений.
Это просто файл cookie с назначенным значением длительного срока службы. Однако он будет работать только до тех пор, пока существует файл cookie. Например, у меня Firefox настроен на очистку файлов cookie при закрытии браузера. Так что для меня это не сработает.
Не пытайтесь реализовать файлы cookie сеанса самостоятельно.
Большинство веб-фреймворков дают вам абстракцию по этому поводу, позволяя вам не беспокоиться о многих проблемах безопасности, с которыми вы можете столкнуться.
Простой API в псевдокоде в веб-структуре может выглядеть примерно так при входе в систему:
authFrwk.loginUser(request.POST.get(username), request.POST.get(password));
Это вернет cookie клиенту (обрабатывается исключительно структурой).
Безопасно авторизованная операция будет выглядеть что-то вроде этого:
if (authFrwk.isLoggedOn()) // implicitly checks user session cookie
doSomethingImportant();
else
return notLoggedInMsg();
По сути, cookie сеанса получает уникальный идентификатор на стороне сервера, который злонамеренный пользователь не может сгенерировать / угадать самостоятельно, и который идентифицирует клиента как вошедшего в систему пользователя.