2015-12-29 2 views
1
  *@Override 
      public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) 
         throws Exception { 

        System.out.println("INTERCEPTING---"); 
        if(request !=null && request.getParameter("email")!=null){ 

         System.out.println("session is NOT null------"); 
         session = request.getSession(); 
         session.setAttribute("user", request.getParameter("email")); 

        }else{ 

         try{ 

          if (session==null){ 

           System.out.println("session lost"); 

          } 

         }catch(IllegalStateException exception){ 

          System.out.println("session expired"); 
          "redirect:http://localhost:8080/web/authservice/fail"; 

/это переназначение, что я использовал, и я попробовал модель и посмотреть, как хорошо, но пока он не работает/ }Как перенаправить после сеанса истекло с помощью перехватчика Spring MVC

    } 

        return true; 
       } 
    /*in the above method how should I redirect. Its not redirecting............... 
Im unable to redirect the after the session expired it gives me a response commit exception. I ve been trying for hours no solution 

Просьба предоставить подходящее решение */

+0

где вы написали код переадресации? – Rockstar

+0

Я попытался перенаправить, используя «redirect:» внутри блока catch, прошедшего с истекшим сроком действия – user2274189

+0

Вы пытались метать с помощью ModelAndView (redirectView, «error», «sessionTimeout»), ' – Rockstar

ответ

0

Используйте сервлет фильтр вместо (поместить его в соответствии с Вами intercepet требование в вашем web.xml).

public class CustomRequestFilter implements Filter { 
     WebApplicationContext springContext; 
     @Override 
     public void init(FilterConfig filterConfig) throws ServletException { 
     springContext = WebApplicationContextUtils.getWebApplicationContext(filterConfig.getServletContext()); 
    } 

    @Override 
    public void doFilter(ServletRequest req, ServletResponse response, FilterChain chain) throws IOException, ServletException, LicenseException { 
     HttpServletRequest request = (HttpServletRequest) req; 

     if (XXX) { 
      //forward or redirect as per requirement 
       request.getRequestDispatcher("/WEB-INF/jsp/errors/SystemError.jsp").forward(request, response); 
     } 
     chain.doFilter(request, response); 
    } 

} 
Смежные вопросы