引用
public Map<String,String> getUserAgent(HttpServletRequest req){
Map<String,String> Sys= new HashMap<String, String>();
String ua = req.getHeader("User-Agent").toLowerCase();
String s;
String msieP = "msie ([\\d.]+)";
String firefoxP = "firefox\\/([\\d.]+)";
String chromeP = "chrome\\/([\\d.]+)";
String operaP = "opera.([\\d.]+)/)";
String safariP = "version\\/([\\d.]+).*safari";
Pattern pattern = Pattern.compile(msieP);
Matcher mat = pattern.matcher(ua);
if(mat.find()){
s=mat.group();
Sys.put("type", "ie");
Sys.put("version", s.split(" ")[1]);
return Sys;
}
pattern = Pattern.compile(firefoxP);
mat=pattern.matcher(ua);
if(mat.find()){
s=mat.group();
System.out.println(s);
Sys.put("type", "firefox");
Sys.put("version", s.split("/")[1]);
return Sys;
}
pattern = Pattern.compile(chromeP);
mat=pattern.matcher(ua);
if(mat.find()){
s=mat.group();
Sys.put("type", "chrome");
Sys.put("version", s.split("/")[1]);
return Sys;
}
pattern = Pattern.compile(operaP);
mat=pattern.matcher(ua);
if(mat.find()){
s=mat.group();
Sys.put("type", "opera");
Sys.put("version", s.split("\\.")[1]);
return Sys;
}
pattern = Pattern.compile(safariP);
mat=pattern.matcher(ua);
if(mat.find()){
s=mat.group();
Sys.put("type", "safari");
Sys.put("version", s.split("/")[1].split(".")[0]);
return Sys;
}
return Sys;
}
调用
HttpServletRequest request = (HttpServletRequest) Executions
.getCurrent().getNativeRequest();
Map<String, String> map = getUserAgent(request);
String version = map.get("version");
分享到:
相关推荐
获取客户端IP地址、浏览器版本和操作系统信息在...在获取浏览器版本和操作系统信息时,我们可以使用`request.getHeader("User-Agent")`方法来获取相关信息,并使用字符串分割方法来提取出浏览器的名称和操作系统信息。
Java实现判断浏览器版本与类型简单代码示例 在Web开发中,判断浏览器版本和类型是非常重要的,以便能够提供更好的用户体验。今天,我们将介绍如何使用Java来实现判断浏览器版本和类型的简单代码示例。 首先,让...
此段代码通过读取`navigator.userAgent`属性来获取浏览器信息,并通过正则表达式匹配来判断浏览器类型和版本。具体来说: - **`navigator.userAgent`**:返回一个字符串,表示当前浏览器的用户代理头(User-Agent ...
这个库已经预先实现了解析`User-Agent`的逻辑,提供了一个方便的API来获取浏览器和操作系统信息。例如,`UserAgentUtils`类可能包含如下方法: ```java import org.juseragent.UserAgent; import org.juseragent....
开发者可以通过这个版本号来确保其项目与JxBrowser的兼容性,并获取相应文档和支持。 使用JxBrowser时,开发者可以期待以下关键功能: 1. **多平台支持**:JxBrowser可以在Windows、macOS和Linux上运行,使Java...
主文件"javaSrc162.zip"很可能包含了用Java语言编写的浏览器的源代码,版本号可能是162,这可能是一个开源项目或者个人开发者的学习实践。 在Java中开发浏览器源码,涉及到以下几个关键知识点: 1. **网络编程**:...
3. **jsymxx162.zip** - 这是一个可能包含具体Java源代码的压缩文件,名字中的“jsymxx”可能是项目或作者的标识,“162”可能是版本号或者是某种编码方式。解压后,我们可能找到类文件、测试用例、配置文件等,这些...
* 浏览器版本号:`navigator.appVersion` * 对 Java 的支持:`navigator.javaEnabled()` * MIME 类型(数组):`navigator.mimeTypes` * 系统平台:`navigator.platform` * 插件(数组):`navigator.plugins` * ...
这里的`版本号`需要替换为实际的JWebBrowser版本。 然后,我们可以看到一个名为`WebToImgUtil.java`的文件,这应该是实现网页快照的核心代码。在这个类中,可能会有如下关键步骤: 1. **初始化JWebBrowser**:创建...
接下来,我们可以通过类似的方法来获取浏览器版本。通常,`userAgent`字符串中会包含版本号,我们可以通过正则表达式或字符串操作来提取: ```javascript function getBrowserVersion() { var userAgent = ...
#### 一、通过User-Agent获取浏览器和操作系统信息 User-Agent是HTTP请求头的一部分,它包含了客户端浏览器的类型、版本以及操作系统的信息。下面我们将详细解析如何通过JSP来读取并解析User-Agent字符串。 ##### ...
文件名`onsite_evaluation_1.8.0.0_Java_API`表明这可能是一个评估版的API,版本号为1.8.0.0,适用于Java平台。开发者可以使用这个版本测试API的功能,并在实际项目中进行集成前进行性能和兼容性的评估。 总的来说...
请确保替换为最新的版本号,可以通过Maven仓库搜索获取。 接下来,我们需要配置COS的访问凭证,包括AppID、Secret ID和Secret Key。这些信息可以在腾讯云控制台上找到。你可以创建一个配置类,将这些信息存储在其中...
这是Web服务器应答的第一行,列出服务器正在运行的HTTP版本号和应答代码。代码“200 OK”表示请求完成。 ② MIME_Version:1.0 它指示MIME类型的版本。 ③ content_type:类型 这个头信息非常重要,它...
在浏览器环境下,可以使用`navigator.userAgent`获取浏览器版本。 4. **C#**: .NET框架中,可以使用`Assembly.GetExecutingAssembly().GetName().Version`来获取当前运行程序的版本。对于NuGet包,可以在项目的....
在本实验中,我们将探索如何在Windows环境下使用Java语言实现一个基本的Web服务器。这个实践项目旨在深化学生对HTTP协议的理解,以及Web服务器的工作机制。HTTP(超文本传输协议)是互联网上应用最为广泛的一种网络...
JavaScript(简称JS)是一种广泛用于网页和网络应用的编程语言,尤其在获取浏览器信息方面具有强大的功能。在本文中,我们将深入探讨如何使用JS来获取IE浏览器的各种详细信息,包括类型、版本、语言以及更多其他属性...
例如,`appCodeName`、`appName`、`appVersion`分别用于获取浏览器的内部代码名、名称和版本号,`platform`显示操作系统信息,而`userAgent`则包含了所有这些详细信息。此外,`javaEnabled()`方法可以检测浏览器是否...
最新版本号 ``` 2. **初始化MinIO客户端**:使用MinIO的Java SDK,你需要提供MinIO服务器的URL、访问密钥和秘密密钥来创建一个客户端实例。 ```java import io.minio.MinioClient; MinioClient minioClient = ...
【标题】"java源码 安卓自动化获取界面元素(appium-desktop) 2018127"涉及的核心知识点是安卓自动化测试和Appium Desktop的使用,这是一套基于Java语言实现的自动化测试框架。在本文中,我们将深入探讨这两个关键...