It looks like the problem you are having is that you're trying to view the file in the ROOT web app, but you are placing the file in a sub-directory. It's been a while since I used Tomcat, but I believe it treats this as a web-context ie a web app different to the one you've specified.
Try placing the file in the tomcat\webapps\ROOT directory and verify that you can load it as localhost/hello.html
To expand on the problem,
servlet containers are designed to serve multiple separate 'applications' at the same time, and keeps them separate by giving them a named 'context'. Usually the behaviour is that the first part of the request is the context. Therefore
http://localhost/app1/hello.html loads hello.html from the app1 context and
http://localhost/app2/hello.html loads hello.html from the app2 context.
Then there is a special context that has no name and is a convenient place to drop your application,s but sometimes nested directories get treated like contexts, and I believe this is the behaviour you are seeing.
As I said, try dropping the file in the root directory and see if it works. Someone with more specific Tomcat knowledge may be able to provide a work-around.
Dave