Я делаю веб-приложение с jsps и сервлетами, и у меня проблема в следующем коде
<!DOCTYPE html>
<html>
<head>
<%@ page import="JavaBeans.ProductBean" %>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Giabby's Store - Product</title>
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.4.0/css/bootstrap.min.css">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.0/jquery.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.4.0/js/bootstrap.min.js"></script>
<link rel="stylesheet" type="text/css" href="./files_css/resizing.css">
<link rel="stylesheet" type="text/css" href="./files_css/general-style.css">
<link rel="stylesheet" type="text/css" href="./files_css/product-style.css">
</head>
<body>
<%
ProductBean bean=(ProductBean)request.getAttribute("product");
String description=bean.getDescription(),typology=bean.getTipology(),imgPath=bean.getImgPath(),title=bean.getTitle();
double price=bean.getPrice();
int availability=bean.getAvailability(),shipment=bean.getShipment();
%>
<!--NAV WITH BUTTON TO RETURN TO INDEX-->
<nav class="navbar navbar-inverse navbar-fixed-top" >
<div class="container-fluid">
<div class="navbar-header">
<a style = "padding-left:10px;" class="navbar-brand" href="./index.jsp">Return to index</a>
</div>
</div>
</nav>
Дело в том, что в сервлете входа у меня есть setAttribute, куда я помещаю бин пользователя относительно сессии.
Итак, я делаю логин, я успешно захожу как пользователь, затем я нажимаю кнопку корзины, которая отправляет меня на страницу, содержащую код выше.
пользовательский компонент успешно извлекается из сеанса, и все идет как надо.
Проблема возникает, когда я выключаю сервер и снова открываю его, я снова захожу к индексу сайта, я все еще вошел в систему как предыдущий пользователь (сеанс не стирается между отключениями сервера tomcat), но на этот раз, когда я иду в страница корзины (код выше) session.getAttribute () возвращает нулевую ссылку, которая вызывает исключение.
Почему пользовательский компонент был удален из сеанса?
почему все остальные данные, которые у меня есть в сеансе, остаются, кроме бина ??
Если пользовательский бин удален, все остальные строки тоже должны.
Я проверял несколько раз и никогда не удалял этот атрибут в каком-то другом коде. Скажите, если вам нужна другая информация