2015-05-05 34 views
5

Aşağıdaki filtre, benim prj2'ümda bulunmaktadır. Bu prj2 üzerinden oturumun orada olup olmadığını kontrol ediyorum prj1 URL'sini içeren giriş sayfasına yönlendirmek istiyorum /prj1/sessionexpiry. Aşağıdaki senaryoda, giriş sayfasına yönlendirilmiyor ve herhangi bir istisna atmıyor.response.sendRedirect, Servlet Filter içinde çalışmıyor

public void doFilter(ServletRequest req, ServletResponse res, FilterChain chain)  
throws IOException, ServletException { 
    HttpServletResponse hsr = (HttpServletResponse) res; 
    HttpServletRequest hreq = (HttpServletRequest) req; 
    HttpSession session = hreq.getSession(false); 

    if (session == null) { 
     hsr.sendRedirect("/prj1/sessionexpiry"); 
     return; 
    } else { 
     chain.doFilter(req, res); 
    } 
} 

Herhangi bir yardım, başka bir yerde bir çıkış servlet'dir oturumu geçersiz veya mü

+0

'return' deyimini kaldır –

+0

İade beyanını kaldırdıktan sonra da çalışmıyor –

+0

Ne oldu? Herhangi bir istisna veya hata oluştuğunda lütfen gönderin. –

cevap

0

takdir edilecektir? Aksi halde oturum asla boş olmaz.

request.getSession().invalidate(); 

bunu kullanın daha sonra bir dahaki sefere oturumu geçerli olup olmadığını kontrol edin veya bu boş değer almak olacak değil, oturumu geçersiz.