自定义拦截器java
按照mvc框架提供的规范开发一个自定义的控制器web
在springmvc配置文件中注册spring
<!-- 注册自定义的拦截器 --> <mvc:interceptors> <mvc:interceptor> <!-- 指定当前的拦截器拦截的路径 --> <mvc:mapping path="/user/*"/> <bean class="cn.internet.intercepter.MyIntercepter"></bean> </mvc:interceptor> </mvc:interceptors>
package cn.internet.intercepter; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.springframework.web.servlet.HandlerInterceptor; import org.springframework.web.servlet.ModelAndView; /** * 自定义拦截器 * @author zhangbin * */ public class MyIntercepter implements HandlerInterceptor{ @Override public void afterCompletion(HttpServletRequest arg0, HttpServletResponse arg1, Object arg2, Exception arg3) throws Exception { System.out.println("------------afterCompletion------------"); } @Override public void postHandle(HttpServletRequest arg0, HttpServletResponse arg1, Object arg2, ModelAndView arg3) throws Exception { System.out.println("------------postHandle------------"); } @Override public boolean preHandle(HttpServletRequest arg0, HttpServletResponse arg1, Object arg2) throws Exception { System.out.println("------------preHandle------------"); //拦截客户端请求,检查权限,若是没有权限,返回false //权限检查从session里面把登陆用户拿出来 根据登陆用户来得到角色,根据角色得到权限, //根据权限来判断当前你访问的地址对应的是哪一个权限 看这个用户权限里面是否包含 若是有就放行,若是没有那就直接跳转到没有权限页面 return true; } }