Spring Mvc那點事---(22)Spring Mvc攔截器之WebRequestInterceptor
阿新 • • 發佈:2019-02-18
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 範圍內可以訪問。