gpt4 book ai didi

java - 使用 HttpSession 时出现空指针异常

转载 作者:行者123 更新时间:2023-12-01 16:42:19 25 4
gpt4 key购买 nike

我目前正在学习Servlet。使用下面的代码时,我收到 NullPointerException 。每当在 SqServlet 中调用 getAttribute() 函数以获取 k 中的值时,它都会返回 null 值。谁能告诉我哪里出错了?谢谢。

public class AddServelet extends HttpServlet {
public void doGet(HttpServletRequest req, HttpServletResponse res) {
try {
int i = Integer.parseInt(req.getParameter("num1"));
int j = Integer.parseInt(req.getParameter("num2"));
int k = i + j;

PrintWriter out = res.getWriter();
HttpSession session = req.getSession();

req.setAttribute("k", k);
res.sendRedirect("sq");
} catch(Exception e) {
e.printStackTrace();
}
}
}

public class SqServlet extends HttpServlet {
public void doGet(HttpServletRequest req, HttpServletResponse res) {
try {
HttpSession session = req.getSession(false);
int k = (int)session.getAttribute("k");

k = k * k;
PrintWriter out = res.getWriter();
out.println("Square of sum: " + k);
} catch(Exception e) {
e.printStackTrace();
}
}
}

最佳答案

您在请求中设置“k”,然后从 session 中获取它

在AddServelet中,你应该这样做:session.setAttribute("k", k);

而不是req.setAttribute("k", k);

关于java - 使用 HttpSession 时出现空指针异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61838822/

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