Hello, I am planning to write one web analytics servlet(that will intercept each requests to the tomcat server, log the request header detail into database). I dont have a clue how to route all requests to the tomcat to my analytics servlet. Should I use any filter? or any suggestion?
If you only need it to intercept requests for one application, then a filter will work nicely. If you need to intercept requests for all applications running under an instance of Tomcat, a Valve might be easier.
Tomcat ships with a valve that does something similar to what you're doing. Instead of writing to a database, however, it writes to a log file. Look in tomcat/conf/server.xml for the RequestDumperValve entry. It's commented out by default.
Since Tomcat is open source, you can download the code to the valve to see how they're intercepting requests. This might be a good way to get started.