JspFactoryImpl (Apache Tomcat 11.0.23 API Documentation)
Description: declaration: package: org.apache.jasper.runtime, class: JspFactoryImpl

# Class JspFactoryImpl

java.lang.Object
jakarta.servlet.jsp.JspFactory
org.apache.jasper.runtime.JspFactoryImpl

public class JspFactoryImpl extends JspFactory
Implementation of JspFactory.

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `JspFactoryImpl()`
  Creates a new JspFactoryImpl instance with default pool size settings.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `JspEngineInfo`
  `getEngineInfo()`
  called to get implementation-specific information on the current JSP engine.
  `JspApplicationContext`
  `getJspApplicationContext(ServletContext context)`
  Obtain the `JspApplicationContext` instance that was associated within the passed `ServletContext` for this web application.
  `PageContext`
  `getPageContext(Servlet servlet, ServletRequest request, ServletResponse response, String errorPageURL, boolean needsSession, int bufferSize, boolean autoflush)`
  obtains an instance of an implementation dependent jakarta.servlet.jsp.PageContext abstract class for the calling Servlet and currently pending request and response.
  `void`
  `releasePageContext(PageContext pc)`
  called to release a previously allocated PageContext object.
  `void`
  `setPoolSize(int poolSize)`
  Sets the size of the PageContext pool.

  ### Methods inherited from class JspFactory

  `getDefaultFactory, setDefaultFactory`

  ### Methods inherited from class Object

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

- ## Constructor Details

  - ### JspFactoryImpl

    public JspFactoryImpl()
    Creates a new JspFactoryImpl instance with default pool size settings.

- ## Method Details

  - ### getPageContext

    public PageContext getPageContext(Servlet servlet, ServletRequest request, ServletResponse response, String errorPageURL, boolean needsSession, int bufferSize, boolean autoflush)
    Description copied from class: `jakarta.servlet.jsp.JspFactory`

    obtains an instance of an implementation dependent jakarta.servlet.jsp.PageContext abstract class for the calling Servlet and currently pending request and response.

    This method is typically called early in the processing of the _jspService() method of a JSP implementation class in order to obtain a PageContext object for the request being processed.

    Invoking this method shall result in the PageContext.initialize() method being invoked. The PageContext returned is properly initialized.

    All PageContext objects obtained via this method shall be released by invoking releasePageContext().

    Specified by:
      `getPageContext` in class `JspFactory`
    Parameters:
      `servlet` - the requesting servlet
      `request` - the current request pending on the servlet
      `response` - the current response pending on the servlet
      `errorPageURL` - the URL of the error page for the requesting JSP, or null
      `needsSession` - true if the JSP participates in a session
      `bufferSize` - size of buffer in bytes, `JspWriter.NO_BUFFER` if no buffer, `JspWriter.DEFAULT_BUFFER` if implementation default.
      `autoflush` - should the buffer autoflush to the output stream on buffer overflow, or throw an IOException?
    Returns:
      the page context
    See Also:
      - `PageContext`

  - ### releasePageContext

    public void releasePageContext(PageContext pc)
    Description copied from class: `jakarta.servlet.jsp.JspFactory`

    called to release a previously allocated PageContext object. Results in PageContext.release() being invoked. This method should be invoked prior to returning from the _jspService() method of a JSP implementation class.

    Specified by:
      `releasePageContext` in class `JspFactory`
    Parameters:
      `pc` - A PageContext previously obtained by getPageContext()

  - ### getEngineInfo

    public JspEngineInfo getEngineInfo()
    Description copied from class: `jakarta.servlet.jsp.JspFactory`

    called to get implementation-specific information on the current JSP engine.

    Specified by:
      `getEngineInfo` in class `JspFactory`
    Returns:
      a JspEngineInfo object describing the current JSP engine

  - ### setPoolSize

    public void setPoolSize(int poolSize)
    Sets the size of the PageContext pool. A value greater than 0 enables pooling.
    Parameters:
      `poolSize` - the desired pool size

  - ### getJspApplicationContext

    public JspApplicationContext getJspApplicationContext(ServletContext context)
    Description copied from class: `jakarta.servlet.jsp.JspFactory`

    Obtain the `JspApplicationContext` instance that was associated within the passed `ServletContext` for this web application.

    Specified by:
      `getJspApplicationContext` in class `JspFactory`
    Parameters:
      `context` - the current web application's `ServletContext`
    Returns:
      `JspApplicationContext` instance