华为平板获取不了服务器返回的401状态码

服务器返回http状态码401,华为平板不能解析

使用token的机制,后台使用的是ssm框架,使用springmvc拦截器校验app用户是否已经登录。由于没有找到方法直接在拦截器中返回json数据,只能通过response.setStatus(401)来通知app端需要登录,使用华为手机和别的测试机都没问题,但今天使用华为的平板,则发现获取不了401状态码,报了一个空指针异常,部分错误:
05-10 16:24:04.900: W/x_log:HttpRetryHandler.canRetry(L:64)(30512): The Request Method can not be retried.

由于安卓的人走了,明天再补齐所有错误!
我服务器的代码是这样的:

 public class WalletInterceptor extends HandlerInterceptorAdapter {
    // 不拦截的url
    private List<String> uncheckUrls;

    public void setUncheckUrls(List<String> uncheckUrls) {
        this.uncheckUrls = uncheckUrls;
    }

    @Override
    public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler)
            throws Exception {
        System.out.println("进入拦截器");
        // 如果为登录,注册,获取验证码的接口,则不拦截
        String requestUrl = request.getRequestURI();
        if (uncheckUrls.contains(requestUrl)) {
            System.out.println("跳过拦截器");
            return super.preHandle(request, response, handler);
        }
        // 获取token和ID
        String token = request.getParameter("token");
        String ID = request.getParameter("ID");
        System.out.println("token:" + token + "===" + "ID" + ID);
        if (token == null || "".equals(token)) {
            // 不存在则抛出一个401异常给移动端
            response.setStatus(401);
            return false;
        }
        // 判断是否存在连接,不存在则要通知前端登录
        Jedis jedis = RedisUtils.getJedis();
        byte[] by = jedis.get(token.getBytes());
        if ((by == null) || (!(new String(by)).equals(walletID))) {
            // 不存在连接,则抛一个401给移动端
            response.setStatus(401);
            return false;
        }
        System.out.println("校验成功");
        return super.preHandle(request, response, handler);
    }

    @Override
    public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler,
            ModelAndView modelAndView) throws Exception {
        super.postHandle(request, response, handler, modelAndView);
    }
}

第一次发帖,有什么写的不好的地方请指出来,下次发帖再改善一下

查看全部
lovepyw1314
dylan泉
2017/05/10 12:18
  • spring
  • android
  • 点赞
  • 收藏
  • 回答
    私信

1个回复