Results 1 to 2 of 2
Thread: Browser Detection
-
03-09-2003, 06:35 PM #1Newbie
- Join Date
- Mar 2003
- Posts
- 23
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>
<%
}
%>
-
03-09-2003, 06:50 PM #2Newbie
- Join Date
- Sep 2002
- Posts
- 18
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();
}
}