HttpSession, кажется, теряет определенные объекты, которые я помещаю в него с помощью setAttribute - PullRequest
0 голосов
/ 25 июня 2019

Я делаю веб-приложение с 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 () возвращает нулевую ссылку, которая вызывает исключение.
Почему пользовательский компонент был удален из сеанса?
почему все остальные данные, которые у меня есть в сеансе, остаются, кроме бина ??
Если пользовательский бин удален, все остальные строки тоже должны.
Я проверял несколько раз и никогда не удалял этот атрибут в каком-то другом коде. Скажите, если вам нужна другая информация

...