But Frits in the question its asked For JSP scopes of request and page
Shouldn't we choose D as correct answer.
If you want store an object in the request scope you have to use the methods that are defined in the ServletRequest interface, consequently you have to use an object that implements the ServletRequest interface. In the Http world you can use the object that implements the HttpServletRequest as it extends the ServletRequest interface, but in another non-http world you would only have to implement the ServletRequest interface.
Be careful with reading:
For JSP scopes of request and page, what type of object is used to store the attributes?
They don't mention that the JSPs are in the HTTP context, therefore the HttpServletRequest is not sufficient as it won't be of any help in the non-HTTP context...