import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
import java.util.*;
public class MyServlet extends HttpServlet {
public void doGet(HttpServletRequest request,
HttpServletResponse response)
throws ServletException, java.io.IOException {
RequestDispatcher dispatcher = null;
String param = request.getParameter("go");
if (param == null)
throw new
ServletException("Missing parameter in Controller.");
else if (param.equals("weather"))
dispatcher = getServletContext().
getNamedDispatcher("Weather");
else if (param.equals("maps"))
dispatcher = getServletContext().
getNamedDispatcher("Maps");
else
throw new ServletException(
"Improper parameter passed to Controller.");
/*check for a null dispatcher, then
dispatch the request to the correct URL*/
if (dispatcher != null)
dispatcher.forward(request,response);
else
throw new ServletException(
"Controller received a null dispatcher.");
}
}
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE web-app
PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.2//EN"
"http://java.sun.com/j2ee/dtds/web-app_2_2.dtd">
<web-app>
<servlet><servlet-name>MyServletName</servlet-name>
<servlet-class>MyServlet</servlet-class>
<init-param>
<param-name>
go
</param-name>
<param-value>
weather
</param-value>
</init-param>
</servlet>
<servlet-mapping><servlet-name>MyServletName</servlet-name>
<url-pattern>/index.html</url-pattern>
</servlet-mapping>
</web-app>
Download: ServletControllerDispatcher.zip( 89 k)