關於處理登錄,到底用攔截器還是過濾器
過濾器(Filter)是Java EE體系中的組件,無論是否使用其它框架都可以使用過濾器來實現攔截的效果。
攔截器(Interceptor)是Spring MVC框架中的組件,只有項目中使用了Spring MVC框架才可以使用攔截器。
>>>過濾器是運行在所有Servlet之前的,攔截器是運行在DispatcherServlet之后的。
>>>通常在使用Spring MVC框架后,推薦使用攔截器來實現登錄的處理。
使用了登錄攔截后,AJAX請求可能存在的問題
問題:當登錄信息已經過期,仍發送需要登錄后才可以發送的請求,並且,這個請求是通過AJAX發送的。
本次攔截中的攔截器,對於未登錄的處理方式是重定向,重定向的響應碼是302
,如果是AJAX請求到的響應碼是302
,在jQuery ajax()函數中,並不會對應到success
,而是應該在error
中進行處理!