我目前正在学习Servlet。我正在NullPointerException
使用下面的代码。每当getAttribute()
调用函数SqServlet
以获取k中的值时,它将返回空值。谁能告诉我我要去哪里错了?谢谢。
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”,然后从会话中获取它
在AddServelet中,您应该执行以下操作:session.setAttribute(“ k”,k);
而不是req.setAttribute(“ k”,k);
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句