|
|
|
|
A servlet may redirect a user's browser to another URL. Here's a servlet that does that, based on what it learns about the user's browser: /*
* RedirectingServlet.java
*
* Created on November 24, 2006, 9:20 PM
*/
package redirectExamples;
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
/**
* This servlet redirects the user to an appropriate web site.
*
* @author Bryan Higgs
* @version
*/
public class RedirectingServlet extends HttpServlet
{
/**
* Processes requests for both HTTP <code>GET</code> and <code>POST</code> methods.
* @param request servlet request
* @param response servlet response
*/
protected void processRequest(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException
{
String userAgent = request.getHeader("User-Agent");
String url = null;
if ( (userAgent != null) )
{
if (userAgent.indexOf("MSIE") == -1)
{
// Not Microsoft Internet Explorer -- send to Internet Explorer home page.
url = "http://www.microsoft.com/windows/ie/default.mspx";
}
else
{
// Microsoft Internet Explorer -- send to Firefox home page
url = "http://www.mozilla.com/en-US/firefox/";
}
// Redirect to appropriate URL
response.sendRedirect(url);
}
}
/**
* Handles the HTTP <code>GET</code> method.
* @param request servlet request
* @param response servlet response
*/
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException
{
processRequest(request, response);
}
/**
* Handles the HTTP <code>POST</code> method.
* @param request servlet request
* @param response servlet response
*/
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException
{
processRequest(request, response);
}
/**
* Returns a short description of the servlet.
*/
public String getServletInfo()
{
return "Redirects";
}
}
Here is the result of this servlet, when you view it in Firefox or Opera:
Whereas, here's what you get when you use Microsoft Internet Explorer:
|
| The page was last updated February 19, 2008 |