frame中session超时后用过滤器只跳转中间页面问题
来源:互联网 发布:网络安全设备维保方案 编辑:程序博客网 时间:2024/04/27 01:57
问题:
session超时跳转后还在frame框架里面,得想办法跳出frame后转到登录页面去。
解决办法:
Filter处理
@Override
public void doFilter(ServletRequest request, ServletResponse response,
FilterChain chain) throws IOException, ServletException {
//判断用户是否已经登录
HttpServletRequest httpServletRequest = (HttpServletRequest)request;
HttpServletResponse servletResponse = (HttpServletResponse)response;
//需要登录的东西不能被浏览器缓存
servletResponse.setHeader("Pragma","No-cache");
servletResponse.setHeader("Cache-Control","no-cache");
servletResponse.setDateHeader("Expires", -10);
String appPath= httpServletRequest.getServletPath();
if(!appPath.equalsIgnoreCase(loginUrl)&&!appPath.equalsIgnoreCase(loginActionUrl)&&!SessionUtil.exist(httpServletRequest, SessionUtil.USER_SESSION_NAME)){
servletResponse.sendRedirect(httpServletRequest.getContextPath()+loginUrl);
return ;
}
chain.doFilter(request, response);
}
或者:
if(session == null || userDTO == null)//判断session是否失效。
{
/*session失效后用户再次操作时页面将会跳回登录页面。*/
PrintWriter out = response.getWriter();
String url = request.getContextPath() + "/index.jsp";
out.println("<script language=\"javascript\">");//利用js跳出iframe。
out.println("top.location=\"" + url + "\";");
out.println("</script>");
}
注:在Filter中无论是forward还是redirct,之后最好return,不需要走 chain.doFilter(request, response); 在某些特殊的情况下可能就会存在问题。
- frame中session超时后用过滤器只跳转中间页面问题
- session失效,过滤器中frame框架页面跳转
- session 超时 页面跳转
- session 超时 页面跳转
- session超时,跳转页面
- frame中请求页面而session失效时页面跳转问题
- session超时后自动跳转到框架顶层页面
- session超时后自动跳转到框架顶层页面
- 在frame结构的页面中,如何实现用struts2跳转时,只改变页面中的某个frame
- Shiro中session超时页面跳转的处理
- ajax提交session超时跳转页面,全局
- session超时后页面跳转到登陆页的js拦截方法
- web.xml中配置session超时过滤器
- java中session过期后跳转登录页面。
- java web session过期 跳转页面没有跳出frame的问题
- java servlet过滤器控制frame框架中的页面跳转
- [转载]java servlet过滤器控制frame框架中的页面跳转
- java servlet过滤器控制frame框架中的页面跳转
- GridView 分页通用方法
- LeetCode - Valid Sudoku
- 早上
- MyEclipse快捷键大全
- 安装ubuntu12.10及配置Android4.1编译环境
- frame中session超时后用过滤器只跳转中间页面问题
- C++ 类初始化列表的成员初始化顺序
- i.MX Yocto Project: How can I compile the kernel manually?
- JAVA中的Class.forName作用及JDBC应用探究
- C++赋值兼容原则
- note : judge PE Image on R3/R0 by image address range
- Qt 学习之路 2(18):事件--代码实现
- Hibernate与MyBatis比较
- 算法导论 4.2-4