Spring3 配置拦截器,HandlerInterceptorAdapter
自己的拦截器需要继承org.springframework.web.servlet.handler.HandlerInterceptorAdapter, 根据自己的业务需求复写其的几个方法 ?
?
import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import org.springframework.web.servlet.ModelAndView;import org.springframework.web.servlet.handler.HandlerInterceptorAdapter;/** * 用户登录会话校验 * */public class LoginInterceptor extends HandlerInterceptorAdapter { private String mappingURL; public void setMappingURL(String mappingURL) { this.mappingURL = mappingURL; } /** * 在DispatcherServlet完全处理完请求后被调用 */ @Override public void afterCompletion(HttpServletRequest arg0, HttpServletResponse arg1, Object arg2, Exception arg3) throws Exception { System.out.println("--afterCompletion"); // TODO Auto-generated method stub } /** * 在业务处理器处理请求执行完成后,生成视图之前执行的动作 */ @Override public void postHandle(HttpServletRequest arg0, HttpServletResponse arg1, Object arg2, ModelAndView arg3) throws Exception { System.out.println("--postHandle"); // TODO Auto-generated method stub } /** * 在业务处理之前调用 */ @Override public boolean preHandle(HttpServletRequest request, HttpServletResponse response,Object arg2) throws Exception { System.out.println("--preHandle"); String url=request.getRequestURL().toString(); // // UserInfo userInfo = (UserInfo) request.getSession().getAttribute( "userInfo");// if (mappingURL == null || !url.matches(mappingURL)) {// response.sendRedirect("/login.htm");// return false;// } return true; }}?
?
?
?
applicationContext.xml内添加:
?
<!-- 拦截器 --> <mvc:interceptors><mvc:interceptor><mvc:mapping path="/student/*"/><bean /></mvc:interceptor></mvc:interceptors>?
?
?
?
?