From 711f6453bfbaa2ee4d7fb2db393b8ca01c686d4a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=A2=81=E7=90=A6=E6=B6=9B?= Date: Fri, 3 Mar 2023 16:28:08 +0800 Subject: [PATCH] =?UTF-8?q?=E3=80=90fix=20sonar=E3=80=91BrowserUtils?= =?UTF-8?q?=E6=96=87=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/jero/common/util/BrowserUtils.java | 48 +++++++++++-------- 1 file changed, 28 insertions(+), 20 deletions(-) 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(); }