diff --git a/jero-boot/jero-boot-base/jero-boot-base-core/src/main/java/com/jero/common/util/BrowserUtils.java b/jero-boot/jero-boot-base/jero-boot-base-core/src/main/java/com/jero/common/util/BrowserUtils.java index 8647ea8d..5234ab6f 100644 --- a/jero-boot/jero-boot-base/jero-boot-base-core/src/main/java/com/jero/common/util/BrowserUtils.java +++ b/jero-boot/jero-boot-base/jero-boot-base-core/src/main/java/com/jero/common/util/BrowserUtils.java @@ -8,22 +8,30 @@ import java.util.regex.Pattern; import javax.servlet.http.HttpServletRequest; /** - * + * * @Author 张代浩 - * + * */ public class BrowserUtils { - + + private BrowserUtils(){ + + } + + private static final String USER_AGENT = "USER-AGENT"; + + private static final String RV_11 = "rv:11.0"; + // 判断是否是IE 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 + return (request.getHeader(USER_AGENT).toLowerCase().indexOf("msie") > -1 || request + .getHeader(USER_AGENT).toLowerCase().contains(RV_11)) ? true : false; } /** * 获取IE版本 - * + * * @param request * @return */ @@ -47,7 +55,7 @@ public class BrowserUtils { /** * 获取浏览器类型 - * + * * @param request * @return */ @@ -91,11 +99,11 @@ public class BrowserUtils { private static boolean getBrowserType(HttpServletRequest request, String brosertype) { - return request.getHeader("USER-AGENT").toLowerCase() - .indexOf(brosertype) > 0 ? true : false; + return request.getHeader(USER_AGENT).toLowerCase() + .indexOf(brosertype) > -1 ? true : false; } - private final static String IE11 = "rv:11.0"; + private final static String IE11 = RV_11; private final static String IE10 = "MSIE 10.0"; private final static String IE9 = "MSIE 9.0"; private final static String IE8 = "MSIE 8.0"; @@ -112,7 +120,7 @@ public class BrowserUtils { private final static String OTHER = "其它"; public static String checkBrowse(HttpServletRequest request) { - String userAgent = request.getHeader("USER-AGENT"); + String userAgent = request.getHeader(USER_AGENT); if (regex(OPERA, userAgent)) { return OPERA; } @@ -164,26 +172,26 @@ public class BrowserUtils { return m.find(); } - + private static Map langMap = new HashMap(); private final static String ZH = "zh"; private final static String ZH_CN = "zh-cn"; - + private final static String EN = "en"; private final static String EN_US = "en"; - - - static + + + static { langMap.put(ZH, ZH_CN); langMap.put(EN, EN_US); } - + public static String getBrowserLanguage(HttpServletRequest request) { - + String browserLang = request.getLocale().getLanguage(); String browserLangCode = (String)langMap.get(browserLang); - + if(browserLangCode == null) { browserLangCode = EN_US; @@ -198,7 +206,7 @@ public class BrowserUtils { /** 判断请求是否来自移动端 */ public static boolean isMobile(HttpServletRequest request) { - String ua = request.getHeader("User-Agent").toLowerCase(); + String ua = request.getHeader(USER_AGENT).toLowerCase(); Pattern pattern = Pattern.compile("(phone|pad|pod|iphone|ipod|ios|ipad|android|mobile|blackberry|iemobile|mqqbrowser|juc|fennec|wosbrowser|browserng|webos|symbian|windows phone)"); return pattern.matcher(ua).find(); }