拦截器说明
| 方法名 |
说明 |
| preHandle() |
请求处理之前调用。返回布尔值,false为拦截请求,true为通过请求 |
| postHandle() |
在请求处理之后,视图渲染之前调用。 |
| afterCompletion() |
整个请求结束之后调用。 |
用户登录权限控制
package com.sjj.interceptor;
import com.sjj.domain.User;
import org.springframework.web.servlet.HandlerInterceptor;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
public class LoginInterceptor implements HandlerInterceptor {
@Override
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
// 判断用户是否登录
HttpSession session = request.getSession();
User user = (User) session.getAttribute("user");
if(user==null){
// 跳转登录页面
response.sendRedirect(request.getContextPath()+"login.jsp");
return false;
}
return true;
}
}
<!--配置拦截器-->
<mvc:interceptors>
<mvc:interceptor>
<mvc:mapping path="/**"/>
<!--对login登录资源不进行拦截操作-->
<mvc:exclude-mapping path="/login"/>
<bean class="com.sjj.interceptor.LoginInterceptor" />
</mvc:interceptor>
</mvc:interceptors>