本文共 1558 字,大约阅读时间需要 5 分钟。
[原来在GUI界面的MailClient中加入了类似OutLook的URL跳转支持,用的是Runtime接口.执行cmd来启动浏览器打开链接.这样当然有很多缺点了.依赖操作系统也可能会出现一些不安全
/**
* 获取客户端操作系统信息,目前只匹配Win 7、WinXP、Win2003、Win2000、MAC、WinNT、Linux、Mac68k、Win9x
* @param userAgent request.getHeader("user-agent")的返回值
* @return
*/[ 今天做的一个JSP页面中需要展示用户的浏览器版本和操作系统版本信息,这个功能在大部分论坛上都看到过,就是没考虑过怎么实现,于是求助谷老师,原来用javascript就能
public static String getClientOS(String userAgent)
{
String cos = "unknow os";
Pattern p = Pattern.compile(".*(Windows NT 6\\.1).*");
Matcher m = p.matcher(userAgent);
if(m.find())
{
cos = "Win 7";
return cos;
}
p = Pattern.compile(".*(Windows NT 5\\.1|Windows XP).*");
m = p.matcher(userAgent);
if(m.find())
{
cos = "WinXP";
return cos;
}
p = Pattern.compile(".*(Windows NT 5\\.2).*");
m = p.matcher(userAgent);
if(m.find())
{
cos = "Win2003";
return cos;
}
p = Pattern.compile(".*(Win2000|Windows 2000|Windows NT 5\\.0).*");
m = p.matcher(userAgent);
if(m.find())
{
cos = "Win2000";
return cos;
}
p = Pattern.compile(".*(Mac|apple|MacOS8).*");
m = p.matcher(userAgent);
if(m.find())
{
cos = "MAC";
return cos;
}
p = Pattern.compile(".*(WinNT|Windows NT).*");
m = p.matcher(userAgent);
if(m.find())
{
cos = "WinNT";
return cos;
}
p = Pattern.compile(".*Linux.*");
m = p.matcher(userAgent);
if(m.find())
{
cos = "Linux";
return cos;
}
p = Pattern.compile(".*(68k|68000).*");
m = p.matcher(userAgent);
if(m.find())
{
cos = "Mac68k";
return cos;
}
p = Pattern.compile(".*(9x 4.90|Win9(5|8)|Windows 9(5|8)|95/NT|Win32|32bit).*");
m = p.matcher(userAgent);
if(m.find())
{
cos = "Win9x";
return cos;
}
return cos;
}[java获取操作系统信息]
转载地址:http://zamkm.baihongyu.com/