This week's book giveaway is in the OCAJP 8 forum. We're giving away four copies of OCA Java SE 8 Programmer I Study Guide and have Edward Finegan & Robert Liguori on-line! See this thread for details.
I started looking at the class definitions for ServletRequest and I'm mystified about where you get one from. The list of "All Known Implementing Classes" for ServletRequest is ServletRequestWrapper, and similarly the only implementing class for HttpServletRequest is HttpServletRequestWrapper.
The two wrapper classes have only one constructor. That constructor requires a ServletRequest, which cannot be null.
So I downloaded the Tomcat sources and started grepping for classes that implemented ServletRequest or HttpServletRequest. *Every* single class I could find that implements the ServletRequest interface (or a subinterface) uses the same paradigm and either is or "extends" one of the above wrapper classes.
So you need to have a ServletRequest in order to create a ServletRequest.