request.getHeader
判断是否是IE
/** * 判断是否是IE * * @param request * @return */ public static boolean isIe(HttpServletRequest request) { return (request.getHeader("USER-AGENT").toLowerCase().indexOf("msie") > 0 || request .getHeader("USER-AGENT").toLowerCase().indexOf("rv:11.0") > 0) ? true : false; }
获取IE版本
/** * 获取IE版本 * * @param request * @return */ public static Double getIeVersion(HttpServletRequest request) { Double version = 0.0; if (getBrowserType(request, IE11)) { version = 11.0; } else if (getBrowserType(request, IE10)) { version = 10.0; } else if (getBrowserType(request, IE9)) { version = 9.0; } else if (getBrowserType(request, IE8)) { version = 8.0; } else if (getBrowserType(request, IE7)) { version = 7.0; } else if (getBrowserType(request, IE6)) { version = 6.0; } return version; }
private static boolean getBrowserType(HttpServletRequest request,
String brosertype) {
return request.getHeader("USER-AGENT").toLowerCase()
.indexOf(brosertype) > 0 ? true : false;
}
String brosertype) {
return request.getHeader("USER-AGENT").toLowerCase()
.indexOf(brosertype) > 0 ? true : false;
}
判断请求是否来自移动端
/** * 判断请求是否来自移动端 */ public static boolean isMobile(HttpServletRequest request) { String ua = request.getHeader("User-Agent").toLowerCase(); String type = "(phone|pad|pod|iphone|ipod|ios|ipad|android|mobile|blackberry|iemobile|mqqbrowser|juc|fennec|wosbrowser|browserng|webos|symbian|windows phone)"; Pattern pattern = Pattern.compile(type); return pattern.matcher(ua).find(); }
这行代码使用 Java 的Pattern
类将上面定义的正则表达式模式编译为一个正则表达式对象。这个对象将用于后续的匹配操作。
return pattern.matcher(ua).find();
- 这行代码使用编译后的正则表达式对象
pattern
来在用户代理字符串ua
中查找是否存在与移动设备相关的关键字。 pattern.matcher(ua)
创建一个匹配器对象,然后调用find()
方法来查找是否存在匹配项。- 如果在用户代理字符串中找到了与移动设备相关的关键字,则
find()
方法返回true
,否则返回false
。