/** * Copyright © 2012-2014 JeeSite All rights reserved. */ package com.javaweb.common.utils.useragent; import eu.bitwalker.useragentutils.Browser; import eu.bitwalker.useragentutils.DeviceType; import eu.bitwalker.useragentutils.UserAgent; import javax.servlet.http.HttpServletRequest; /** * 用户代理字符串识别工具 * @author wujiyue * @version 2014-6-13 */ public class UserAgentUtils { /** * 获取用户代理对象 * @param request * @return */ public static UserAgent getUserAgent(HttpServletRequest request){ return UserAgent.parseUserAgentString(request.getHeader("User-Agent")); } /** * 获取设备类型 * @param request * @return */ public static DeviceType getDeviceType(HttpServletRequest request){ return getUserAgent(request).getOperatingSystem().getDeviceType(); } /** * 是否是PC * @param request * @return */ public static boolean isComputer(HttpServletRequest request){ return DeviceType.COMPUTER.equals(getDeviceType(request)); } /** * 判断 是否是微信浏览器 * @param request * @return */ public static boolean isWeixin(HttpServletRequest request){ String userAgent = request.getHeader("user-agent").toLowerCase(); if(userAgent.indexOf("micromessenger")>-1){//微信客户端 return true; }else{ return false; } } /** * 是否是手机 * @param request * @return */ public static boolean isMobile(HttpServletRequest request){ return DeviceType.MOBILE.equals(getDeviceType(request)); } /** * 是否是平板 * @param request * @return */ public static boolean isTablet(HttpServletRequest request){ return DeviceType.TABLET.equals(getDeviceType(request)); } /** * 是否是手机和平板 * @param request * @return */ public static boolean isMobileOrTablet(HttpServletRequest request){ DeviceType deviceType = getDeviceType(request); return DeviceType.MOBILE.equals(deviceType) || DeviceType.TABLET.equals(deviceType); } /** * 获取浏览类型 * @param request * @return */ public static Browser getBrowser(HttpServletRequest request){ return getUserAgent(request).getBrowser(); } /** * 是否IE版本是否小于等于IE8 * @param request * @return */ public static boolean isLteIE8(HttpServletRequest request){ Browser browser = getBrowser(request); return Browser.IE5.equals(browser) || Browser.IE6.equals(browser) || Browser.IE7.equals(browser) || Browser.IE8.equals(browser); } }