Class Stapler

  • All Implemented Interfaces:
    Serializable, javax.servlet.Servlet, javax.servlet.ServletConfig

    public class Stapler
    extends javax.servlet.http.HttpServlet
    Maps an HTTP request to a method call / JSP invocation against a model object by evaluating the request URL in a EL-ish way.

    This servlet should be used as the default servlet.

    Author:
    Kohsuke Kawaguchi
    See Also:
    Serialized Form
    • Field Detail

      • CONVERT_UTILS

        public static final org.apache.commons.beanutils.ConvertUtilsBean CONVERT_UTILS
        This is the Converter registry that Stapler uses, primarily for form-to-JSON binding in StaplerRequest.bindJSON(Class, JSONObject) and its family of methods.
    • Constructor Detail

      • Stapler

        public Stapler()
    • Method Detail

      • init

        public void init​(javax.servlet.ServletConfig servletConfig)
                  throws javax.servlet.ServletException
        Specified by:
        init in interface javax.servlet.Servlet
        Overrides:
        init in class javax.servlet.GenericServlet
        Throws:
        javax.servlet.ServletException
      • buildResourcePaths

        public void buildResourcePaths()
        Rebuild the internal cache for static resources.
      • getWebApp

        public WebApp getWebApp()
      • service

        protected void service​(javax.servlet.http.HttpServletRequest req,
                               javax.servlet.http.HttpServletResponse rsp)
                        throws javax.servlet.ServletException,
                               IOException
        Overrides:
        service in class javax.servlet.http.HttpServlet
        Throws:
        javax.servlet.ServletException
        IOException
      • invoke

        public void invoke​(javax.servlet.http.HttpServletRequest req,
                           javax.servlet.http.HttpServletResponse rsp,
                           Object root,
                           String url)
                    throws IOException,
                           javax.servlet.ServletException
        Performs stapler processing on the given root object and request URL.
        Throws:
        IOException
        javax.servlet.ServletException
      • isSocketException

        public static boolean isSocketException​(Throwable x)
        Used to detect exceptions thrown when writing content that seem to be due merely to a closed socket.
        Parameters:
        x - an exception that got caught
        Returns:
        true if this looks like a closed stream, false for some real problem
        Since:
        1.222
      • forward

        public void forward​(javax.servlet.RequestDispatcher dispatcher,
                            StaplerRequest req,
                            javax.servlet.http.HttpServletResponse rsp)
                     throws javax.servlet.ServletException,
                            IOException
        Throws:
        javax.servlet.ServletException
        IOException
      • getViewURL

        public static String getViewURL​(Class clazz,
                                        String jspName)
        Gets the URL (e.g., "/WEB-INF/side-files/fully/qualified/class/name/jspName") from a class and the JSP name.
      • setRoot

        public static void setRoot​(javax.servlet.ServletContextEvent event,
                                   Object rootApp)
        Sets the specified object as the root of the web application.

        This method should be invoked from your implementation of ServletContextListener.contextInitialized(ServletContextEvent).

        This is just a convenience method to invoke servletContext.setAttribute("app",rootApp).

        The root object is bound to the URL '/' and used to resolve all the requests to this web application.

      • getCurrentRequest

        public static StaplerRequest getCurrentRequest()
        Gets the current StaplerRequest that the calling thread is associated with.
      • getCurrentResponse

        public static StaplerResponse getCurrentResponse()
        Gets the current StaplerResponse that the calling thread is associated with.
      • getCurrent

        public static Stapler getCurrent()
        Gets the current Stapler that the calling thread is associated with.
      • lookupConverter

        public static org.apache.commons.beanutils.Converter lookupConverter​(Class type)
      • escape

        public static String escape​(String v)
        Escapes HTML/XML unsafe characters for the PCDATA section. This method does not handle whitespace-preserving escape, nor attribute escapes.
      • htmlSafeArguments

        public static Object[] htmlSafeArguments​(Object[] args)
      • htmlSafeArgument

        public static Object htmlSafeArgument​(Object o)
        For XSS prevention, escape unsafe characters in String by default, unless it's specifically wrapped in RawHtmlArgument.