HttpSession似乎失去了我使用setAttribute

时间:2019-06-25 11:19:34

标签: java jsp tomcat servlets httpsession

我正在使用jsps和servlet制作Web应用程序,而我在以下代码中遇到了问题

<!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>

问题是,在登录servlet中,我有一个setAttribute,其中将用户bean相对于会话放置了。 因此,我进行登录,然后以用户身份成功输入,然后单击购物车按钮,该按钮将我发送到包含上面代码的页面。 从会话中成功检索到用户bean,一切按预期进行。
当我关闭服务器并再次打开它时,会发生问题,我再次转到站点索引,我仍以以前的用户身份登录(在tomcat服务器关闭之间未删除会话),但是这次我转到session页面上的购物车页面(上面的代码)session.getAttribute()返回导致异常的空引用。
为什么从会话中删除了用户bean?
为什么我在会话中拥有的所有其他信息除了bean之外都保留??
如果删除用户bean,其他所有字符串也应该删除。
我检查了几次,但从未在其他代码中删除该属性。告诉我您是否需要其他信息

0 个答案:

没有答案