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 范围内可以访问。