1. 程式人生 > >Spring Mvc那點事---(22)Spring Mvc攔截器之WebRequestInterceptor

Spring Mvc那點事---(22)Spring Mvc攔截器之WebRequestInterceptor

WebRequestInterceptor和HandlerInterceptor一樣,也有三個方法,preHandle,postHandle,afterCompletion,不同的是preHandle沒有返回值,而且WebRequestInterceptor的三個方法的引數都是WebRequest,WebRequest和HttpServletRequest用法基本一樣。

public class threeInterpector implements WebRequestInterceptor {

	public void preHandle(WebRequest request) throws Exception {
		// TODO Auto-generated method stub
         request.setAttribute("username", "zhang",WebRequest.SCOPE_REQUEST);
	}

	public void postHandle(WebRequest request, ModelMap model) throws Exception {
		// TODO Auto-generated method stub
        System.out.println(request.getAttribute("username", WebRequest.SCOPE_REQUEST));
	}

	public void afterCompletion(WebRequest request, Exception ex)
			throws Exception {
		// TODO Auto-generated method stub

	}

}

屬性有個scope引數值,分別代表如下含有

SCOPE_REQUEST :它的值是0 ,代表只有在request 中可以訪問。
SCOPE_SESSION :它的值是1 ,如果環境允許的話它代表的是一個區域性的隔離的session,否則就代表普通的session,並且在該session範圍內可以訪問。
SCOPE_GLOBAL_SESSION :它的值是2 ,如果環境允許的話,它代表的是一個全域性共享的session,否則就代表普通的session,並且在該session 範圍內可以訪問。