虽然这个地方清除了,但是由于某些浏览器设置了,自动填充账户名密码,造成cookie没有删除的假像。
全部逻辑代码:
@WebServlet("/LoginServlet")
public class LoginServlet extends HttpServlet {
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
String username = request.getParameter("username");
String password = request.getParameter("password");
String remember = request.getParameter("remember");
UserServiceIml service = new UserServiceIml();
boolean flag = service.login(username, password);
if (flag) {
//创建cookie对象
cookie cookie_username = new cookie("username", username);
cookie cookie_password = new cookie("password", password);
// 判断用户是否勾选
if (remember != null) {
// 设置cookie存活时间
cookie_username.setMaxAge(60 * 60 * 24);
cookie_password.setMaxAge(60 * 60 * 24);
} else {
cookie_username.setMaxAge(0);
cookie_password.setMaxAge(0);
}
// 发送cookie
response.addcookie(cookie_username);
response.addcookie(cookie_password);
HttpSession session = request.getSession();
// 把username发送到session域中
session.setAttribute("username", username);
// 重定向到/brand.jsp页面
response.sendRedirect("/filter/brand.jsp");
} else {
request.setAttribute("msg", "用户名或密码错误");
// 请求转发
request.getRequestDispatcher("login.jsp").forward(request, response);
}
}
@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
this.doGet(request, response);
}



