Class Stapler

java.lang.Object
javax.servlet.GenericServlet
javax.servlet.http.HttpServlet
org.kohsuke.stapler.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:
  • Field Details

    • 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 Details

    • Stapler

      public Stapler()
  • Method Details

    • 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.

    • setClassLoader

      @Deprecated public static void setClassLoader(javax.servlet.ServletContext context, ClassLoader classLoader)
      Sets the classloader used by StaplerRequest.bindJSON(Class, JSONObject) and its sibling methods.
    • getClassLoader

      @Deprecated public static ClassLoader getClassLoader(javax.servlet.ServletContext context)
      Deprecated.
    • getClassLoader

      @Deprecated public ClassLoader getClassLoader()
      Deprecated.
    • 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.