The official support of Java web application in Bazel is bazelbuild/rules_appengine, which comes with a number of problems as discussed in a previous post. After some effort I realized I can not manage to have appengine rule accurately serve my needs. Since there doesn't seem to be another option, I decided to go ahead and create one.
With bazville I was able to change the demo project angular-on-java to build web application correctly without assuming it runs in appengine, and run it with Tomcat in bazel. Please take a look at the project github docs if you are interested.