use*_*962 13 java jsp servlets
HttpSession session = request.getSession();
try
{
session.removeAttribute("logonSessData");
session.invalidate();
String pageToForward = request.getContextPath();
response.sendRedirect(pageToForward);
}
catch (Exception sqle)
{
System.out.println("error UserValidateServlet message : " + sqle.getMessage());
System.out.println("error UserValidateServlet exception : " + sqle);
}
Run Code Online (Sandbox Code Playgroud)
在Logout servlet中我写了上面的代码doPost和doGet方法.注销后会显示登录界面,然后如果按下后退按钮,它会在注销前显示上一屏幕然后如果我点击任何页面显示"HTTP状态500",现在如果我按下F5则会加热登录Servlet并获得完全访问权限用户.
如何停止此问题显示在Logout使用后退按钮后F5用户无法使用任何页面?
你在做什么是好的.浏览器正在缓存之前的页面,当您单击后退按钮时,它将转到上一个缓存页面.
您需要添加不允许浏览器缓存页面的缓存标头.
Cache-Control: no-cache
Run Code Online (Sandbox Code Playgroud)
Aas*_*ray -3
您需要做的是将会话设置为基于会话的属性。
request.getSession().setAttribute("sess",request.getSession());
使用它来将其与当前会话进行比较。如果比较失败,则重定向到登录页面。这应该在每个页面中完成。
| 归档时间: |
|
| 查看次数: |
36484 次 |
| 最近记录: |