HttpSession session = request.getSession(false);
if (session == null) {
// Session is not created.
} else {
// Session is already created.
}
Если вы действительно хотите создать сеанс, если он не существует, просто возьмите его и проверьте свежесть, используя HttpSession#isNew()
HttpSession session = request.getSession();
if (session.isNew()) {
// Session is freshly created during this request.
} else {
// Session was already created during a previous request.
}
Так вы могли бы сделать это в сервлете. В JSP вы можете тестировать свежесть только с помощью JSTL и EL. Вы можете захватить сеанс PageContext#getSession(), а затем просто вызвать isNew() на нем.
<c:if test="${pageContext.session.new}">
<p>Session is freshly created during this request.</p>
</c:if>
или
<p>Session is ${pageContext.session.new ? 'freshly' : 'already'} created.</p>
Ответ 2
Один из способов - установить идентификатор сеанса в jsp, а затем проверить один и тот же идентификатор сеанса в другом jsp или сервлет, чтобы проверить, жив ли он или нет.