1、pom引入
<dependency>
<groupId>eu.bitwalker</groupId>
<artifactId>UserAgentUtils</artifactId>
<version>1.21</version>
</dependency>
或者从这里下载jar包,官方原版我传到这里了,https://download.csdn.net/download/yfx000/12922446
2、读取
String agentStr = ServletUtils.getRequest().getHeader("User-Agent");
UserAgent userAgent = UserAgent.parseUserAgentString(agentStr);
userAgent.getBrowser().getName();
userAgent.getOperatingSystem().getName();
userAgent.getOperatingSystem().isMobileDevice();
# isMobileDevice方法内部逻辑 deviceType.equals(DeviceType.MOBILE),官方推荐自己根据type判断
3、api
http://javadox.com/eu.bitwalker/UserAgentUtils/1.14/eu/bitwalker/useragentutils/package-summary.html
思路二,正则匹配简单粗暴,统一识别手机和平板,使用时先把agent string转小写
android|phone|mobile|ipad|tablet
这样andorid手机和平板,ipad都会匹配上,黑莓手机和windows phone也可以,
如果你的需求也很简单,只要是上述匹配,统一走手机端页面逻辑,就可以这么粗暴使用
nginx自动跳转至手机模版
location / {
set $is_mobile false;
if ($http_user_agent ~* (android|phone|mobile|ipad|tablet) ) {
set $is_mobile true;
}
if ($is_mobile = false) {
root $rootPath/www;
}
if ($is_mobile = true) {
root $rootPath/wap;
}
index index.html;
}