Java 为什么此链接在注销(或使会话无效)后仍然有效?
我已经在jsp中为表中的每一行生成了动态删除链接。当我点击该链接时,它应该会删除关联的行,它工作正常。但一旦我注销,它就不应该删除该行。我复制了删除链接并注销。现在,如果我运行该链接,它会将我重定向到登录页面。如果我再次登录,它会在表中查看学生。它会删除该特定行 为什么即使删除了属性并使会话无效,它仍然能够到达servlet 为删除学生生成的链接Java 为什么此链接在注销(或使会话无效)后仍然有效?,java,jsp,session,servlets,Java,Jsp,Session,Servlets,我已经在jsp中为表中的每一行生成了动态删除链接。当我点击该链接时,它应该会删除关联的行,它工作正常。但一旦我注销,它就不应该删除该行。我复制了删除链接并注销。现在,如果我运行该链接,它会将我重定向到登录页面。如果我再次登录,它会在表中查看学生。它会删除该特定行 为什么即使删除了属性并使会话无效,它仍然能够到达servlet 为删除学生生成的链接 http://localhost:8080/feeManagement/Delete_Action_Student?delete=67657 这是我
http://localhost:8080/feeManagement/Delete_Action_Student?delete=67657
这是我的学生,注销servlet
@WebServlet("/Delete_Action_Student")
public class Delete_Action_Student extends HttpServlet {
private static final long serialVersionUID = 1L;
public Delete_Action_Student() {
super();
}
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
if (request.getAttribute("Accemail") != "") {
String id = request.getParameter("delete");
try {
if (StudentDAOimpl.removeStudent(id)) {
request.setAttribute("msg", "deleted successfully");
getServletContext().getRequestDispatcher("/Delete_Student").forward(request, response);
} else {
request.setAttribute("msg", "failed to remove");
getServletContext().getRequestDispatcher("/Delete_Student").forward(request, response);
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
} else {
response.sendRedirect("/loginjsp.jsp");
}
}
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
}
}
注销代码段
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
HttpSession session = request.getSession();
session.removeAttribute("Accemail");
session.invalidate();
response.sendRedirect("loginjsp.jsp");
}
浏览器的行为是将您来自的url存储到登录页面。因此,成功登录后,它将重定向到该url 成功登录后,如果您希望始终登录到主页,您可以使用过滤器来完成此操作