java端判断请求来自pc端还是手机端?

 记录是为了更好的成长!

 在项目中遇到一个问题,需要判断请求是来自pc端还是手机端,如下直接贴代码:

    /**
     * 判断请求来自手机端还是电脑端
     */
    public static boolean isMobileDevice(String requestHeader) {
        /*
         * android            :所有安卓设备
         * mas  os            :iphone
         * windows phone    :windows系统手机
         */
        String[] deviceArray = new String[] {"android","mas os","windows phone"};
        if( null == requestHeader) {
            return false;
        }
        requestHeader = requestHeader.toLowerCase();
        for(int i = 0;i<deviceArray.length;i++) {
            if(requestHeader.indexOf(deviceArray[i]) > 0) {
                return true;
            }
        }
        return false;    
    }

controller中的代码

    @RequestMapping("/aa")
    public String AA(HttpServletRequest request) {
        String requestHeader = request.getHeader("user-agent");
        if(TradeUtil.isMobileDevice(requestHeader)) {
            return "/trade/aa/phone";
        }
        return "/trade/aa/pc";
    }
以上内容代表个人观点,仅供参考,不喜勿喷。。。