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