org.springframework.web.servlet

## Class ViewRendererServlet

- java.lang.Object
- - javax.servlet.GenericServlet
  - - javax.servlet.http.HttpServlet
    - - org.springframework.web.servlet.ViewRendererServlet

- All Implemented Interfaces:
    Serializable, Servlet, ServletConfig

      public class ViewRendererServlet
      extends HttpServlet

  ViewRendererServlet is a bridge servlet, mainly for the Portlet MVC support.

  For usage with Portlets, this Servlet is necessary to force the portlet container to convert the PortletRequest to a ServletRequest, which it has to do when including a resource via the PortletRequestDispatcher. This allows for reuse of the entire Servlet-based View support even in a Portlet environment.

  The actual mapping of the bridge servlet is configurable in the DispatcherPortlet, via a "viewRendererUrl" property. The default is "/WEB-INF/servlet/view", which is just available for internal resource dispatching.

  Since:
    2.0
  Author:
    William G. Thompson, Jr., John A. Lewis, Juergen Hoeller
  See Also:
    Serialized Form

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `static String` | `MODEL_ATTRIBUTE` Name of request attribute that holds the model Map
    `static String` | `VIEW_ATTRIBUTE` Name of request attribute that holds the View object
    `static String` | `WEB_APPLICATION_CONTEXT_ATTRIBUTE` Request attribute to hold current web application context.

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `ViewRendererServlet()`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `protected void` | `doGet(HttpServletRequest request, HttpServletResponse response)`
    `protected void` | `doPost(HttpServletRequest request, HttpServletResponse response)`
    `protected void` | `processRequest(HttpServletRequest request, HttpServletResponse response)` Process this request, handling exceptions.
    `protected void` | `renderView(HttpServletRequest request, HttpServletResponse response)` Retrieve the View instance and model Map to render and trigger actual rendering.

    - ### Methods inherited from class javax.servlet.http.HttpServlet

      `doDelete, doHead, doOptions, doPut, doTrace, getLastModified, service, service`

    - ### Methods inherited from class javax.servlet.GenericServlet

      `destroy, getInitParameter, getInitParameterNames, getServletConfig, getServletContext, getServletInfo, getServletName, init, init, log, log`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Field Detail

    - #### WEB_APPLICATION_CONTEXT_ATTRIBUTE

          public static final String WEB_APPLICATION_CONTEXT_ATTRIBUTE

      Request attribute to hold current web application context. Otherwise only the global web app context is obtainable by tags etc.
      See Also:
        `RequestContextUtils.getWebApplicationContext(javax.servlet.ServletRequest)`

    - #### VIEW_ATTRIBUTE

          public static final String VIEW_ATTRIBUTE

      Name of request attribute that holds the View object

    - #### MODEL_ATTRIBUTE

          public static final String MODEL_ATTRIBUTE

      Name of request attribute that holds the model Map

  - ### Constructor Detail

    - #### ViewRendererServlet

          public ViewRendererServlet()

  - ### Method Detail

    - #### doGet

          protected final void doGet(HttpServletRequest request,
                   HttpServletResponse response)
                              throws ServletException,
                                     IOException

      Overrides:
        `doGet` in class `HttpServlet`
      Throws:
        `ServletException`
        `IOException`

    - #### doPost

          protected final void doPost(HttpServletRequest request,
                    HttpServletResponse response)
                               throws ServletException,
                                      IOException

      Overrides:
        `doPost` in class `HttpServlet`
      Throws:
        `ServletException`
        `IOException`

    - #### processRequest

          protected final void processRequest(HttpServletRequest request,
                            HttpServletResponse response)
                                       throws ServletException,
                                              IOException

      Process this request, handling exceptions. The actually event handling is performed by the abstract `renderView()` template method.
      Throws:
        `ServletException`
        `IOException`
      See Also:
        `renderView(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)`

    - #### renderView

          protected void renderView(HttpServletRequest request,
                        HttpServletResponse response)
                             throws Exception

      Retrieve the View instance and model Map to render and trigger actual rendering.
      Parameters:
        `request` - current HTTP request
        `response` - current HTTP response
      Throws:
        `Exception` - in case of any kind of processing failure
      See Also:
        `View.render(java.util.Map<java.lang.String, ?>, javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)`