天天看點

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 範圍内可以通路。

繼續閱讀