A Java web server side library that determines the client's browser and system information based on the HTTP_USER_AGENT string.
public class ServletTestEnv extends HttpServlet {
public void doGet(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
BrowserSniffer bs = new BrowserSniffer(req);
if (bs.isIE()) {
if (bs.isWindows()) {
if ("7".equals(bs.getMajorVersion())) {
}
else if ("6".equals(bs.getMajorVersion()) {
}
else if ("5".equals(bs.getMajorVersion()) {
}
else {
...
}
}
else if (bs.isMac()) {
...
}
else {
...
}
}
else if (bs.isFirefox()) {
if ("2".equals(bs.getMajorVersion())) {
}
else if ("1".equals(bs.getMajorVersion()) {
if (bs.getMinorVersion().startsWith(".5") {
}
}
else {
...
}
}
else if (bs.isSafari()) {
// should handle possible exception...!
int majorVersion = Integer.parseInt(bs.getMajorVersion());
if (majorVersion <= 85) {
// Mac OS X 10.2, Safari v1.0x
...
}
else if (majorVersion <= 100) {
// Mac OS X 10.3, Safari v1.1
...
}
else if (majorVersion <= 125) {
// Mac OS X 10.3.4, Safari v1.2
...
}
else if (majorVersion <= 312) {
// Mac OS X 10.3.9, Safari v1.3
...
}
else if (majorVersion <= 412) {
// Mac OS X 10.4, Safari v2.0
...
}
else {
// Safari v > 2.0
...
}
}
else {
...
}
}
}