咱们系统中的在线人员管理,需要展示到用户的操作系统和浏览器信息。
一百度就知道使用UserAgentUtils-1.2.4.jar这个工具类。
下面是Pom的依赖:
<dependency>
<groupId>eu.bitwalker</groupId>
<artifactId>UserAgentUtils</artifactId>
<version>1.20</version>
</dependency>
代码如下:
UserAgent userAgent = UserAgent.parseUserAgentString(req.getHeader("User-Agent")); //req就是request请求
Browser browser = userAgent.getBrowser(); //获取浏览器信息
OperatingSystem os = userAgent.getOperatingSystem(); //获取操作系统信息
StringBuffer userInfo = new StringBuffer();
userInfo.append("操作系统:"+os.toString()+" 浏览器:"+browser.toString());
可能有的同学会问到问什么不直接用String Agent = request.getHeader("User-Agent");
这个确实可以获取到浏览器和操作系统的信息,下面也放一下代码,可是这只有IE是可行的,其他浏览器会出现各种的小问题。
String Agent = request.getHeader("User-Agent");
StringTokenizer st = new StringTokenizer(Agent,";");
st.nextToken();
//得到用户的浏览器名
String browser = st.nextToken();
System.out.println("浏览器 "+browser);
//得到用户的操作系统名
String os = st.nextToken();
System.out.println("os "+os);
//获得客户端的IP地址
String ip = "";
try {
ip = InetAddress.getLocalHost().getHostAddress(); //ip 地址
} catch (UnknownHostException e) {
e.printStackTrace();
}
System.out.println("ip "+ip);