我必须为大学做一个项目,而且我遇到了一些问题,如果你们中的任何人能帮助我,我将非常感激。
该项目是一个二手产品商店,到目前为止我们必须制作一个servlet,用于在一个列表中插入产品,以后将保存在一般用户会话中(我们不使用任何类型的产品) DB,只有用户会话)。没关系,但是现在我必须做另一个在这个列表中搜索的servlet,但是我在从另一个servlet中检索列表时遇到了问题。
将产品保存在用户会话属性中的Servlet代码。
listaProds.add(prod);
request.getSession().setAttribute("listaProdutos", listaProds);
这里是我尝试从另一个servlet中检索列表的代码
listaProds =(ArrayList<Produto>) request.getSession().getAttribute("listaProdutos");
事情是,我开始&#39;第二个servlet中只有一个空指针,我不知道下一步该怎么做......
其他信息: 我使用netbeans, 两个servlet都在同一个包中, 这两个servlet被称为&#39;来自两个不同的.jsp页面。
如果有人可以帮助我,那将会很棒,如果您需要任何其他信息,请询问并提供。
提前致谢!!
答案 0 :(得分:2)
您正在获取NPE,因为您正在检索该对象,而不应该尝试
listaProds =(ArrayList<Produto>) request.getSession().getAttribute("listaProdutos");
应该按预期工作。
来自java docs,
HttpRequest#getAttribute
java.lang.Object getAttribute(java.lang.String name)返回值 作为Object的named属性,如果没有属性,则为null 给定名称存在。