`
脑壳冒星星
  • 浏览: 16276 次
文章分类
社区版块
存档分类
最新评论

java获取浏览器类型

 
阅读更多
public enum BrowserType {
		IE10, IE9, IE8, IE7, IE6, Firefox, Safari, Chrome, Opera, Camino, Gecko
	}

	/** 判断是否是IE */
	public static boolean isIE(HttpServletRequest request) {
		return request.getHeader("USER-AGENT").toLowerCase().indexOf("msie") > 0 ? true : false;
	}

	/**
	 * 获取IE版本
	 * 
	 * @param request
	 * @return
	 */
	public static Double getIEversion(HttpServletRequest request) {
		Double version = 0.0;
		if (getBrowserType(request, "msie 10.0")) {
			version = 10.0;
		}
		if (getBrowserType(request, "msie 9.0")) {
			version = 9.0;
		}
		if (getBrowserType(request, "msie 8.0")) {
			version = 8.0;
		}
		if (getBrowserType(request, "msie 7.0")) {
			version = 7.0;
		}
		if (getBrowserType(request, "msie 6.0")) {
			version = 6.0;
		}
		return version;
	}

	/**
	 * 获取浏览器类型
	 * 
	 * @param request
	 * @return
	 */
	public static BrowserType getBrowserType(HttpServletRequest request) {
		BrowserType browserType = null;
		if (getBrowserType(request, "msie 10.0")) {
			browserType = BrowserType.IE9;
		}
		if (getBrowserType(request, "msie 9.0")) {
			browserType = BrowserType.IE9;
		}
		if (getBrowserType(request, "msie 8.0")) {
			browserType = BrowserType.IE8;
		}
		if (getBrowserType(request, "msie 7.0")) {
			browserType = BrowserType.IE7;
		}
		if (getBrowserType(request, "msie 6.0")) {
			browserType = BrowserType.IE6;
		}
		if (getBrowserType(request, "Firefox")) {
			browserType = BrowserType.Firefox;
		}
		if (getBrowserType(request, "Safari")) {
			browserType = BrowserType.Safari;
		}
		if (getBrowserType(request, "Chrome")) {
			browserType = BrowserType.Chrome;
		}
		if (getBrowserType(request, "Opera")) {
			browserType = BrowserType.Opera;
		}
		if (getBrowserType(request, "Camino")) {
			browserType = BrowserType.Camino;
		}
		return browserType;
	}

	private static boolean getBrowserType(HttpServletRequest request,
			String brosertype) {
		return request.getHeader("USER-AGENT").toLowerCase().indexOf(brosertype) > 0 ? true : false;
	}

	private final static String IE10 = "MSIE 10.0";
	private final static String IE9 = "MSIE 9.0";
	private final static String IE8 = "MSIE 8.0";
	private final static String IE7 = "MSIE 7.0";
	private final static String IE6 = "MSIE 6.0";
	private final static String MAXTHON = "Maxthon";
	private final static String QQ = "QQBrowser";
	private final static String GREEN = "GreenBrowser";
	private final static String SE360 = "360SE";
	private final static String FIREFOX = "Firefox";
	private final static String OPERA = "Opera";
	private final static String CHROME = "Chrome";
	private final static String SAFARI = "Safari";
	private final static String OTHER = "其它";

	public static String checkBrowse(HttpServletRequest request) {
		String userAgent = request.getHeader("USER-AGENT");
		if (regex(OPERA, userAgent))
			return OPERA;
		if (regex(CHROME, userAgent))
			return CHROME;
		if (regex(FIREFOX, userAgent))
			return FIREFOX;
		if (regex(SAFARI, userAgent))
			return SAFARI;
		if (regex(SE360, userAgent))
			return SE360;
		if (regex(GREEN, userAgent))
			return GREEN;
		if (regex(QQ, userAgent))
			return QQ;
		if (regex(MAXTHON, userAgent))
			return MAXTHON;
		if (regex(IE10, userAgent))
			return IE10;
		if (regex(IE9, userAgent))
			return IE9;
		if (regex(IE8, userAgent))
			return IE8;
		if (regex(IE7, userAgent))
			return IE7;
		if (regex(IE6, userAgent))
			return IE6;
		return OTHER;
	}

	public static boolean regex(String regex, String str) {
		Pattern p = Pattern.compile(regex, Pattern.MULTILINE);
		Matcher m = p.matcher(str);
		return m.find();
	}
分享到:
评论

相关推荐

    超漂亮的纯JAVA浏览器

    关于标签,“JAVA”指出了这个浏览器的编程语言,Java是一种强类型、面向对象的编程语言,以其“一次编写,到处运行”的特性而闻名。它的跨平台能力使得JAVA浏览器能在不同的操作系统环境下运行,无需为每个平台单独...

    Java-Swing嵌入浏览器(本地浏览器和webkit浏览器-火狐内核)

    你可以指定浏览器的类型,例如选择使用WebKit引擎。 3. **设置浏览器容器**:将`Browser`实例放入Swing的容器,如`JPanel`或`JSplitPane`,以在Swing应用中显示。 4. **加载网页**:调用`Browser`对象的`setUrl()`...

    java网页浏览器课程设计

    1. **Java基础**:首先,你需要对Java编程有扎实的理解,包括类、对象、接口、异常处理、数据类型、控制结构等。这是编写任何Java程序的基础。 2. **Swing或JavaFX**:Java提供了两个图形用户界面(GUI)库,Swing...

    获取系统IP地址浏览器java

    在Java编程语言中,获取系统IP地址是一项常见的任务,尤其在开发网络应用或者与浏览器交互时更为重要。本文将深入探讨如何在Java中获取本地主机的IP地址,并结合浏览器环境进行详细阐述。 首先,让我们理解IP地址的...

    java 数据库浏览器

    JDBC是Java平台中的一个重要组件,由Sun Microsystems(现已被Oracle收购)制定并维护,为Java程序员提供了一种标准的方式来访问不同类型的数据库系统。 在这款数据库浏览器中,你可以执行SQL查询、浏览数据表、...

    java 打开浏览器

    另一个示例`TestBrowser.java`可能包含一些额外的测试逻辑,例如,测试不同类型的URL或者处理可能的异常情况。测试通常会涉及对各种边界条件的检查,例如空URL、无效URL以及在没有安装浏览器的系统上运行等情况。 ...

    JS判断打开网页的浏览器类型与版本

    JavaScript 判断打开网页的浏览器类型与版本 在 JavaScript 中判断浏览器的类型和版本是一个非常重要的知识点,特别是在开发 web 应用程序时,需要根据不同的浏览器和版本进行不同的操作。下面我们将详细介绍 ...

    Java实现判断浏览器版本与类型简单代码示例

    在上面的代码中,我们首先获取了User-Agent头信息,然后使用字符串匹配来判断浏览器的版本和类型。例如,如果User-Agent头信息中包含“msie 7”,那么我们就返回“ie7”。 接下来,我们还可以判断浏览器是否是移动...

    JAVA 制作HTML浏览器

    1. **网络请求**:浏览器首先要能够发起HTTP或HTTPS请求来获取网页内容。这需要使用Java的`java.net.URL`和`java.net.URLConnection`类,或者更高级的库如Apache HttpClient或OkHttp,来与服务器建立连接并读取响应...

    java内嵌浏览器jxbrowser使用教程

    Java内嵌浏览器JxBrowser是一款强大的工具,它允许开发者在Java应用程序中集成Web浏览器功能,其内核基于Chromium,因此能良好地兼容大部分基于现代Web标准的前端框架,如React、Vue、Angular等。本教程将深入讲解...

    Java做的浏览器小程序

    Java编程语言以其强大的功能和广泛的应用领域而闻名,它可以用于创建各种类型的应用程序,包括桌面应用、移动应用、服务器端应用以及我们今天讨论的主题——浏览器小程序。这些小程序通常是在Java环境中运行,提供一...

    根据url获取网络图片通过浏览器下载的java解决方案

    解决chrome浏览器中点击链接,如果是浏览器可识别的文件类型,浏览器会自动打开而不是弹出下载框的方案

    判断浏览器版本及类型

    此段代码通过读取`navigator.userAgent`属性来获取浏览器信息,并通过正则表达式匹配来判断浏览器类型和版本。具体来说: - **`navigator.userAgent`**:返回一个字符串,表示当前浏览器的用户代理头(User-Agent ...

    获取浏览器类型,屏幕分辨率,操作系统的JS代码

    用JavaiScript里的属性来获取浏览器的版本,屏幕的分辨率,操作系统。

    获取当前浏览器的类型及乱码问题

    #### 获取浏览器类型 通过分析HTTP请求头中的`User-Agent`字段可以获取当前用户的浏览器类型。`User-Agent`是一个字符串,它包含了客户端浏览器的名称、版本以及其他操作系统的信息。例如: ```java String ...

    运用java实现简单的浏览器功能

    在本文中,我们将深入探讨如何使用Java编程语言来实现一个简单的浏览器功能。Java以其跨平台性和丰富的类库,成为开发这种应用的理想选择。NETBEANS是一个流行的集成开发环境(IDE),它提供了用户友好的界面和强大...

    java后台调用HttpURLConnection类模拟浏览器请求实例(可用于接口调用)

    在Java编程中,有时我们需要模拟浏览器发送HTTP请求,例如调用外部接口或API。`HttpURLConnection`是Java标准库提供的一种轻量级的HTTP客户端,它允许我们在后台代码中发送GET和POST请求。本篇文章将深入讲解如何...

    JAVA文件夹浏览器

    在IT行业中,开发一个“JAVA文件夹浏览器”是一项常见的任务,尤其对于那些使用Eclipse集成开发环境的开发者来说。这个项目旨在实现一个功能完善的文件系统浏览工具,允许用户在Eclipse环境中遍历文件夹结构,并能...

    Java嵌入式浏览器

    Java嵌入式浏览器是一种在Java平台上实现的内置于应用程序中的浏览组件,允许用户在应用程序内部浏览网页内容,而无需打开独立的系统浏览器。这通常通过使用特定的Java库或者框架来实现,比如JavaFX或者JWebPane。...

    Java判断浏览器是微信还是支付宝

    此外,判断浏览器类型也可以使用其他方法,例如,通过检测浏览器的功能特性、cookie、localStorage等来判断浏览器类型。但是,这些方法都有其局限性,需要根据实际情况选择适合的方法。 Java判断浏览器是微信还是...

Global site tag (gtag.js) - Google Analytics