1. 程式人生 > >springmvc添加攔截器

springmvc添加攔截器

odi hand 添加 數據 gin exc spring mapping string

springmvc.xml配置如下:

除了 sysFile 下的所有接口,以及user下的loginUser接口,其他的所有接口都會經過攔截器UserInterceptor處理

<mvc:interceptors>
    <mvc:interceptor>
        <mvc:mapping path="/**" />
        <mvc:exclude-mapping path="/sysFile/**" />
        <mvc:exclude-mapping path="/users/loginUser.do" />
        <
bean class="com.test.interceptor.UserInterceptor" /> </mvc:interceptor> </mvc:interceptors>
public class UserInterceptor extends HandlerInterceptorAdapter{
    
    @Autowired
    private IUsersService usersService;
    
    @Override
    public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler)
            
throws Exception { try { request.setCharacterEncoding("UTF-8"); } catch (UnsupportedEncodingException e) { return false; }
     //獲取前臺傳入userId String userId
= request.getParameter("userId");
     //獲取前臺傳入的 token String token
= request.getParameter("token");
     //根據userId從數據庫獲取user信息 UsersVo usersVo
= usersService.findUserById(userId); if(usersVo == null){ return false;//攔截 }
     //判斷前臺傳入的token 與 數據獲取的token做比較
if(usersVo.getToken() == null || "".equals(usersVo.getToken()) || !usersVo.getToken().equals(token)){ return false;//攔截 }
     //不攔截
return true; } }

springmvc添加攔截器