【发布时间】:2019-02-11 19:08:57
【问题描述】:
我已经为 jsp 中的表中的每一行生成了动态删除链接。当我单击该链接时,它应该删除关联的行,它工作正常。但是一旦我注销它不应该删除该行..我复制了删除链接并注销..现在如果我运行该链接它会将我重定向到登录页面,如果我再次登录查看表中的学生..它会删除那个特定的行。
为什么即使在删除属性并使会话无效之后它仍然能够到达 servlet?
为删除学生生成的链接..
http://localhost:8080/feeManagement/Delete_Action_Student?delete=67657
这是我的 DeleteStudent,Logout 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 {
}
}
注销sn-p。
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
HttpSession session = request.getSession();
session.removeAttribute("Accemail");
session.invalidate();
response.sendRedirect("loginjsp.jsp");
}
【问题讨论】: