我将其包含在我的所有jsps体内标签中
如果此时已提交HTTP响应,可能 为时已晚
。当已经写入X个字符(在您的情况下为HTML)字符时,将提交HTTP响应
<head>。您需要将这些行放在JSP文件的最顶部,而不是
<body>HTML表示形式的。
无关紧要的是,您将相同的代码行复制到多个文件中,这是一个巨大的设计错误。这不是DRY。每当你需要copypaste代码,你应该总是停下来问自己,如果没有一个
单一的 执行特定代码的地方。在您的特定情况下,应该使用a
Filter代替。。另外,在JSP中编写Java代码也是一种不好的做法。
另外,您的注销方法很奇怪。不要将用户名存储在某些自定义cookie中。您基本上是在重新设计会话。只需将登录用户存储为会话属性,然后使整个会话无效并发送重定向。
request.getSession().invalidate();response.sendRedirect(request.getContextPath() + "/home.jsp");



