springMvc 拦截器实现
程序员文章站
2022-10-27 20:36:56
1、登录拦截类代码 2、 spring配置文件中 配置拦截相关操作 ......
1、登录拦截类代码
package com.login; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.springframework.web.servlet.HandlerInterceptor; import org.springframework.web.servlet.ModelAndView; public class Login implements HandlerInterceptor{ /** * 在controller执行之后的DispatcherServlet之后执行 * */ @Override public void afterCompletion(HttpServletRequest httpRequest, HttpServletResponse httpResponse, Object arg2, Exception arg3) throws Exception { System.out.println("在controller执行之后的DispatcherServlet之后执行"); } /** * 在controller执行之后的DispatcherServlet之后执行 * */ @Override public void postHandle(HttpServletRequest arg0, HttpServletResponse arg1, Object arg2, ModelAndView arg3) throws Exception { System.out.println("在controller执行之后的DispatcherServlet之后执行"); } /** * 在DispatcherServlet之前执行 * */ @Override public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object object) throws Exception { // System.out.println("在DispatcherServlet之前执行"); // return true; // response.sendRedirect("/olForum/forumList.html?login=aaa"); response.sendRedirect("/login/index"); return false; } }
2、 spring配置文件中 配置拦截相关操作
<!--拦截器--> <mvc:interceptors> <!--使用 bean 定义一个 Interceptor,直接定义在 mvc:interceptors 下面的 Interceptor 将拦截所有的请求--> <!--<bean class="com.login.Login"/>--> <mvc:interceptor> <mvc:mapping path="/*/*"/> <!--不拦截的请求--> <mvc:exclude-mapping path="/login/index"/> <!-- 定义在 mvc:interceptor 下面的 Interceptor,表示对特定的请求进行拦截--> <bean class="com.login.Login"/> </mvc:interceptor> </mvc:interceptors>