Writing a Servlet that checks to see if JSP's exist and forwards to another JSP if they aren't

File file = new File(requestUri);

This is wrong. The java.io.File knows nothing about the webapp context it is running in. The file path will be relative to the current working directory, which is dependent on the way how you start the appserver. It may for example be relative to C:/Tomcat/bin rather than the webapp root as you seem to expect. You don't want to have this.

Use ServletContext#getRealPath() to translate a relative web path to an absolute disk file system path. The ServletContext is available in the servlet by the inherited getServletContext() method. Thus, following should point out the right file:

String absoluteFilePath = getServletContext().getRealPath(requestUri);
File file = new File(absoluteFilePath);

if (file.exists()) { 
    // ...
}

Or, if the target container doesn't expand the WAR on physical disk file system but instead in memory, then you'd better use ServletContext#getResource():

URL url = getServletContext().getResource(requestUri);

if (url != null) { 
    // ...
}

This can be done in a lot easier, and built-in way.

web.xml has <error-page> element. You can do something like:

<error-page>
    <error-code>404</error-code>
    <location>/pageNotFound.jsp</location>
<error-page>