title: How does requestScope object of Expression Language work in a JSP file?
body: <p>So I have this simple code in a jsp file:</p>
  
  <pre><code>${requestScope.getClass()}
  </code></pre>
  
  <p>which returns me: </p>
  
  <pre><code>class javax.servlet.jsp.el.ImplicitObjectELResolver$ScopeManager$9
  </code></pre>
  
  <p>which makes me think this object is of type ImplicitObjectELResolver. (I may be wrong even here..)</p>
  
  <p>Well, when I look at the documentation <a href="http://docs.oracle.com/javaee/5/api/javax/servlet/jsp/el/ImplicitObjectELResolver.html" rel="nofollow">here</a> for this nice class: javax.servlet.jsp.el.ImplicitObjectELResolver
  , I see: </p>
  
  <blockquote>
    <p>Defines variable resolution behavior for the EL implicit objects
    defined in the JSP specification.</p>
    
    <p>The following variables are resolved by this ELResolver, as per the
    JSP specification:</p>
    
    <p>pageContext - the PageContext object. pageScope - a Map that maps page-scoped attribute names to their values. </p>
    
    <p>requestScope - a Map that maps request-scoped attribute names to their values.</p>
  </blockquote>
  
  <p>Now I am confused because here I am thinking I already have the an object of type <em>Map</em>. But the object I have is supposed to have a variable called <em>requestScope</em> which is a Map..</p>
  
  <p>So what actually happens when I call</p>
  
  <pre><code>${requestScope.firstName} 
  </code></pre>
  
  <p>for example?</p>
  
  <p>Am I calling getKey("firstName") on a Map object, or is something else going on? </p>