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";
    }

 

以上内容代表个人观点,仅供参考,不喜勿喷。。。

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

上一篇:最大宽度 | @viewport.max-width (Device Adaptation) - CSS 中文开发手册 - Break易站


下一篇:Ubuntu 16.04出现:Problem executing scripts APT::Update::Post-Invoke-Success 'if /usr/bin/test -w /var/cache/app-info -a -e /usr/bin/appstreamcli; then appstreamcli refresh > /dev/null; fi'