java后台判断请求是来自移动端访问还是PC断访问

主要是根据 HttpServletRequest request 中的请求头所带的参数 user-agent来获取

String ua= request.getHeader("User-Agent");
   if(StringUtil.checkAgentIsMobile(ua)){
      system.out.println("来自移动端访问");
   }else{
      system.out.println("来自PC端访问");
   }

StringUtil.java

public class StringUtil {
private final static String[] agent = { "Android", "iPhone", "iPod","iPad", "Windows Phone", "MQQBrowser" }; //定义移动端请求的所有可能类型
/**
* 判断User-Agent 是不是来自于手机
* @param ua
* @return
*/
public static boolean checkAgentIsMobile(String ua) {
boolean flag = false;
if (!ua.contains("Windows NT") || (ua.contains("Windows NT") && ua.contains("compatible; MSIE 9.0;"))) {
// 排除 苹果桌面系统
if (!ua.contains("Windows NT") && !ua.contains("Macintosh")) {
for (String item : agent) {
if (ua.contains(item)) {
flag = true;
break;
}
}
}
}
return flag;
}
}

你可能感兴趣的:(java,android,开发语言)