当前位置:Gxlcms > mysql > JSP和Struts解决用户退出问题_MySQL

JSP和Struts解决用户退出问题_MySQL

时间:2021-07-01 10:21:17 帮助过:34人阅读

Struts

  在一个有密码保护的Web应用中,正确处理用户退出过程并不仅仅只需调用HttpSession的invalidate()方法。现在大部分浏览器上都有后退和前进按钮,允许用户后退或前进到一个页面。如果在用户在退出一个Web应用后按了后退按钮浏览器把缓存中的页面呈现给用户,这会使用户产生疑惑,他们会开始担心他们的个人数据是否安全。许多Web应用强迫用户退出时关闭整个浏览器,这样,用户就无法点击后退按钮了。还有一些使用javascript,但在某些客户端浏览器这却不一定起作用。这些解决方案都很笨拙且不能保证在任一情况下100%有效,同时,它也要求用户有一定的操作经验。


//...
//initialize RequestDispatcher object; set forward to home page by default
RequestDispatcher rd = request.getRequestDispatcher("home.jsp");


 rd.forward(request, response);
}
//...
//Allow the rest of the dynamic content in this JSP to be served to the browser
//...


response.setHeader("Pragma","no-cache"); //HTTP 1.0 backward compatibility
String userName = (String) session.getAttribute("User");
if (null == userName) {
 request.setAttribute("Error", "Session has ended. Please login.");
 RequestDispatcher rd = request.getRequestDispatcher("login.jsp");
 rd.forward(request, response);
}
//...


  rd = request.getRequestDispatcher("login.jsp"); }
 }
 else { //Password does not match, i.e., invalid user password
  request.setAttribute("Error", "Invalid password.");
  rd = request.getRequestDispatcher("login.jsp");
 }
 //...
 rd.forward(request, response);
//...


   this.saveErrors(request, errors);
   return mapping.findForward("sessionEnded");
  }
  return executeAction(mapping, form, request, response);
 }

人气教程排行