The Request Tags

The request tags makes it easy for an included page to
write the URI, URL or web app context path to its output stream. That way
you don't have to hardcode the URL's of pages that link back to themselves.
JSP pages containing either tabbed panes or trees usually link back to themselves.
The request tags gives you the following advantages:

  1. If you include a JSP page inside another JSP page, and the included JSP
    page needs to link back to the including page, this is easily done
    using the request tags.

  2. If you forward to, or include, a JSP page from a Struts action
    or Spring controller, and the JSP needs to link back to that
    controller, then URI / URL is automatically pointing back
    to the Struts action or Spring controller. Not to the JSP.
    This is usually handy when using Tree Tag or Tabbed Pane Tag
    with Struts or Spring.

  3. If you include the same JSP page in many different other JSP pages
    (or Struts Actions or Spring Controllers), then the link back to
    the including page or action will always point correctly to the url of the
    including action or page.
Tag Tag Code Tag Output
Request URI <request:requestUri/> /prizetagsdemo/request/requestTags.jsp
Request URL <request:requestUrl/> http://jenkov.com/prizetagsdemo/request/requestTags.jsp
Web App Context Path <request:webAppContextPath/> /prizetagsdemo/
Parameter String <request:parameterString/>       (suffix=false)
?    (suffix=true)

Try seeing the effect of the parameterString tag...
...with request parameters
...without request parameters