Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/308.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用Java从服务器检测浏览器_Java_Jsp_Jakarta Ee - Fatal编程技术网

使用Java从服务器检测浏览器

使用Java从服务器检测浏览器,java,jsp,jakarta-ee,Java,Jsp,Jakarta Ee,我正在使用以下代码缓存不同的浏览器,我无法缓存特定的浏览器 有人能给我一些建议吗 if (user.contains("msie")) { String substring = userAgent.substring(userAgent.indexOf("MSIE")).split(";")[0]; browser = substring.split(" ")[0].replace("MSIE", "IE") + "

我正在使用以下代码缓存不同的浏览器,我无法缓存特定的浏览器

有人能给我一些建议吗

if (user.contains("msie")) {
                    String substring = userAgent.substring(userAgent.indexOf("MSIE")).split(";")[0];
                    browser = substring.split(" ")[0].replace("MSIE", "IE") + "-"+ substring.split(" ")[1];
                } else if (user.contains("safari") && user.contains("version")) {
                    browser = (userAgent.substring(userAgent.indexOf("Safari")).split(" ")[0]).split("/")[0]+ "-"+ (userAgent.substring(userAgent.indexOf("Version")).split(" ")[0]).split("/")[1];
                } else if (user.contains("opr") || user.contains("opera")) {
                    if (user.contains("opera"))
                        browser = (userAgent.substring(userAgent.indexOf("Opera")).split(" ")[0]).split("/")[0]+ "-"+ (userAgent.substring(userAgent.indexOf("Version")).split(" ")[0]).split("/")[1];
                    else if (user.contains("opr"))
                        browser = ((userAgent.substring(userAgent.indexOf("OPR")).split(" ")[0]).replace("/", "-")).replace("OPR","Opera");
                } else if (user.contains("chrome")) {
                    browser = (userAgent.substring(userAgent.indexOf("Chrome")).split(" ")[0]).replace("/", "-");
                } else if ((user.indexOf("mozilla/36.0") > -1)
                        || (user.indexOf("netscape6") != -1)
                        || (user.indexOf("mozilla/35.0") != -1)
                        || (user.indexOf("mozilla/34.0") != -1)
                        || (user.indexOf("mozilla/33.1") != -1)
                        || (user.indexOf("mozilla/33.0") != -1)
                        || (user.indexOf("mozilla/32.0") != -1)
                        || (user.indexOf("mozilla/31.0") != -1)) {

                    browser = "Netscape-?";

                } else if (user.contains("firefox")) {
                    browser = (userAgent.substring(userAgent.indexOf("Firefox")).split(" ")[0]).replace("/", "-");
                } else if (user.contains("rv")) {
                    browser = "IE";
                } else {
                    browser = "UnKnown, More-Info: " + userAgent;
                }
            } catch (Exception e) {
                browser = "Exception: " + userAgent;
            }

为什么需要服务器端代码,可以用javascript轻松实现

