MVC配置攔截器

   
    <mvc:interceptors>
        <mvc:interceptor>
            <mvc:mapping path="/*/*" />
            <mvc:exclude-mapping path="/user/login" />
            <mvc:exclude-mapping path="/user/logout" />
            <bean class="com.interception.TestInterception"></bean>
        </mvc:interceptor>

    </mvc:interceptors>



package com.interception;

import javax.servlet.ServletContext;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;

import org.springframework.web.servlet.HandlerInterceptor;
import org.springframework.web.servlet.ModelAndView;

/**
 * 類說明
 *
 * @author 肖荷山
 * @version 創建時間:2017年11月11日 上午11:48:50
 */
public class TestInterception implements HandlerInterceptor {

    @Override
    public void afterCompletion(HttpServletRequest arg0, HttpServletResponse arg1, Object arg2, Exception arg3)
            throws Exception {
        System.out.println("===============================執行順序:afterCompletion");

    }

    @Override
    public void postHandle(HttpServletRequest arg0, HttpServletResponse arg1, Object arg2, ModelAndView arg3)
            throws Exception {
        System.out.println("===============================執行順序:postHandle");

    }

    @Override
    public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object object) throws Exception {
        System.out.println("===============================執行順序:preHandle");
        HttpSession session = request.getSession();
        ServletContext application = session.getServletContext();
        if (application.getAttribute(session.getId()) == null) { // 未登錄
            request.getRequestDispatcher("/user/logout").forward(request, response);
            return false;
        } else { // 已經登錄
            return true;
        }
    }

}




發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章