我有一个servlet:
public class TestServlet extends HttpServlet {
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
req.getSession().setAttribute("user", "Test cookie");
req.getRequestDispatcher("test.jsp").forward(req, resp);
}
}
我有一个JSP:
<% String name = request.getParameter("user"); %>
<%= name%>
但是如果我运行代码,输出为空,为什么?
你能告诉我为什么吗?获取“用户”cookie的简便方法是什么。答案 0 :(得分:3)
您应该使用getAttribute(...)
而不是getParameter(...)
这样:
<% String name = session.getAttribute("user"); %>
不
<% String name = request.getParameter("user"); %>
答案 1 :(得分:1)
“但如果我运行代码,输出为空,为什么”?
如果您在会话上设置了该属性,则该请求中不存在该属性,因此从
返回null request.getParameter("user");
你需要从会话中获取它,如下所示:
session.getAttribute("user");
答案 2 :(得分:0)