专注收集记录技术开发学习笔记、技术难点、解决方案
网站信息搜索 >> 请输入关键词:
您当前的位置: 首页 > Java Web开发

关于Filter中的跳转解决办法

发布时间:2010-05-31 06:14:46 文章来源:www.iduyao.cn 采编人员:星星草
关于Filter中的跳转
各位大哥我遇到一个问题,要求在Filter中做一个跳转不和要求的请求全部跳转到一个提示页面中.我写了一个。但是每次到response.sendRedirectrequest.getContextPath()+   "/jsp/security/notic.jsp ");

就循环了.页面在不停的刷新.请大哥帮一把.
我的代码如下:

  public   void   doFilter(ServletRequest   servletrequest,   ServletResponse
    servletresponse,   FilterChain   filterchain)   throws   IOException,
    ServletException   {   HttpServletRequest   request   =   (HttpServletRequest)
    servletrequest;   HttpServletResponse   response   =   (HttpServletResponse)
    servletresponse;   HttpSession   session   =   request.getSession();
    try   {   //
    User   user   =   (User)   session.getAttribute(Constants.USER_IN_SESSION);
    UserManager   userManager   =   ServiceLocator.getUserManager();
   
    if   (user   !=   null)   {
    //   判断是否是超级用户  
    if   (!userManager.ifSuperUser(user))   {
    //   如果系统没有启动,跳转到提示页面。提示系统未启动
    //isStartUp是一个只有管理员才能设置的标志,如果管理员设了不能用.在这里就跳转到notic.jsp页面
    //但是每次到这里就过不去了.页面在不停的刷新,并且也没跳到notic.jsp
    if(session.getServletContext().getAttribute( "isStartUp ")!=null)   {
    response.sendRedirect(request.getContextPath()+   "/jsp/security/notic.jsp ");
   
    }else{  
    filterchain.doFilter(servletrequest,   servletresponse);  
    }  
    }else   {   //   是超级用户就继续执行
    filterchain.doFilter(servletrequest,   servletresponse);
    }

    }   else{  
    filterchain.doFilter(servletrequest,   servletresponse);
    }
   
      }   catch(Exception   exception)   {  
      exception.printStackTrace();
      }
      }
 

请高手帮忙啊.

------解决方案--------------------
response.sendRedirect( "/jsp/security/notic.jsp ");
------解决方案--------------------
你用服务器端重定向看看,还有,要注意逻辑错误。
------解决方案--------------------
嘿嘿,看看你的filter作用范围,是不是把notic.jsp也包括进去了。
------解决方案--------------------
把web.xml拉出来亮亮
------解决方案--------------------
我也遇见过这个问题,是你的路径出错了
友情提示:
信息收集于互联网,如果您发现错误或造成侵权,请及时通知本站更正或删除,具体联系方式见页面底部联系我们,谢谢。

其他相似内容:

热门推荐: