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 { ... } } }