【fix sonar】BrowserUtils文件

This commit is contained in:
梁琦涛
2023-03-03 16:28:08 +08:00
parent f0b83d810d
commit 711f6453bf
@@ -8,22 +8,30 @@ import java.util.regex.Pattern;
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequest;
/** /**
* *
* @Author 张代浩 * @Author 张代浩
* *
*/ */
public class BrowserUtils { public class BrowserUtils {
private BrowserUtils(){
}
private static final String USER_AGENT = "USER-AGENT";
private static final String RV_11 = "rv:11.0";
// 判断是否是IE // 判断是否是IE
public static boolean isIE(HttpServletRequest request) { public static boolean isIE(HttpServletRequest request) {
return (request.getHeader("USER-AGENT").toLowerCase().indexOf("msie") > 0 || request return (request.getHeader(USER_AGENT).toLowerCase().indexOf("msie") > -1 || request
.getHeader("USER-AGENT").toLowerCase().indexOf("rv:11.0") > 0) ? true .getHeader(USER_AGENT).toLowerCase().contains(RV_11)) ? true
: false; : false;
} }
/** /**
* 获取IE版本 * 获取IE版本
* *
* @param request * @param request
* @return * @return
*/ */
@@ -47,7 +55,7 @@ public class BrowserUtils {
/** /**
* 获取浏览器类型 * 获取浏览器类型
* *
* @param request * @param request
* @return * @return
*/ */
@@ -91,11 +99,11 @@ public class BrowserUtils {
private static boolean getBrowserType(HttpServletRequest request, private static boolean getBrowserType(HttpServletRequest request,
String brosertype) { String brosertype) {
return request.getHeader("USER-AGENT").toLowerCase() return request.getHeader(USER_AGENT).toLowerCase()
.indexOf(brosertype) > 0 ? true : false; .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 IE10 = "MSIE 10.0";
private final static String IE9 = "MSIE 9.0"; private final static String IE9 = "MSIE 9.0";
private final static String IE8 = "MSIE 8.0"; private final static String IE8 = "MSIE 8.0";
@@ -112,7 +120,7 @@ public class BrowserUtils {
private final static String OTHER = "其它"; private final static String OTHER = "其它";
public static String checkBrowse(HttpServletRequest request) { public static String checkBrowse(HttpServletRequest request) {
String userAgent = request.getHeader("USER-AGENT"); String userAgent = request.getHeader(USER_AGENT);
if (regex(OPERA, userAgent)) { if (regex(OPERA, userAgent)) {
return OPERA; return OPERA;
} }
@@ -164,26 +172,26 @@ public class BrowserUtils {
return m.find(); return m.find();
} }
private static Map<String, String> langMap = new HashMap<String, String>(); private static Map<String, String> langMap = new HashMap<String, String>();
private final static String ZH = "zh"; private final static String ZH = "zh";
private final static String ZH_CN = "zh-cn"; private final static String ZH_CN = "zh-cn";
private final static String EN = "en"; private final static String EN = "en";
private final static String EN_US = "en"; private final static String EN_US = "en";
static static
{ {
langMap.put(ZH, ZH_CN); langMap.put(ZH, ZH_CN);
langMap.put(EN, EN_US); langMap.put(EN, EN_US);
} }
public static String getBrowserLanguage(HttpServletRequest request) { public static String getBrowserLanguage(HttpServletRequest request) {
String browserLang = request.getLocale().getLanguage(); String browserLang = request.getLocale().getLanguage();
String browserLangCode = (String)langMap.get(browserLang); String browserLangCode = (String)langMap.get(browserLang);
if(browserLangCode == null) if(browserLangCode == null)
{ {
browserLangCode = EN_US; browserLangCode = EN_US;
@@ -198,7 +206,7 @@ public class BrowserUtils {
/** 判断请求是否来自移动端 */ /** 判断请求是否来自移动端 */
public static boolean isMobile(HttpServletRequest request) { 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)"); 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(); return pattern.matcher(ua).find();
} }