Results 1 to 2 of 2
  1. #1

    Browser Detection

    Hi all! I have some code here below that I'm using in a jsp page to detect a browser type. It works great BUT what I want to do is put this code into a servlet instead, is this possible and if so how is it done?

    Thanks!

    Here's the code
    <%!
    public final static int IE = 0;
    public final static int NETSCAPE = 1;
    public final static int WML = 2;

    public int getBrowser(HttpServletRequest request) {
    String accept = request.getHeader("ACCEPT");
    if (null != accept && -1 !=
    accept.indexOf("wml")) {
    return WML;
    }
    String agent = request.getHeader("USER-AGENT");
    if (null != agent && -1 !=
    agent.indexOf("MSIE")) {
    return IE;
    }
    return NETSCAPE;
    }
    %>

    <%
    switch (getBrowser(request)) {
    case WML:
    response.setContentType("text/vnd.wap.wml");
    %>
    <?xml version="1.0"?>
    <wml>
    <card id="index" title="Browser Greeting">
    <p align="center">Hello, Wireless Fan!</p>
    </card>
    </wml>
    <%
    break;
    case IE:
    %>
    <HTML><BODY><H1>Hello, IE
    Fan!</H1></BODY></HTML>
    <%
    break;
    default:
    %>
    <HTML><BODY><H1>Hello, Netscape
    Fan!</H1></BODY></HTML>
    <%
    }
    %>

  2. #2
    import javax.servlet.http.HttpServlet;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    import javax.servlet.ServletException;
    import java.io.IOException;
    import java.io.PrintWriter;

    public class MyServlet extends HttpServlet
    {
    public final static int IE = 0;
    public final static int NETSCAPE = 1;
    public final static int WML = 2;

    protected int getBrowser(HttpServletRequest request)
    {
    String accept = request.getHeader("ACCEPT");
    if (null != accept && -1 != accept.indexOf("wml"))
    {
    return WML;
    }
    String agent = request.getHeader("USER-AGENT");
    if (null != agent && -1 != agent.indexOf("MSIE"))
    {
    return IE;
    }
    return NETSCAPE;
    }

    public void doGet(HttpServletRequest req, HttpServletResponse res)
    throws ServletException, IOException
    {

    PrintWriter out = res.getWriter();

    switch (getBrowser(req))
    {
    case WML:
    res.setContentType("text/vnd.wap.wml");
    out.println("<?xml version=\"1.0\"?>");
    out.println("<wml>");
    out.println("<card id=\"index\" title=\"Browser Greeting\">");
    out.println("<p align=\"center\">Hello, Wireless Fan!</p>");
    out.println("</card>");
    out.println("</wml>*/");
    break;
    case IE:
    res.setContentType("text/html");
    out.println("<HTML><BODY><H1>");
    out.println("Hello, IE Fan!");
    out.println("</H1></BODY></HTML>");
    break;
    default:
    res.setContentType("text/html");
    out.println("<HTML><BODY><H1>");
    out.println("Hello, Netscape Fan!");
    out.println("</H1></BODY></HTML>");
    }

    out.close();
    }
    }

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •