ServletRequest.getRequestDispatcher(String uri) can take both the relative and absolute paths. But the ServletContext.getRequestDispatcher(String uri) can take only relative paths. So the Servlet.getRequestDispatcher(String uri) serves both the purposes. So what is the necessity for the giving a method with respect to context.
Personally I prefer to make all references relative to the application context, but sometimes you can get into the situation where you aren't sure or it isn't easy to find out where you are inside that context (eg the current resource is included from somewhere else). In this case it may be easier or necessary to use a relative path.