A
ashishtiwari05
As the principal engineer of an HTTP web server, you are responsible
for implementing the request processing subsystem of the server.
An incoming request for a specific resource, identified by an URI,
must be dispatched to the appropriate handler according to the server
configuration which maps URIs to request handlers.
'HandlerFactory.getHandler' must be implemented:
public class HandlerFactory
{
public String getHandler(String[] config, String requestUri)
{
}
}
The string array 'config' contains URI patterns and handler names. Two
consecutive values form a key-value pair comprised of URI pattern and
handler. 'requestUri' represents an incoming request, the URI to match
against the configured handlers. 'getHandler' must return the correct
handler for a given URI as a string value.
An URI pattern never contains wildcards and represents the start of an
URI string, a prefix. Matching must be implemented accordingly. The
handler with the longest matching URI pattern wins if more than one
pattern matches. If no handler can be found, "6fgIiN" must be
returned.
Example input:
String[] config: { "/", "MainServlet", "/nav", "NavigationServlet" }
String requestUri: "/nav/test"
Correct result: "NavigationServlet"
In this example, the configuration contains a mapping of "/" to
"MainServlet" and "/nav" to "NavigationServlet". In the case of an
incoming URI "/nav/test.nav", "NavigationServlet" is the correct
choice because its pattern is longer than that of "MainServlet".
Could any body complete this code by taking account for above
information
public class HandlerFactory
{
public String getHandler(String[] config, String requestUri)
{
;
}
}
for implementing the request processing subsystem of the server.
An incoming request for a specific resource, identified by an URI,
must be dispatched to the appropriate handler according to the server
configuration which maps URIs to request handlers.
'HandlerFactory.getHandler' must be implemented:
public class HandlerFactory
{
public String getHandler(String[] config, String requestUri)
{
}
}
The string array 'config' contains URI patterns and handler names. Two
consecutive values form a key-value pair comprised of URI pattern and
handler. 'requestUri' represents an incoming request, the URI to match
against the configured handlers. 'getHandler' must return the correct
handler for a given URI as a string value.
An URI pattern never contains wildcards and represents the start of an
URI string, a prefix. Matching must be implemented accordingly. The
handler with the longest matching URI pattern wins if more than one
pattern matches. If no handler can be found, "6fgIiN" must be
returned.
Example input:
String[] config: { "/", "MainServlet", "/nav", "NavigationServlet" }
String requestUri: "/nav/test"
Correct result: "NavigationServlet"
In this example, the configuration contains a mapping of "/" to
"MainServlet" and "/nav" to "NavigationServlet". In the case of an
incoming URI "/nav/test.nav", "NavigationServlet" is the correct
choice because its pattern is longer than that of "MainServlet".
Could any body complete this code by taking account for above
information
public class HandlerFactory
{
public String getHandler(String[] config, String requestUri)
{
;
}
}