Я создаю использование сессии
HttpSession session = request.getSession();
Прежде, чем создать сессию я хочу проверить, существует ли она или нет. Как я сделал бы это?
HttpSession session = request.getSession (true); if (session.isNew ()) { ... сделать что-нибудь } еще { ... сделать что-нибудь еще
.getSession (true)
сообщает java создать новый сеанс, если ничего не существует.
вы, конечно, также можете сделать:
if(request.getSession(false) != null){
HttpSession session = request.getSession();
}
посмотрите: http://java.sun.com/javaee/6/docs/api/javax/servlet/http/HttpServletRequest.html
Ура, Йорген
Существует функция request.getSession(boolean create)
Параметры:
create
- true для создания новой сессии для этого запроса, если необходимо; false для возврата null, если текущей сессии нет
Таким образом, вы можете просто передать false
, чтобы сказать getSession
вернуть null, если сессии не существует.
Если вы хотите проверить это перед созданием , сделайте так:
HttpSession session = request.getSession(false);
if (session == null) {
// Not created yet. Now do so yourself.
session = request.getSession();
} else {
// Already created.
}
Если вы не заботитесь о проверке этого после создания , вы также можете сделать это:
HttpSession session = request.getSession();
if (session.isNew()) {
// Freshly created.
} else {
// Already created.
}
Это сохраняет строку и логическое значение
. request.getSession ()
делает то же самое, что и request.getSession (true)
.