function detect() {
                var browser;
                var version;                
                var platform = navigator.platform;

                if (platform == "iPad" || platform == "iPhone" || platform == "iPod" || platform == "iPod touch") { // For iPhones iPads and iPods

                    var userAgent = navigator.userAgent.toUpperCase();

                    var chromeIndex = userAgent.indexOf("CRIOS");
                    var opera = userAgent.indexOf("OPIOS");
                    var ucIndex = userAgent.indexOf("UCBROWSER");
                    var coast = userAgent.indexOf("COAST");
                    var mercury = userAgent.indexOf("MERCURY");

                    var safari = userAgent.indexOf("SAFARI");
                    var webkit = userAgent.indexOf("APPLEWEBKIT");

                    // Chrome detection
                    if(chromeIndex > 0) {
                        browser = "chrome";

                        var arr = userAgent.split("CRIOS/");
                        arr = arr[1].split(".");
                        version = arr[0];
                    }
                    // Safari detection
                    else if(opera < 0 && ucIndex < 0 && coast < 0 && mercury < 0 && safari > 0 && webkit > 0) {
                        browser = "safari";

                        var arr = userAgent.split("APPLEWEBKIT/");
                        arr = arr[1].split(".");
                        version = arr[0];
                    } else {
                        browser = "unknown";
                        version = -1;
                    }

                } else if(platform == "Win32" || platform == "MacIntel") { // For windows and mac

                    // Browser detection
                    var isOpera = !!window.opera || navigator.userAgent.indexOf(' OPR/') >= 0;
                    // Opera 8.0+ (UA detection to detect Blink/v8-powered Opera)
                    var isFirefox = typeof InstallTrigger !== 'undefined'; // Firefox 1.0+
                    var isSafari = Object.prototype.toString.call(window.HTMLElement).indexOf('Constructor') > 0;
                    // At least Safari 3+: "[object HTMLElementConstructor]"
                    var isChrome = !!window.chrome && !isOpera; // Chrome 1+
                    var isIE = /*@cc_on!@*/false || !!document.documentMode; // At least IE6


                    if (isOpera) {
                        browser = "opera";
                    } else if (isFirefox) {
                        browser = "firefox";
                    } else if (isChrome) {
                        browser = "chrome";
                    } else if (isIE) {
                        browser = "ie";
                    } else if (isSafari) {
                        browser = "safari";
                    } else {
                        browser = "unknown";
                    }

                    if (browser == "firefox") {
                        var arr = navigator.userAgent.split("Firefox/");
                        arr = arr[1].split(".");
                        version = arr[0];
                    } else if (browser == "chrome") {
                        var arr = navigator.userAgent.split("Chrome/");
                        arr = arr[1].split(".");
                        version = arr[0];
                    } else if (browser == "ie") {
                        var v1 = navigator.userAgent.indexOf("MISE");
                        var v2 = navigator.userAgent.indexOf("rv:");

                        if(v1 > 0) {
                            var arr = navigator.userAgent.split("MSIE ");
                            arr = arr[1].split(".");
                            version = arr[0];
                        } else if(v2 > 0){
                            var arr = navigator.userAgent.split("rv:");
                            arr = arr[1].split(".");
                            version = arr[0];
                        } else {
                            version = 11;
                        }
                    } else if (browser == "safari") {
                        var arr = navigator.userAgent.split("AppleWebKit/");
                        arr = arr[1].split(".");
                        version = arr[0];
                    } else if (browser == "opera") {
                        var arr = navigator.userAgent.split("OPR/");
                        arr = arr[1].split(".");
                        version = arr[0];
                    } else if (browser == "unknown") {
                        version = -1;
                    }

                } else if(platform == "Android" || platform == "Linux armv7l") { // For android
                    var userAgent = navigator.userAgent;

                    var chromeIndex = userAgent.indexOf("Chrome");
                    var opera = userAgent.indexOf("OPR");
                    var ucIndex = userAgent.indexOf("UCBrowser");
                    var coast = userAgent.indexOf("Coast");
                    var firefox = userAgent.indexOf("Firefox");

                    // Chrome detection
                    if(chromeIndex > 0 && opera < 0 && ucIndex < 0 && coast < 0) {
                        browser = "chrome";

                        var arr = userAgent.split("Chrome/");
                        arr = arr[1].split(".");
                        version = arr[0];

                    } else if(firefox > 0) { // Firefox detection
                        browser = "firefox";

                        var arr = userAgent.split("Firefox/");
                        arr = arr[1].split(".");
                        version = arr[0];

                    } else if(opera > 0) { // Opera detection
                        browser = "opera";

                        var arr = userAgent.split("OPR/");
                        arr = arr[1].split(".");
                        version = arr[0];

                    } else { // Unknown browser
                        browser = "unknown";
                        version = -1;
                    }

                } else { // For other platforms
                    version = -1;
                    browser = "other_platform";
                }
函数检测(){
var浏览器;
var版本;
var platform=navigator.platform;
如果(平台==“iPad”| |平台==“iPhone”| |平台==“iPod”| |平台==“iPod touch”){//对于iPhone iPad和iPod
var userAgent=navigator.userAgent.toUpperCase();
var chromeIndex=userAgent.indexOf(“CRIOS”);
var opera=userAgent.indexOf(“OPIOS”);
var ucIndex=userAgent.indexOf(“UCBROWSER”);
var coast=userAgent.indexOf(“coast”);
var mercury=用户代理。指数(“mercury”);
var safari=userAgent.indexOf(“safari”);
var webkit=userAgent.indexOf(“APPLEWEBKIT”);
//铬检测
如果(色度指数>0){
browser=“chrome”;
var arr=userAgent.split(“CRIOS/”);
arr=arr[1]。拆分(“.”);
版本=arr[0];
}
//狩猎探测
否则如果(opera<0&&ucIndex<0&&coast<0&&mercury<0&&safari>0&&webkit>0){
browser=“safari”;
var arr=userAgent.split(“APPLEWEBKIT/”);
arr=arr[1]。拆分(“.”);
版本=arr[0];
}否则{
browser=“未知”;
版本=-1;
}
}else如果(平台==“Win32”| |平台==“MacIntel”){//For windows和mac
//浏览器检测
var isOpera=!!window.opera | | navigator.userAgent.indexOf('OPR/')>=0;
//Opera 8.0+(UA检测用于检测闪烁/v8动力Opera)
var isFirefox=typeof InstallTrigger!=“未定义”;//Firefox 1.0+
var isSafari=Object.prototype.toString.call(window.HTMLElement.indexOf('Constructor')>0;
//至少Safari 3+:“[object HTMLElementConstructor]”
var isChrome=!!window.chrome&!isOpera;//chrome 1+
var isIE=/*@cc_on!@*/false | |!!document.documentMode;//至少IE6
if(等参线){
browser=“opera”;
}else if(iFirefox){
browser=“firefox”;
}else if(变色){
browser=“chrome”;
}否则如果(isIE){
browser=“ie”;
}else if(伊萨法里){
browser=“safari”;
}否则{
browser=“未知”;
}
如果(浏览器==“firefox”){
var arr=navigator.userAgent.split(“Firefox/”);
arr=arr[1]。拆分(“.”);
版本=arr[0];
}else if(浏览器==“chrome”){
var arr=navigator.userAgent.split(“Chrome/”);
arr=arr[1]。拆分(“.”);
版本=arr[0];
}else if(浏览器==“ie”){
var v1=navigator.userAgent.indexOf(“MISE”);
var v2=navigator.userAgent.indexOf(“rv:”);
如果(v1>0){
var arr=navigator.userAgent.split(“MSIE”);
arr=arr[1]。拆分(“.”);
版本=arr[0];
}否则,如果(v2>0){
var arr=navigator.userAgent.split(“rv:”);
arr=arr[1]。拆分(“.”);
版本=arr[0];
}否则{
版本=11;
}
}else if(浏览器==“safari”){
var arr=navigator.userAgent.split(“AppleWebKit/”);
arr=arr[1]。拆分(“.”);
版本=arr[0];
}else if(浏览器==“opera”){
var arr=navigator.userAgent.split(“OPR/”);
arr=arr[1]。拆分(“.”);
版本=arr[0];
}else if(浏览器==“未知”){
版本=-1;
}
}else if(平台==“Android”| |平台==“Linux armv7l”){//For Android
var userAgent=navigator.userAgent;
var chromeIndex=userAgent.indexOf(“Chrome”);
var opera=userAgent.indexOf(“OPR”);
var ucIndex=userAgent.indexOf(“UCBrowser”);
var coast=userAgent.indexOf(“coast”);
var firefox=userAgent.indexOf(“firefox”);
//铬检测
如果(chromeIndex>0&&opera<0&&ucIndex<0&&coast<0){
browser=“chrome”;
var arr=userAgent.split(“Chrome/”);
arr=arr[1]。拆分(“.”);
版本=arr[0];
}如果(firefox>0){//firefox检测
browser=“firefox”;
var arr=userAgent.split(“Firefox/”);
arr=arr[1]。拆分(“.”);
版本=arr[0];
}如果(opera>0){//opera检测
browser=“opera”;