我有一个简单的jsp登录页面,我正在尝试实现“记住me2功能。jsp的页面代码:
String username = "";
Cookie[] vec = request.getCookies();
for(int i=0; vec!=null && i<vec.length; i++)
{
if(vec[i].getName().equals("userNameCookie")&&!vec[i].getValue().equals(""))
{
username = vec[i].getValue();
}
}
表单参数被发送到 servlet 控制器,控制器创建 cookie 并将其添加到响应中,然后控制器将请求转发到其他页面。
我的问题是,返回登录页面后,控制器添加到响应中的 cookie 不存在。实际上,cookie 存在于控制器将请求转发到的页面中。
这是控制器的代码:
String username = request.getParameter("username");
String password = request.getParameter("password");
Cookie cookie = new Cookie("userNameCookie", username);
cookie.setMaxAge(7 * 24 * 60 * 60);
response.addCookie(cookie);
getServletConfig().getServletContext().getRequestDispatcher("/WEB-INF/products.jsp").forward(request, response);
我究竟做错了什么?
谢谢!