Uploaded image for project: 'Groovy'
  1. Groovy
  2. GROOVY-5227

AbstractHttpServlet should extend GenericServlet directly instead of HttpServlet

    XMLWordPrintableJSON

    Details

    • Type: Improvement
    • Status: Open
    • Priority: Trivial
    • Resolution: Unresolved
    • Affects Version/s: 1.7.5
    • Fix Version/s: None
    • Component/s: Groovlet / GSP
    • Labels:
      None

      Description

      The groovy.servlet.AbstractHttpServlet class overrides the service(HttpServletRequest, HttpServletResponse) method.

      Thus all the circuitry implemented in the javax.servlet.http.HttpServlet superclass is bypassed altogether, except the trivial service(ServletRequest, ServletResponse) method which only provides a convenient call to service(HttpServletRequest, HttpServletResponse), narrowing the request and response types to HTTP-dedicated subclasses.

      None of the doGet, getLastModified, doHead, doPost, doPut, doDelete, doOption, doTrace, is ever called. Are they relevant to any AbstractHttpServlet subclasses? I doubt so. The programming model of GroovyServlet currently implies re-implementing in Groovlets the way these HTTP methods should be answered.

      Then it might be a possible optimization to have AbstractHttpServlet extend GenericServlet directly, re-implementing in AbstractHttpServlet the trivial service(ServletRequest, ServletResponse) method of HttpServlet. This could prevent the unnecessary loading of the HttpServlet class in memory.

        Attachments

          Activity

            People

            • Assignee:
              Unassigned
              Reporter:
              benje Benjamin Gandon
            • Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

              • Created:
                Updated: