java 判断客户端是手机端还是PC端(SSH框架)

如果网站需要实现手机和PC双界面适应,可以有两种方式:
第一种是响应式界面,根据屏幕宽度来判定显示的格式。这种需要前端来做,手机/PC共用一套代码,有一定的局限性。

第二种是Java后台通过request请求头中的内容来分析客户端设备类型,从而返回不同的参数响应。这种方法需要前端写两套代码,根据Java后台返回的参数不同而跳转到不同的界面。

代码示例如下:
struts.xml:


        
        

controller层:


HttpServletRequest request = ServletActionContext.getRequest();
String requestHeader = request.getHeader("user-agent");
if(IsMobileUtil.isMobileDevice(requestHeader))
    return "Mobile";
else
    return SUCCESS;

判断客户端工具类:

package com.**.**;

/**
 *  根据请求头判断是手机还是电脑  
 *  @author live
 *  @date
 */
public class IsMobileUtil {
    /**
     * android : 所有android设备
     * mac os : iphone ipad
     * windows phone:Nokia等windows系统的手机
     */
    public static boolean  isMobileDevice(String requestHeader){
        String[] deviceArray = new String[]{"android","mac os","windows phone"};
        if(requestHeader == null)
            return false;
        requestHeader = requestHeader.toLowerCase();
        for(int i=0;i0){
                return true;
            }
        }
        return false;
    }
}

以上工具类,是手机就返回true,不是则返回false。

以上文章纯属自创,如有雷同,概不负责!

你可能感兴趣的:(java 判断客户端是手机端还是PC端(SSH框架))