gpt4 book ai didi

java - 2 session对象java ee null异常

转载 作者:行者123 更新时间:2023-12-01 09:06:18 24 4
gpt4 key购买 nike

我是 Java EE 的初学者,当我尝试在 JSP 和 Servlet 之间传输对象时,我使用 session 。作为作业,我必须创建一个电子商务网站。我的 jsp 中有这个:

HttpSession sess = request.getSession();              
Panier pan = new Panier();
sess.setAttribute("panier", pan);
sess.setAttribute("produit", produits.get(0));

produits 是“produit”对象的数组列表。

在我的 Servlet 中:

HttpSession sess = request.getSession();
Panier pan = (Panier) sess.getAttribute("panier");
Produit p1 = (Produit) sess.getAttribute("prod");

当我在这里时,一切正常,因为我可以显示对象 pan 或 p1 的良好属性。但是,当我使用我的方法“ajouterProduit”(英文为addProduct)时,出现了严重的空指针异常。

我的类(class)“产品”:

public class Produit implements java.io.Serializable{
private String nom;
private int prix;

public Produit(String name, int price){
this.nom = name;
this.prix = price;
}

public void setNom(String n){
this.nom = n;
}

public void setPrix(int p){
this.prix = p;
}

public String getNom(){
return this.nom;
}

public int getPrix(){
return this.prix;
}
}

我的类(class)“Panier”(英语篮子):

public class Panier implements Serializable{
private List<Produit> panier;
private static int montant = 0;

public Panier(){
panier = new ArrayList<>();
}

public void ajouterProduit(Produit p1){
panier.add(p1);
montant = montant + p1.getPrix();
}

public void ajouterProduit(Produit p1, Produit p2){
panier.add(p1);
montant = montant + p1.getPrix();
panier.add(p2);
montant = montant + p2.getPrix();
}

public void ajouterProduit(Produit p1, Produit p2,Produit p3){
panier.add(p1);
montant = montant + p1.getPrix();
panier.add(p2);
montant = montant + p2.getPrix();
panier.add(p3);
montant = montant + p3.getPrix();
}

public List<Produit> getPanier(){
return panier;
}

public int getMontantTotal(){
return montant;
}
}

预先感谢您的帮助! ;)

最佳答案

您可以像这样添加“产品”:

sess.setAttribute("produit", produits.get(0));

但是你像这样检索它:

Produit p1 = (Produit) sess.getAttribute("prod");

"prod""produit" 是 2 个不同的 session 名称。您的“产品”不在“prod” session 中。

您将产品存储在 produit session 中,但从不存在的 prod session 中检索它。

p1 因此为 null

关于java - 2 session对象java ee null异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41253629/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com