Introduction

A Java web server side library that determines the client's browser and system information based on the HTTP_USER_AGENT string.

News

  • 1.0.4 released Aug 3, 2007
  • 1.0.3 released Apr 20, 2007

Requires

  • JDK 1.5+

Dependencies

  • commons-logging 1.1
  • commons-collections 2.1
  • commons-lang 2.1

Example usage

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