The requestScope is NOT the request object

The implicit requestScope is just a Map of the request scope attributes, not the request object itself! What you want (the HTTP method) is a property of the request object, not an attribute at request scope. In other words, you want something that comes from calling a getter method on the request object (if we treat the request object like a bean).

But there is no request implicit object, only requestScope! What to do?

You need something else...

Note

Use requestScope to get request ATTRIBUTES, not request PROPERTIES. For request properties, you need to go through pageContext.

Use pageContext to get to everything else...

Method is: ${pageContext.request.method}

pageContext has a request property request has a method property

Note

Don’t confuse the Map scope objects with the objects to which the attributes are bound.

It’s so easy to think that, say, applicationScope is a reference to ServletContext, since that’s where application-scoped attributes are bound. But just as with requestScope and the request object, the scope Map for application-scoped attributes is just that—a Map of attributes, and nothing more. You can’t treat it like a Servlet Context, so don’t expect to get ServletContext properties back from the applicationScope implicit object!

Get Head First Servlets and JSP, 2nd Edition now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.