<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc (1.8.0_281) on Sun Jan 15 15:58:35 CET 2023 -->
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>FreemarkerServlet (FreeMarker 2.3.32 API)</title>
<meta name="date" content="2023-01-15">
<link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
<script type="text/javascript" src="../../../script.js"></script>
</head>
<body>
<script type="text/javascript"><!--
    try {
        if (location.href.indexOf('is-external=true') == -1) {
            parent.document.title="FreemarkerServlet (FreeMarker 2.3.32 API)";
        }
    }
    catch(err) {
    }
//-->
var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10,"i14":10,"i15":42,"i16":10,"i17":10,"i18":10,"i19":10,"i20":10,"i21":10,"i22":10,"i23":10,"i24":10};
var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"],32:["t6","Deprecated Methods"]};
var altColor = "altColor";
var rowColor = "rowColor";
var tableTab = "tableTab";
var activeTableTab = "activeTableTab";
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a name="navbar.top">
<!--   -->
</a>
<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
<a name="navbar.top.firstrow">
<!--   -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/FreemarkerServlet.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../index-all.html">Index</a></li>
<li><a href="../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../freemarker/ext/servlet/AllHttpScopesHashModel.html" title="class in freemarker.ext.servlet"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../freemarker/ext/servlet/HttpRequestHashModel.html" title="class in freemarker.ext.servlet"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../index.html?freemarker/ext/servlet/FreemarkerServlet.html" target="_top">Frames</a></li>
<li><a href="FreemarkerServlet.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
  allClassesLink = document.getElementById("allclasses_navbar_top");
  if(window==top) {
    allClassesLink.style.display = "block";
  }
  else {
    allClassesLink.style.display = "none";
  }
  //-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a name="skip.navbar.top">
<!--   -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<div class="subTitle">freemarker.ext.servlet</div>
<h2 title="Class FreemarkerServlet" class="title">Class FreemarkerServlet</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li>java.lang.Object</li>
<li>
<ul class="inheritance">
<li>javax.servlet.GenericServlet</li>
<li>
<ul class="inheritance">
<li>javax.servlet.http.HttpServlet</li>
<li>
<ul class="inheritance">
<li>freemarker.ext.servlet.FreemarkerServlet</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>All Implemented Interfaces:</dt>
<dd>java.io.Serializable, javax.servlet.Servlet, javax.servlet.ServletConfig</dd>
</dl>
<hr>
<br>
<pre>public class <span class="typeNameLabel">FreemarkerServlet</span>
extends javax.servlet.http.HttpServlet</pre>
<div class="block">FreeMarker MVC View servlet that can be used similarly to JSP views. That is, you put the variables to expose into
 HTTP servlet request attributes, then forward to an FTL file (instead of to a JSP file) that's mapped to this servet
 (usually via the <code>&lt;url-pattern&gt;*.ftl&lt;url-pattern&gt;</code>). See web.xml example (and more) in the FreeMarker Manual!
 
 
 <p>
 <b>Main features</b>
 </p>

 
 <ul>
 
 <li>It makes all request, request parameters, session, and servlet context attributes available to templates through
 <code>Request</code>, <code>RequestParameters</code>, <code>Session</code>, and <code>Application</code> variables.
 
 <li>The scope variables are also available via automatic scope discovery. That is, writing
 <code>Application.attrName</code>, <code>Session.attrName</code>, <code>Request.attrName</code> is not mandatory;
 it's enough to write <code>attrName</code>, and if no such variable was created in the template, it will search the
 variable in <code>Request</code>, and then in <code>Session</code>, and finally in <code>Application</code>.
 
 <li>It creates a variable with name <code>JspTaglibs</code> that can be used to load JSP taglibs. For example:<br>
 <code>&lt;#assign dt=JspTaglibs["http://displaytag.sf.net"]&gt;</code> or
 <code>&lt;#assign tiles=JspTaglibs["/WEB-INF/struts-tiles.tld"]&gt;</code>.
 
 <li>A custom directive named <code>include_page</code> allows you to include the output of another servlet resource from
 your servlet container, just as if you used <code>ServletRequest.getRequestDispatcher(path).include()</code>: <code>&lt;@include_page path="/myWebapp/somePage.jsp"/&gt;</code>. You can also pass parameters to the newly included page by passing a
 hash named <code>params</code>:
 <code>&lt;@include_page path="/myWebapp/somePage.jsp" params= lang: "en", q="5"}/&gt;</code>. By default, the request
 parameters of the original request (the one being processed by FreemarkerServlet) are also inherited by the include.
 You can explicitly control this inheritance using the <code>inherit_params</code> parameter:
 <code>&lt;@include_page path="/myWebapp/somePage.jsp" params={lang: "en", q="5"} inherit_params=false/&gt;</code>.
 
 </ul>
 
 
 <p>
 <b>Supported <code>init-param</code>-s</b>
 </p>
 
 
 <ul>
 
 <li><strong><a href="../../../freemarker/ext/servlet/FreemarkerServlet.html#INIT_PARAM_TEMPLATE_PATH">"TemplatePath"</a></strong>: Specifies the location of the template files. By default,
 this is interpreted as a <code>ServletContext</code> resource path, which practically means a web application directory
 relative path, or a <code>WEB-INF/lib/*.jar/META-INF/resources</code>-relative path (note that this last haven't always
 worked before FreeMarker 2.3.23).<br>
 Alternatively, you can prepend it with <tt>file://</tt> to indicate a literal path in the file system (i.e.
 <tt>file:///var/www/project/templates/</tt>). Note that three slashes were used to specify an absolute path.<br>
 Also, you can prepend it with <code>classpath:</code>, like in <tt>classpath:com/example/templates</tt>, to indicate that
 you want to load templates from the specified package accessible through the Thread Context Class Loader of the
 thread that initializes this servlet.<br>
 If <code>incompatible_improvements</code> is set to 2.3.22 (or higher), you can specify multiple comma separated locations
 inside square brackets, like: <code>[ WEB-INF/templates, classpath:com/example/myapp/templates ]</code>. This internally
 creates a <a href="../../../freemarker/cache/MultiTemplateLoader.html" title="class in freemarker.cache"><code>MultiTemplateLoader</code></a>. Note again that if <code>incompatible_improvements</code> isn't set to at least
 2.3.22, the initial <code>[</code> has no special meaning, and so this feature is unavailable.<br>
 Any of the above can have a <code>?setting(name=value, ...)</code> postfix to set the JavaBeans properties of the
 <a href="../../../freemarker/cache/TemplateLoader.html" title="interface in freemarker.cache"><code>TemplateLoader</code></a> created. For example,
 <code>/templates?settings(attemptFileAccess=false, URLConnectionUsesCaches=true)</code> calls
 <a href="../../../freemarker/cache/WebappTemplateLoader.html#setAttemptFileAccess-boolean-"><code>WebappTemplateLoader.setAttemptFileAccess(boolean)</code></a> and
 <a href="../../../freemarker/cache/WebappTemplateLoader.html#setURLConnectionUsesCaches-java.lang.Boolean-"><code>WebappTemplateLoader.setURLConnectionUsesCaches(Boolean)</code></a> to tune the <a href="../../../freemarker/cache/WebappTemplateLoader.html" title="class in freemarker.cache"><code>WebappTemplateLoader</code></a>. For
 backward compatibility (not recommended!), you can use the <code>class://</code> prefix, like in
 <tt>class://com/example/templates</tt> format, which is similar to <code>classpath:</code>, except that it uses the
 defining class loader of this servlet's class. This can cause template-not-found errors, if that class (in
 <code>freemarer.jar</code> usually) is not local to the web application, while the templates are.<br>
 The default value is <tt>class://</tt> (that is, the root of the class hierarchy), which is not recommended anymore,
 and should be overwritten with the <a href="../../../freemarker/ext/servlet/FreemarkerServlet.html#INIT_PARAM_TEMPLATE_PATH">"TemplatePath"</a> init-param.</li>
 
 <li><strong><a href="../../../freemarker/ext/servlet/FreemarkerServlet.html#INIT_PARAM_NO_CACHE">"NoCache"</a></strong>: If set to <code>true</code>, generates headers in the response that
 advise the HTTP client not to cache the returned page. If <code>false</code>, the HTTP response is not modified for this
 purpose. The default is <code>false</code>.</li>
 
 <li><strong><a href="../../../freemarker/ext/servlet/FreemarkerServlet.html#INIT_PARAM_CONTENT_TYPE">"ContentType"</a></strong>: The Content-type HTTP header value used in the HTTP responses
 when nothing else specifies the MIME type. The things that may specify the MIME type (and hence this init-param is
 ignored), starting with the highest precedence, are:
 <ol>
 <li>If the <a href="../../../freemarker/ext/servlet/FreemarkerServlet.html#INIT_PARAM_OVERRIDE_RESPONSE_CONTENT_TYPE">"OverrideResponseContentType"</a> init-param is <a href="../../../freemarker/ext/servlet/FreemarkerServlet.html#INIT_PARAM_VALUE_NEVER">"never"</a> (the
 default is <a href="../../../freemarker/ext/servlet/FreemarkerServlet.html#INIT_PARAM_VALUE_ALWAYS">"always"</a>), then the value of <code>ServletResponse.getContentType()</code> is used
 if that's non-<code>null</code>.
 <li>The template's <tt>content_type</tt> custom attribute, usually specified via the <tt>attributes</tt> parameter of
 the <tt>&lt;#ftl&gt;</tt> directive. This is a legacy feature, deprecated by the <a href="../../../freemarker/core/OutputFormat.html" title="class in freemarker.core"><code>OutputFormat</code></a> mechanism.
 <li>The <a href="../../../freemarker/template/Template.html#getOutputFormat--">output format of the template</a>, if that has non-<code>null</code> MIME-type
 (<a href="../../../freemarker/core/OutputFormat.html#getMimeType--"><code>OutputFormat.getMimeType()</code></a>). When a template has no output format specified, <a href="../../../freemarker/core/UndefinedOutputFormat.html" title="class in freemarker.core"><code>UndefinedOutputFormat</code></a>
 is used, which has <code>null</code> MIME-type. (The output format of a template is deduced from <a href="../../../freemarker/template/Configuration.html" title="class in freemarker.template"><code>Configuration</code></a>
 settings, or can be specified directly in the template, like <code>&lt;#ftl outputFormat="HTML"&gt;</code>. See the FreeMarker
 Manual for more about the output format mechanism. Note that setting an output format may turns on auto-escaping, so
 it's not just about MIME types.)
 <li>If the <a href="../../../freemarker/ext/servlet/FreemarkerServlet.html#INIT_PARAM_OVERRIDE_RESPONSE_CONTENT_TYPE">"OverrideResponseContentType"</a> init-param is not <a href="../../../freemarker/ext/servlet/FreemarkerServlet.html#INIT_PARAM_VALUE_ALWAYS">"always"</a>
 (the default is <a href="../../../freemarker/ext/servlet/FreemarkerServlet.html#INIT_PARAM_VALUE_ALWAYS">"always"</a>), then the value of <code>ServletResponse.getContentType()</code> is
 used if that's non-<code>null</code>.
 </ol>
 If none of the above gives a MIME type, then this init-param does. Defaults to <tt>"text/html"</tt>. If and only if
 the <a href="../../../freemarker/ext/servlet/FreemarkerServlet.html#INIT_PARAM_RESPONSE_CHARACTER_ENCODING">"ResponseCharacterEncoding"</a> init-param is set to <a href="../../../freemarker/ext/servlet/FreemarkerServlet.html#INIT_PARAM_VALUE_LEGACY">"legacy"</a> (which is
 the default of it), the content type may include the charset (as in <tt>"text/html; charset=utf-8"</tt>), in which
 case that specifies the actual charset of the output. If the the <a href="../../../freemarker/ext/servlet/FreemarkerServlet.html#INIT_PARAM_RESPONSE_CHARACTER_ENCODING">"ResponseCharacterEncoding"</a>
 init-param is not set to <a href="../../../freemarker/ext/servlet/FreemarkerServlet.html#INIT_PARAM_VALUE_LEGACY">"legacy"</a>, then specifying the charset in the
 <a href="../../../freemarker/ext/servlet/FreemarkerServlet.html#INIT_PARAM_CONTENT_TYPE">"ContentType"</a> init-param is not allowed, and will cause servlet initialization error.</li>

 <li><strong><a href="../../../freemarker/ext/servlet/FreemarkerServlet.html#INIT_PARAM_OVERRIDE_RESPONSE_CONTENT_TYPE">"OverrideResponseContentType"</a></strong> (since 2.3.24): Specifies when we should
 override the <code>contentType</code> that might be already set (i.e., non-<code>null</code>) in the
 <code>HttpServletResponse</code>. The default is <a href="../../../freemarker/ext/servlet/FreemarkerServlet.html#INIT_PARAM_VALUE_ALWAYS">"always"</a>, which means that we always set the
 content type. Another possible value is <a href="../../../freemarker/ext/servlet/FreemarkerServlet.html#INIT_PARAM_VALUE_NEVER">"never"</a>, which means that we don't set the content
 type in the response, unless <code>ServletResponse.getContentType()</code> is <code>null</code>. The third possible value
 is <a href="../../../freemarker/ext/servlet/FreemarkerServlet.html#INIT_PARAM_VALUE_WHEN_TEMPLATE_HAS_MIME_TYPE">"whenTemplateHasMimeType"</a>, which means that we only set the content type if either
 the template has an associated <a href="../../../freemarker/core/OutputFormat.html" title="class in freemarker.core"><code>OutputFormat</code></a> with non-<code>null</code> <a href="../../../freemarker/core/OutputFormat.html#getMimeType--"><code>OutputFormat.getMimeType()</code></a>, or it
 has a custom attribute with name <tt>content_type</tt>, or <code>ServletResponse.getContentType()</code> is
 <code>null</code>. Setting this init-param allows you to specify the content type before forwarding to
 <a href="../../../freemarker/ext/servlet/FreemarkerServlet.html" title="class in freemarker.ext.servlet"><code>FreemarkerServlet</code></a>.</li>

 <li><strong><a href="../../../freemarker/ext/servlet/FreemarkerServlet.html#INIT_PARAM_OVERRIDE_RESPONSE_LOCALE">"OverrideResponseLocale"</a></strong> (since 2.3.24): Specifies if we should override
 the template <code>locale</code> that might be already set (i.e., non-<code>null</code>) in the <code>HttpServletRequest</code>. The
 default is <a href="../../../freemarker/ext/servlet/FreemarkerServlet.html#INIT_PARAM_VALUE_ALWAYS">"always"</a>, which means that we always deduce the template <code>locale</code> by
 invoking <a href="../../../freemarker/ext/servlet/FreemarkerServlet.html#deduceLocale-java.lang.String-javax.servlet.http.HttpServletRequest-javax.servlet.http.HttpServletResponse-"><code>deduceLocale(String, HttpServletRequest, HttpServletResponse)</code></a>. Another possible value is
 <a href="../../../freemarker/ext/servlet/FreemarkerServlet.html#INIT_PARAM_VALUE_NEVER">"never"</a>, which means that we don't deduce the template <code>locale</code>, unless
 <code>ServletRequest.getLocale()</code> is <code>null</code>.
 
 <li><strong><a href="../../../freemarker/ext/servlet/FreemarkerServlet.html#INIT_PARAM_RESPONSE_CHARACTER_ENCODING">"ResponseCharacterEncoding"</a></strong> (since 2.3.24): Specifies how the
 <code>HttpServletResponse</code> "character encoding" (as in <code>ServletResponse.setCharacterEncoding(String)</code>)
 will be deduced. The possible modes are:
 <ul>
 <li><a href="../../../freemarker/ext/servlet/FreemarkerServlet.html#INIT_PARAM_VALUE_LEGACY">"legacy"</a>: This is the default for backward compatibility; in new applications, use
 <a href="../../../freemarker/ext/servlet/FreemarkerServlet.html#INIT_PARAM_VALUE_FROM_TEMPLATE">"fromTemplate"</a> (or some of the other options) instead. <a href="../../../freemarker/ext/servlet/FreemarkerServlet.html#INIT_PARAM_VALUE_LEGACY">"legacy"</a>
 will use the charset of the template file to set the charset of the servlet response. Except, if the
 <a href="../../../freemarker/ext/servlet/FreemarkerServlet.html#INIT_PARAM_CONTENT_TYPE">"ContentType"</a> init-param contains a charset, it will use that instead. A quirk of this legacy
 mode is that it's not aware of the <a href="../../../freemarker/core/Configurable.html#getOutputEncoding--"><code>Configurable.getOutputEncoding()</code></a> FreeMarker setting, and thus never reads
 or writes it (though very few applications utilize that setting anyway). Also, it sets the charset of the servlet
 response by adding it to the response content type via calling <code>ServletResponse.setContentType(String)</code> (as
 that was the only way before Servlet 2.4), not via the more modern
 <code>ServletResponse.setCharacterEncoding(String)</code> method. Note that the charset of a template usually comes
 from <a href="../../../freemarker/template/Configuration.html#getDefaultEncoding--"><code>Configuration.getDefaultEncoding()</code></a> (i.e., from the <code>default_encoding</code> FreeMarker setting),
 occasionally from <a href="../../../freemarker/template/Configuration.html#getEncoding-java.util.Locale-"><code>Configuration.getEncoding(Locale)</code></a> (when FreeMarker was configured to use different charsets
 depending on the locale) or even more rarely from <a href="../../../freemarker/template/Configuration.html#getTemplateConfigurations--"><code>Configuration.getTemplateConfigurations()</code></a> (when FreeMarker was
 configured to use a specific charset for certain templates).
 <li><a href="../../../freemarker/ext/servlet/FreemarkerServlet.html#INIT_PARAM_VALUE_FROM_TEMPLATE">"fromTemplate"</a>: This should be used in most applications, but it's not the default for
 backward compatibility. It reads the <a href="../../../freemarker/core/Configurable.html#getOutputEncoding--"><code>Configurable.getOutputEncoding()</code></a> setting of the template (note that the
 template usually just inherits that from the <a href="../../../freemarker/template/Configuration.html" title="class in freemarker.template"><code>Configuration</code></a>), and if that's not set, then reads the source
 charset of the template, just like <a href="../../../freemarker/ext/servlet/FreemarkerServlet.html#INIT_PARAM_VALUE_LEGACY">"legacy"</a>. Then it passes the charset acquired this way to
 <code>ServletResponse.setCharacterEncoding(String)</code> and <a href="../../../freemarker/core/Environment.html#setOutputEncoding-java.lang.String-"><code>Environment.setOutputEncoding(String)</code></a>. (It
 doesn't call the legacy <code>ServletResponse.setContentType(String)</code> API to set the charset.) (Note that if the
 template has a <code>content_type</code> template attribute (which is deprecated) that specifies a charset, it will be
 used as the output charset of that template.)
 <li><a href="../../../freemarker/ext/servlet/FreemarkerServlet.html#INIT_PARAM_VALUE_DO_NOT_SET">"doNotSet"</a>: <a href="../../../freemarker/ext/servlet/FreemarkerServlet.html" title="class in freemarker.ext.servlet"><code>FreemarkerServlet</code></a> will not set the <code>HttpServletResponse</code>
 "character encoding". It will still call <a href="../../../freemarker/core/Environment.html#setOutputEncoding-java.lang.String-"><code>Environment.setOutputEncoding(String)</code></a>, so that the running template
 will be aware of the charset used for the output.
 <li><a href="../../../freemarker/ext/servlet/FreemarkerServlet.html#INIT_PARAM_VALUE_FORCE_PREFIX">"force "</a> + charset name, for example <code>force UTF-8</code>: The output charset will
 be the one specified after "force" + space, regardless of everything. The charset specified this way is passed to
 <code>ServletResponse.setCharacterEncoding(String)</code> and <a href="../../../freemarker/core/Environment.html#setOutputEncoding-java.lang.String-"><code>Environment.setOutputEncoding(String)</code></a>. If the
 charset name is not recognized by Java, the servlet initialization will fail.
 </ul>

 <li><strong><a href="../../../freemarker/ext/servlet/FreemarkerServlet.html#INIT_PARAM_BUFFER_SIZE">"BufferSize"</a></strong>: Sets the size of the output buffer in bytes, or if "KB" or
 "MB" is written after the number (like <code>&lt;param-value&gt;256 KB&lt;/param-value&gt;</code>) then in kilobytes or megabytes.
 This corresponds to <code>ServletResponse.setBufferSize(int)</code>. If the <code>HttpServletResponse</code> state doesn't
 allow changing the buffer size, it will silently do nothing. If this init param isn't specified, then the buffer size
 is not set by <a href="../../../freemarker/ext/servlet/FreemarkerServlet.html" title="class in freemarker.ext.servlet"><code>FreemarkerServlet</code></a> in the HTTP response, which usually means that the default buffer size of the
 servlet container will be used.</li>

 <li><strong><a href="../../../freemarker/ext/servlet/FreemarkerServlet.html#INIT_PARAM_EXCEPTION_ON_MISSING_TEMPLATE">"ExceptionOnMissingTemplate"</a></strong> (since 2.3.22): If <code>false</code> (default,
 but not recommended), if a template is requested that's missing, this servlet responses with a HTTP 404 "Not found"
 error, and only logs the problem with debug level. If <code>true</code> (recommended), the servlet will log the issue with
 error level, then throws an exception that bubbles up to the servlet container, which usually then creates a HTTP 500
 "Internal server error" response (and maybe logs the event into the container log). See "Error handling" later for
 more!</li>
 
 <li><strong><a href="../../../freemarker/ext/servlet/FreemarkerServlet.html#INIT_PARAM_META_INF_TLD_LOCATIONS">"MetaInfTldSources"</a></strong> (since 2.3.22): Comma separated list of items, each
 is either <a href="../../../freemarker/ext/servlet/FreemarkerServlet.html#META_INF_TLD_LOCATION_WEB_INF_PER_LIB_JARS">"webInfPerLibJars"</a>, or <a href="../../../freemarker/ext/servlet/FreemarkerServlet.html#META_INF_TLD_LOCATION_CLASSPATH">"classpath"</a>
 optionally followed by colon and a regular expression, or <a href="../../../freemarker/ext/servlet/FreemarkerServlet.html#META_INF_TLD_LOCATION_CLEAR">"clear"</a>. For example <code>&lt;param-value&gt;classpath:.*myoverride.*\.jar$, webInfPerLibJars, classpath:.*taglib.*\.jar$&lt;/param-value&gt;</code>, or <code>&lt;param-value&gt;classpath&lt;/param-value&gt;</code>. (Whitespace around the commas and list items will be ignored.) See
 <a href="../../../freemarker/ext/jsp/TaglibFactory.html#setMetaInfTldSources-java.util.List-"><code>TaglibFactory.setMetaInfTldSources(List)</code></a> for more information. Defaults to a list that contains
 <a href="../../../freemarker/ext/servlet/FreemarkerServlet.html#META_INF_TLD_LOCATION_WEB_INF_PER_LIB_JARS">"webInfPerLibJars"</a> only (can be overridden with
 <a href="../../../freemarker/ext/servlet/FreemarkerServlet.html#createDefaultMetaInfTldSources--"><code>createDefaultMetaInfTldSources()</code></a>). Note that this can be also specified with the
 <a href="../../../freemarker/ext/servlet/FreemarkerServlet.html#SYSTEM_PROPERTY_META_INF_TLD_SOURCES">"org.freemarker.jsp.metaInfTldSources"</a> system property. If both the init-param and the system property
 exists, the sources listed in the system property will be added after those specified by the init-param. This is
 where the special entry, <a href="../../../freemarker/ext/servlet/FreemarkerServlet.html#META_INF_TLD_LOCATION_CLEAR">"clear"</a> comes handy, as it will remove all previous list
 items. (An intended usage of the system property is setting it to <code>clear, classpath</code> in the Eclipse run
 configuration if you are running the application without putting the dependency jar-s into <code>WEB-INF/lib</code>.)
 Also, note that further <code>classpath:&lt;pattern&gt;</code> items are added automatically at the end of this list based on
 Jetty's <code>"org.eclipse.jetty.server.webapp.ContainerIncludeJarPattern"</code> servlet context attribute.</li>
 
 <li><strong><a href="../../../freemarker/ext/servlet/FreemarkerServlet.html#INIT_PARAM_CLASSPATH_TLDS">"ClasspathTlds"</a></strong> (since 2.3.22): Comma separated list of paths; see
 <a href="../../../freemarker/ext/jsp/TaglibFactory.html#setClasspathTlds-java.util.List-"><code>TaglibFactory.setClasspathTlds(List)</code></a>. Whitespace around the list items will be ignored. Defaults to no paths
 (can be overidden with <a href="../../../freemarker/ext/servlet/FreemarkerServlet.html#createDefaultClassPathTlds--"><code>createDefaultClassPathTlds()</code></a>). Note that this can also be specified with the
 <a href="../../../freemarker/ext/servlet/FreemarkerServlet.html#SYSTEM_PROPERTY_CLASSPATH_TLDS">"org.freemarker.jsp.classpathTlds"</a> system property. If both the init-param and the system property exists, the
 items listed in system property will be added after those specified by the init-param.</li>
 
 <li><strong>"Debug"</strong>: Deprecated, has no effect since 2.3.22. (Earlier it has enabled/disabled sending
 debug-level log messages to the servlet container log, but this servlet doesn't log debug level messages into the
 servlet container log anymore, only into the FreeMarker log.)</li>
 
 <li>The following init-params are supported only for backward compatibility, and their usage is discouraged:
 <code>TemplateUpdateInterval</code>, <code>DefaultEncoding</code>, <code>ObjectWrapper</code>, <code>TemplateExceptionHandler</code>.
 Instead, use init-params with the setting names documented at <a href="../../../freemarker/template/Configuration.html#setSetting-java.lang.String-java.lang.String-"><code>Configuration.setSetting(String, String)</code></a>, such
 as <code>object_wrapper</code>.
 
 <li><strong>Any other init-params</strong> will be interpreted as <a href="../../../freemarker/template/Configuration.html" title="class in freemarker.template"><code>Configuration</code></a>-level FreeMarker setting. See
 the possible names and values at <a href="../../../freemarker/template/Configuration.html#setSetting-java.lang.String-java.lang.String-"><code>Configuration.setSetting(String, String)</code></a>. Note that these init-param names
 are starting with lower-case letter (upper-case init-params are used for FreemarkerSerlvet settings).</li>
 
 </ul>
 
 
 <p>
 <b>Error handling</b>
 </p>
 
 
 <p>
 Notes:
 </p>
 
 <ul>

 <li>Logging below, where not said otherwise, always refers to logging with FreeMarker's logging facility (see
 <a href="../../../freemarker/log/Logger.html" title="class in freemarker.log"><code>Logger</code></a>), under the "freemarker.servlet" category.</li>
 <li>Throwing a <code>ServletException</code> to the servlet container is mentioned at a few places below. That in practice
 usually means HTTP 500 "Internal server error" response, and maybe a log entry in the servlet container's log.</li>
 </ul>

 <p>
 Errors types:
 </p>
 
 <ul>
 
 <li>If the servlet initialization fails, the servlet won't be started as usual. The cause is usually logged with
 error level. When it isn't, check the servlet container's log.
 
 <li>If the requested template doesn't exist, by default the servlet returns a HTTP 404 "Not found" response, and logs
 the problem with <em>debug</em> level. Responding with HTTP 404 is how JSP behaves, but it's actually not a
 recommended setting anymore. By setting <a href="../../../freemarker/ext/servlet/FreemarkerServlet.html#INIT_PARAM_EXCEPTION_ON_MISSING_TEMPLATE">"ExceptionOnMissingTemplate"</a> init-param to <code>true</code>
 (recommended), it will instead log the problem with error level, then the servlet throws <code>ServletException</code> to
 the servlet container (with the proper cause exception). After all, if the visited URL had an associated "action" but
 the template behind it is missing, that's an internal server error, not a wrong URL.</li>
 
 <li>If the template contains parsing errors, it will log it with error level, then the servlet throws
 <code>ServletException</code> to the servlet container (with the proper cause exception).</li>
 
 <li>If the template throws exception during its execution, and the value of the <code>template_exception_handler</code>
 init-param is <code>rethrow</code> (recommended), it will log it with error level and then the servlet throws
 <code>ServletException</code> to the servlet container (with the proper cause exception). But beware, the default value of
 the <code>template_exception_handler</code> init-param is <code>html_debug</code>, which is for development only! Set it to
 <code>rethrow</code> for production. The <code>html_debug</code> (and <code>debug</code>) handlers will print error details to the
 page and then commit the HTTP response with response code 200 "OK", thus, the server wont be able roll back the
 response and send back an HTTP 500 page. This is so that the template developers will see the error without digging
 the logs.
 
 </ul></div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../serialized-form.html#freemarker.ext.servlet.FreemarkerServlet">Serialized Form</a></dd>
</dl>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- =========== FIELD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="field.summary">
<!--   -->
</a>
<h3>Field Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Field Summary table, listing fields, and an explanation">
<caption><span>Fields</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Field and Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../freemarker/ext/servlet/FreemarkerServlet.html#debug">debug</a></span></code>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
<div class="block"><span class="deprecationComment">Not used anymore; to enable/disable debug logging, just set the logging level of the logging library
             used by <a href="../../../freemarker/log/Logger.html" title="class in freemarker.log"><code>Logger</code></a>.</span></div>
</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../freemarker/ext/servlet/FreemarkerServlet.html#INIT_PARAM_BUFFER_SIZE">INIT_PARAM_BUFFER_SIZE</a></span></code>
<div class="block">Init-param name - see the <a href="../../../freemarker/ext/servlet/FreemarkerServlet.html" title="class in freemarker.ext.servlet"><code>FreemarkerServlet</code></a> class documentation about the init-params.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../freemarker/ext/servlet/FreemarkerServlet.html#INIT_PARAM_CLASSPATH_TLDS">INIT_PARAM_CLASSPATH_TLDS</a></span></code>
<div class="block">Init-param name - see the <a href="../../../freemarker/ext/servlet/FreemarkerServlet.html" title="class in freemarker.ext.servlet"><code>FreemarkerServlet</code></a> class documentation about the init-params.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../freemarker/ext/servlet/FreemarkerServlet.html#INIT_PARAM_CONTENT_TYPE">INIT_PARAM_CONTENT_TYPE</a></span></code>
<div class="block">Init-param name - see the <a href="../../../freemarker/ext/servlet/FreemarkerServlet.html" title="class in freemarker.ext.servlet"><code>FreemarkerServlet</code></a> class documentation about the init-params.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../freemarker/ext/servlet/FreemarkerServlet.html#INIT_PARAM_EXCEPTION_ON_MISSING_TEMPLATE">INIT_PARAM_EXCEPTION_ON_MISSING_TEMPLATE</a></span></code>
<div class="block">Init-param name - see the <a href="../../../freemarker/ext/servlet/FreemarkerServlet.html" title="class in freemarker.ext.servlet"><code>FreemarkerServlet</code></a> class documentation about the init-params.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../freemarker/ext/servlet/FreemarkerServlet.html#INIT_PARAM_META_INF_TLD_LOCATIONS">INIT_PARAM_META_INF_TLD_LOCATIONS</a></span></code>
<div class="block">Init-param name - see the <a href="../../../freemarker/ext/servlet/FreemarkerServlet.html" title="class in freemarker.ext.servlet"><code>FreemarkerServlet</code></a> class documentation about the init-params.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../freemarker/ext/servlet/FreemarkerServlet.html#INIT_PARAM_NO_CACHE">INIT_PARAM_NO_CACHE</a></span></code>
<div class="block">Init-param name - see the <a href="../../../freemarker/ext/servlet/FreemarkerServlet.html" title="class in freemarker.ext.servlet"><code>FreemarkerServlet</code></a> class documentation about the init-params.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../freemarker/ext/servlet/FreemarkerServlet.html#INIT_PARAM_OVERRIDE_RESPONSE_CONTENT_TYPE">INIT_PARAM_OVERRIDE_RESPONSE_CONTENT_TYPE</a></span></code>
<div class="block">Init-param name - see the <a href="../../../freemarker/ext/servlet/FreemarkerServlet.html" title="class in freemarker.ext.servlet"><code>FreemarkerServlet</code></a> class documentation about the init-params.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../freemarker/ext/servlet/FreemarkerServlet.html#INIT_PARAM_OVERRIDE_RESPONSE_LOCALE">INIT_PARAM_OVERRIDE_RESPONSE_LOCALE</a></span></code>
<div class="block">Init-param name - see the <a href="../../../freemarker/ext/servlet/FreemarkerServlet.html" title="class in freemarker.ext.servlet"><code>FreemarkerServlet</code></a> class documentation about the init-params.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../freemarker/ext/servlet/FreemarkerServlet.html#INIT_PARAM_RESPONSE_CHARACTER_ENCODING">INIT_PARAM_RESPONSE_CHARACTER_ENCODING</a></span></code>
<div class="block">Init-param name - see the <a href="../../../freemarker/ext/servlet/FreemarkerServlet.html" title="class in freemarker.ext.servlet"><code>FreemarkerServlet</code></a> class documentation about the init-params.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../freemarker/ext/servlet/FreemarkerServlet.html#INIT_PARAM_TEMPLATE_PATH">INIT_PARAM_TEMPLATE_PATH</a></span></code>
<div class="block">Init-param name - see the <a href="../../../freemarker/ext/servlet/FreemarkerServlet.html" title="class in freemarker.ext.servlet"><code>FreemarkerServlet</code></a> class documentation about the init-params.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../freemarker/ext/servlet/FreemarkerServlet.html#INIT_PARAM_VALUE_ALWAYS">INIT_PARAM_VALUE_ALWAYS</a></span></code>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../freemarker/ext/servlet/FreemarkerServlet.html#INIT_PARAM_VALUE_DO_NOT_SET">INIT_PARAM_VALUE_DO_NOT_SET</a></span></code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../freemarker/ext/servlet/FreemarkerServlet.html#INIT_PARAM_VALUE_FORCE_PREFIX">INIT_PARAM_VALUE_FORCE_PREFIX</a></span></code>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../freemarker/ext/servlet/FreemarkerServlet.html#INIT_PARAM_VALUE_FROM_TEMPLATE">INIT_PARAM_VALUE_FROM_TEMPLATE</a></span></code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../freemarker/ext/servlet/FreemarkerServlet.html#INIT_PARAM_VALUE_LEGACY">INIT_PARAM_VALUE_LEGACY</a></span></code>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../freemarker/ext/servlet/FreemarkerServlet.html#INIT_PARAM_VALUE_NEVER">INIT_PARAM_VALUE_NEVER</a></span></code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../freemarker/ext/servlet/FreemarkerServlet.html#INIT_PARAM_VALUE_WHEN_TEMPLATE_HAS_MIME_TYPE">INIT_PARAM_VALUE_WHEN_TEMPLATE_HAS_MIME_TYPE</a></span></code>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../freemarker/ext/servlet/FreemarkerServlet.html#KEY_APPLICATION">KEY_APPLICATION</a></span></code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../freemarker/ext/servlet/FreemarkerServlet.html#KEY_APPLICATION_PRIVATE">KEY_APPLICATION_PRIVATE</a></span></code>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../freemarker/ext/servlet/FreemarkerServlet.html#KEY_INCLUDE">KEY_INCLUDE</a></span></code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../freemarker/ext/servlet/FreemarkerServlet.html#KEY_JSP_TAGLIBS">KEY_JSP_TAGLIBS</a></span></code>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../freemarker/ext/servlet/FreemarkerServlet.html#KEY_REQUEST">KEY_REQUEST</a></span></code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../freemarker/ext/servlet/FreemarkerServlet.html#KEY_REQUEST_PARAMETERS">KEY_REQUEST_PARAMETERS</a></span></code>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../freemarker/ext/servlet/FreemarkerServlet.html#KEY_REQUEST_PRIVATE">KEY_REQUEST_PRIVATE</a></span></code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../freemarker/ext/servlet/FreemarkerServlet.html#KEY_SESSION">KEY_SESSION</a></span></code>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../freemarker/ext/servlet/FreemarkerServlet.html#META_INF_TLD_LOCATION_CLASSPATH">META_INF_TLD_LOCATION_CLASSPATH</a></span></code>
<div class="block">Used as part of the value of the <a href="../../../freemarker/ext/servlet/FreemarkerServlet.html#INIT_PARAM_META_INF_TLD_LOCATIONS">"MetaInfTldSources"</a> init-param.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../freemarker/ext/servlet/FreemarkerServlet.html#META_INF_TLD_LOCATION_CLEAR">META_INF_TLD_LOCATION_CLEAR</a></span></code>
<div class="block">Used as part of the value of the <a href="../../../freemarker/ext/servlet/FreemarkerServlet.html#INIT_PARAM_META_INF_TLD_LOCATIONS">"MetaInfTldSources"</a> init-param.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../freemarker/ext/servlet/FreemarkerServlet.html#META_INF_TLD_LOCATION_WEB_INF_PER_LIB_JARS">META_INF_TLD_LOCATION_WEB_INF_PER_LIB_JARS</a></span></code>
<div class="block">Used as part of the value of the <a href="../../../freemarker/ext/servlet/FreemarkerServlet.html#INIT_PARAM_META_INF_TLD_LOCATIONS">"MetaInfTldSources"</a> init-param.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../freemarker/ext/servlet/FreemarkerServlet.html#serialVersionUID">serialVersionUID</a></span></code>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../freemarker/ext/servlet/FreemarkerServlet.html#SYSTEM_PROPERTY_CLASSPATH_TLDS">SYSTEM_PROPERTY_CLASSPATH_TLDS</a></span></code>
<div class="block">When set, the items defined in it will be added after those coming from the
 <a href="../../../freemarker/ext/servlet/FreemarkerServlet.html#INIT_PARAM_CLASSPATH_TLDS">"ClasspathTlds"</a> init-param.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../freemarker/ext/servlet/FreemarkerServlet.html#SYSTEM_PROPERTY_META_INF_TLD_SOURCES">SYSTEM_PROPERTY_META_INF_TLD_SOURCES</a></span></code>
<div class="block">When set, the items defined in it will be added after those coming from the
 <a href="../../../freemarker/ext/servlet/FreemarkerServlet.html#INIT_PARAM_META_INF_TLD_LOCATIONS">"MetaInfTldSources"</a> init-param.</div>
</td>
</tr>
</table>
</li>
</ul>
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor.summary">
<!--   -->
</a>
<h3>Constructor Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colOne" scope="col">Constructor and Description</th>
</tr>
<tr class="altColor">
<td class="colOne"><code><span class="memberNameLink"><a href="../../../freemarker/ext/servlet/FreemarkerServlet.html#FreemarkerServlet--">FreemarkerServlet</a></span>()</code>&nbsp;</td>
</tr>
</table>
</li>
</ul>
<!-- ========== METHOD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="method.summary">
<!--   -->
</a>
<h3>Method Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t6" class="tableTab"><span><a href="javascript:show(32);">Deprecated Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Method and Description</th>
</tr>
<tr id="i0" class="altColor">
<td class="colFirst"><code>protected <a href="../../../freemarker/template/Configuration.html" title="class in freemarker.template">Configuration</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../freemarker/ext/servlet/FreemarkerServlet.html#createConfiguration--">createConfiguration</a></span>()</code>
<div class="block">Creates the FreeMarker <a href="../../../freemarker/template/Configuration.html" title="class in freemarker.template"><code>Configuration</code></a> singleton and (when overidden) maybe sets its defaults.</div>
</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code>protected java.util.List</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../freemarker/ext/servlet/FreemarkerServlet.html#createDefaultClassPathTlds--">createDefaultClassPathTlds</a></span>()</code>
<div class="block">Creates the default of the <a href="../../../freemarker/ext/servlet/FreemarkerServlet.html#INIT_PARAM_CLASSPATH_TLDS">"ClasspathTlds"</a> init-param; if this init-param is specified, it
 will be appended <em>after</em> the default, not replace it.</div>
</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code>protected java.util.List</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../freemarker/ext/servlet/FreemarkerServlet.html#createDefaultMetaInfTldSources--">createDefaultMetaInfTldSources</a></span>()</code>
<div class="block">Creates the default of the <a href="../../../freemarker/ext/servlet/FreemarkerServlet.html#INIT_PARAM_META_INF_TLD_LOCATIONS">"MetaInfTldSources"</a> init-param; if this init-param is
 specified, it will completelly <em>replace</em> the default value.</div>
</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code>protected <a href="../../../freemarker/template/ObjectWrapper.html" title="interface in freemarker.template">ObjectWrapper</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../freemarker/ext/servlet/FreemarkerServlet.html#createDefaultObjectWrapper--">createDefaultObjectWrapper</a></span>()</code>
<div class="block">Override this to specify what the default <a href="../../../freemarker/template/ObjectWrapper.html" title="interface in freemarker.template"><code>ObjectWrapper</code></a> will be when the
 <code>object_wrapper</code> Servlet init-param wasn't specified.</div>
</td>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><code>protected <a href="../../../freemarker/template/TemplateModel.html" title="interface in freemarker.template">TemplateModel</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../freemarker/ext/servlet/FreemarkerServlet.html#createModel-freemarker.template.ObjectWrapper-javax.servlet.ServletContext-javax.servlet.http.HttpServletRequest-javax.servlet.http.HttpServletResponse-">createModel</a></span>(<a href="../../../freemarker/template/ObjectWrapper.html" title="interface in freemarker.template">ObjectWrapper</a>&nbsp;objectWrapper,
           javax.servlet.ServletContext&nbsp;servletContext,
           javax.servlet.http.HttpServletRequest&nbsp;request,
           javax.servlet.http.HttpServletResponse&nbsp;response)</code>&nbsp;</td>
</tr>
<tr id="i5" class="rowColor">
<td class="colFirst"><code>protected <a href="../../../freemarker/template/ObjectWrapper.html" title="interface in freemarker.template">ObjectWrapper</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../freemarker/ext/servlet/FreemarkerServlet.html#createObjectWrapper--">createObjectWrapper</a></span>()</code>
<div class="block">Called from <a href="../../../freemarker/ext/servlet/FreemarkerServlet.html#init--"><code>init()</code></a> to create the <a href="../../../freemarker/template/ObjectWrapper.html" title="interface in freemarker.template"><code>ObjectWrapper</code></a>; to customzie this aspect, in most cases you
 should override <a href="../../../freemarker/ext/servlet/FreemarkerServlet.html#createDefaultObjectWrapper--"><code>createDefaultObjectWrapper()</code></a> instead.</div>
</td>
</tr>
<tr id="i6" class="altColor">
<td class="colFirst"><code>protected <a href="../../../freemarker/ext/servlet/HttpRequestParametersHashModel.html" title="class in freemarker.ext.servlet">HttpRequestParametersHashModel</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../freemarker/ext/servlet/FreemarkerServlet.html#createRequestParametersHashModel-javax.servlet.http.HttpServletRequest-">createRequestParametersHashModel</a></span>(javax.servlet.http.HttpServletRequest&nbsp;request)</code>&nbsp;</td>
</tr>
<tr id="i7" class="rowColor">
<td class="colFirst"><code>protected <a href="../../../freemarker/ext/jsp/TaglibFactory.html" title="class in freemarker.ext.jsp">TaglibFactory</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../freemarker/ext/servlet/FreemarkerServlet.html#createTaglibFactory-freemarker.template.ObjectWrapper-javax.servlet.ServletContext-">createTaglibFactory</a></span>(<a href="../../../freemarker/template/ObjectWrapper.html" title="interface in freemarker.template">ObjectWrapper</a>&nbsp;objectWrapper,
                   javax.servlet.ServletContext&nbsp;servletContext)</code>
<div class="block">Called to create the <a href="../../../freemarker/ext/jsp/TaglibFactory.html" title="class in freemarker.ext.jsp"><code>TaglibFactory</code></a> once per servlet context.</div>
</td>
</tr>
<tr id="i8" class="altColor">
<td class="colFirst"><code>protected <a href="../../../freemarker/cache/TemplateLoader.html" title="interface in freemarker.cache">TemplateLoader</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../freemarker/ext/servlet/FreemarkerServlet.html#createTemplateLoader-java.lang.String-">createTemplateLoader</a></span>(java.lang.String&nbsp;templatePath)</code>
<div class="block">Create the template loader.</div>
</td>
</tr>
<tr id="i9" class="rowColor">
<td class="colFirst"><code>protected java.util.Locale</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../freemarker/ext/servlet/FreemarkerServlet.html#deduceLocale-java.lang.String-javax.servlet.http.HttpServletRequest-javax.servlet.http.HttpServletResponse-">deduceLocale</a></span>(java.lang.String&nbsp;templatePath,
            javax.servlet.http.HttpServletRequest&nbsp;request,
            javax.servlet.http.HttpServletResponse&nbsp;response)</code>
<div class="block">Returns the locale used for the <a href="../../../freemarker/template/Configuration.html#getTemplate-java.lang.String-java.util.Locale-"><code>Configuration.getTemplate(String, Locale)</code></a> call (as far as the
 <a href="../../../freemarker/ext/servlet/FreemarkerServlet.html#INIT_PARAM_OVERRIDE_RESPONSE_LOCALE">"OverrideResponseLocale"</a> Servlet init-param allows that).</div>
</td>
</tr>
<tr id="i10" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../freemarker/ext/servlet/FreemarkerServlet.html#doGet-javax.servlet.http.HttpServletRequest-javax.servlet.http.HttpServletResponse-">doGet</a></span>(javax.servlet.http.HttpServletRequest&nbsp;request,
     javax.servlet.http.HttpServletResponse&nbsp;response)</code>&nbsp;</td>
</tr>
<tr id="i11" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../freemarker/ext/servlet/FreemarkerServlet.html#doPost-javax.servlet.http.HttpServletRequest-javax.servlet.http.HttpServletResponse-">doPost</a></span>(javax.servlet.http.HttpServletRequest&nbsp;request,
      javax.servlet.http.HttpServletResponse&nbsp;response)</code>&nbsp;</td>
</tr>
<tr id="i12" class="altColor">
<td class="colFirst"><code>protected <a href="../../../freemarker/template/Configuration.html" title="class in freemarker.template">Configuration</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../freemarker/ext/servlet/FreemarkerServlet.html#getConfiguration--">getConfiguration</a></span>()</code>
<div class="block">Returns the <a href="../../../freemarker/template/Configuration.html" title="class in freemarker.template"><code>Configuration</code></a> object used by this servlet.</div>
</td>
</tr>
<tr id="i13" class="rowColor">
<td class="colFirst"><code>protected java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../freemarker/ext/servlet/FreemarkerServlet.html#getDefaultOverrideResponseContentType--">getDefaultOverrideResponseContentType</a></span>()</code>
<div class="block">Returns the default value of the <a href="../../../freemarker/ext/servlet/FreemarkerServlet.html#INIT_PARAM_OVERRIDE_RESPONSE_CONTENT_TYPE">"OverrideResponseContentType"</a> Servlet init-param.</div>
</td>
</tr>
<tr id="i14" class="altColor">
<td class="colFirst"><code>protected <a href="../../../freemarker/template/ObjectWrapper.html" title="interface in freemarker.template">ObjectWrapper</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../freemarker/ext/servlet/FreemarkerServlet.html#getObjectWrapper--">getObjectWrapper</a></span>()</code>
<div class="block">Should be final; don't override it.</div>
</td>
</tr>
<tr id="i15" class="rowColor">
<td class="colFirst"><code>protected java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../freemarker/ext/servlet/FreemarkerServlet.html#getTemplatePath--">getTemplatePath</a></span>()</code>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
<div class="block"><span class="deprecationComment">Not called by FreeMarker code, and there's no point to override this (unless to cause confusion).</span></div>
</div>
</td>
</tr>
<tr id="i16" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../freemarker/ext/servlet/FreemarkerServlet.html#init--">init</a></span>()</code>
<div class="block">Don't override this method to adjust FreeMarker settings! Override the protected methods for that, such as
 <a href="../../../freemarker/ext/servlet/FreemarkerServlet.html#createConfiguration--"><code>createConfiguration()</code></a>, <a href="../../../freemarker/ext/servlet/FreemarkerServlet.html#createTemplateLoader-java.lang.String-"><code>createTemplateLoader(String)</code></a>, <a href="../../../freemarker/ext/servlet/FreemarkerServlet.html#createDefaultObjectWrapper--"><code>createDefaultObjectWrapper()</code></a>,
 etc.</div>
</td>
</tr>
<tr id="i17" class="rowColor">
<td class="colFirst"><code>protected void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../freemarker/ext/servlet/FreemarkerServlet.html#initializeServletContext-javax.servlet.http.HttpServletRequest-javax.servlet.http.HttpServletResponse-">initializeServletContext</a></span>(javax.servlet.http.HttpServletRequest&nbsp;request,
                        javax.servlet.http.HttpServletResponse&nbsp;response)</code>
<div class="block">Called when servlet detects in a request processing that
 application-global (that is, ServletContext-specific) attributes are not yet
 set.</div>
</td>
</tr>
<tr id="i18" class="altColor">
<td class="colFirst"><code>protected void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../freemarker/ext/servlet/FreemarkerServlet.html#initializeSession-javax.servlet.http.HttpServletRequest-javax.servlet.http.HttpServletResponse-">initializeSession</a></span>(javax.servlet.http.HttpServletRequest&nbsp;request,
                 javax.servlet.http.HttpServletResponse&nbsp;response)</code>
<div class="block">Called when servlet detects in a request processing that session-global 
 (that is, HttpSession-specific) attributes are not yet set.</div>
</td>
</tr>
<tr id="i19" class="rowColor">
<td class="colFirst"><code>protected void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../freemarker/ext/servlet/FreemarkerServlet.html#postTemplateProcess-javax.servlet.http.HttpServletRequest-javax.servlet.http.HttpServletResponse-freemarker.template.Template-freemarker.template.TemplateModel-">postTemplateProcess</a></span>(javax.servlet.http.HttpServletRequest&nbsp;request,
                   javax.servlet.http.HttpServletResponse&nbsp;response,
                   <a href="../../../freemarker/template/Template.html" title="class in freemarker.template">Template</a>&nbsp;template,
                   <a href="../../../freemarker/template/TemplateModel.html" title="interface in freemarker.template">TemplateModel</a>&nbsp;data)</code>
<div class="block">Called after the execution returns from <a href="../../../freemarker/template/Template.html#process-java.lang.Object-java.io.Writer-"><code>Template.process(Object, java.io.Writer)</code></a>.</div>
</td>
</tr>
<tr id="i20" class="altColor">
<td class="colFirst"><code>protected boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../freemarker/ext/servlet/FreemarkerServlet.html#preprocessRequest-javax.servlet.http.HttpServletRequest-javax.servlet.http.HttpServletResponse-">preprocessRequest</a></span>(javax.servlet.http.HttpServletRequest&nbsp;request,
                 javax.servlet.http.HttpServletResponse&nbsp;response)</code>
<div class="block">Called as the first step in request processing, before the templating mechanism
 is put to work.</div>
</td>
</tr>
<tr id="i21" class="rowColor">
<td class="colFirst"><code>protected boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../freemarker/ext/servlet/FreemarkerServlet.html#preTemplateProcess-javax.servlet.http.HttpServletRequest-javax.servlet.http.HttpServletResponse-freemarker.template.Template-freemarker.template.TemplateModel-">preTemplateProcess</a></span>(javax.servlet.http.HttpServletRequest&nbsp;request,
                  javax.servlet.http.HttpServletResponse&nbsp;response,
                  <a href="../../../freemarker/template/Template.html" title="class in freemarker.template">Template</a>&nbsp;template,
                  <a href="../../../freemarker/template/TemplateModel.html" title="interface in freemarker.template">TemplateModel</a>&nbsp;model)</code>
<div class="block">Called before the execution is passed to <a href="../../../freemarker/template/Template.html#process-java.lang.Object-java.io.Writer-"><code>Template.process(Object, java.io.Writer)</code></a>.</div>
</td>
</tr>
<tr id="i22" class="altColor">
<td class="colFirst"><code>protected void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../freemarker/ext/servlet/FreemarkerServlet.html#processEnvironment-freemarker.core.Environment-javax.servlet.http.HttpServletRequest-javax.servlet.http.HttpServletResponse-">processEnvironment</a></span>(<a href="../../../freemarker/core/Environment.html" title="class in freemarker.core">Environment</a>&nbsp;env,
                  javax.servlet.http.HttpServletRequest&nbsp;request,
                  javax.servlet.http.HttpServletResponse&nbsp;response)</code>
<div class="block">This is the method that actually executes the template.</div>
</td>
</tr>
<tr id="i23" class="rowColor">
<td class="colFirst"><code>protected java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../freemarker/ext/servlet/FreemarkerServlet.html#requestUrlToTemplatePath-javax.servlet.http.HttpServletRequest-">requestUrlToTemplatePath</a></span>(javax.servlet.http.HttpServletRequest&nbsp;request)</code>
<div class="block">Maps the request URL to a template path (template name) that is passed to
 <a href="../../../freemarker/template/Configuration.html#getTemplate-java.lang.String-java.util.Locale-"><code>Configuration.getTemplate(String, Locale)</code></a>.</div>
</td>
</tr>
<tr id="i24" class="altColor">
<td class="colFirst"><code>protected void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../freemarker/ext/servlet/FreemarkerServlet.html#setConfigurationDefaults--">setConfigurationDefaults</a></span>()</code>
<div class="block">Sets the defaults of the configuration that are specific to the <a href="../../../freemarker/ext/servlet/FreemarkerServlet.html" title="class in freemarker.ext.servlet"><code>FreemarkerServlet</code></a> subclass.</div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.javax.servlet.http.HttpServlet">
<!--   -->
</a>
<h3>Methods inherited from class&nbsp;javax.servlet.http.HttpServlet</h3>
<code>doDelete, doHead, doOptions, doPut, doTrace, getLastModified, service, service</code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.javax.servlet.GenericServlet">
<!--   -->
</a>
<h3>Methods inherited from class&nbsp;javax.servlet.GenericServlet</h3>
<code>destroy, getInitParameter, getInitParameterNames, getServletConfig, getServletContext, getServletInfo, getServletName, init, log, log</code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
<!--   -->
</a>
<h3>Methods inherited from class&nbsp;java.lang.Object</h3>
<code>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</code></li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ============ FIELD DETAIL =========== -->
<ul class="blockList">
<li class="blockList"><a name="field.detail">
<!--   -->
</a>
<h3>Field Detail</h3>
<a name="serialVersionUID">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>serialVersionUID</h4>
<pre>public static final&nbsp;long serialVersionUID</pre>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../constant-values.html#freemarker.ext.servlet.FreemarkerServlet.serialVersionUID">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="INIT_PARAM_TEMPLATE_PATH">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>INIT_PARAM_TEMPLATE_PATH</h4>
<pre>public static final&nbsp;java.lang.String INIT_PARAM_TEMPLATE_PATH</pre>
<div class="block">Init-param name - see the <a href="../../../freemarker/ext/servlet/FreemarkerServlet.html" title="class in freemarker.ext.servlet"><code>FreemarkerServlet</code></a> class documentation about the init-params. (This init-param
 has existed long before 2.3.22, but this constant was only added then.)</div>
<dl>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>2.3.22</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../constant-values.html#freemarker.ext.servlet.FreemarkerServlet.INIT_PARAM_TEMPLATE_PATH">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="INIT_PARAM_NO_CACHE">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>INIT_PARAM_NO_CACHE</h4>
<pre>public static final&nbsp;java.lang.String INIT_PARAM_NO_CACHE</pre>
<div class="block">Init-param name - see the <a href="../../../freemarker/ext/servlet/FreemarkerServlet.html" title="class in freemarker.ext.servlet"><code>FreemarkerServlet</code></a> class documentation about the init-params. (This init-param
 has existed long before 2.3.22, but this constant was only added then.)</div>
<dl>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>2.3.22</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../constant-values.html#freemarker.ext.servlet.FreemarkerServlet.INIT_PARAM_NO_CACHE">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="INIT_PARAM_CONTENT_TYPE">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>INIT_PARAM_CONTENT_TYPE</h4>
<pre>public static final&nbsp;java.lang.String INIT_PARAM_CONTENT_TYPE</pre>
<div class="block">Init-param name - see the <a href="../../../freemarker/ext/servlet/FreemarkerServlet.html" title="class in freemarker.ext.servlet"><code>FreemarkerServlet</code></a> class documentation about the init-params. (This init-param
 has existed long before 2.3.22, but this constant was only added then.)</div>
<dl>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>2.3.22</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../constant-values.html#freemarker.ext.servlet.FreemarkerServlet.INIT_PARAM_CONTENT_TYPE">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="INIT_PARAM_OVERRIDE_RESPONSE_CONTENT_TYPE">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>INIT_PARAM_OVERRIDE_RESPONSE_CONTENT_TYPE</h4>
<pre>public static final&nbsp;java.lang.String INIT_PARAM_OVERRIDE_RESPONSE_CONTENT_TYPE</pre>
<div class="block">Init-param name - see the <a href="../../../freemarker/ext/servlet/FreemarkerServlet.html" title="class in freemarker.ext.servlet"><code>FreemarkerServlet</code></a> class documentation about the init-params.</div>
<dl>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>2.3.24</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../constant-values.html#freemarker.ext.servlet.FreemarkerServlet.INIT_PARAM_OVERRIDE_RESPONSE_CONTENT_TYPE">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="INIT_PARAM_RESPONSE_CHARACTER_ENCODING">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>INIT_PARAM_RESPONSE_CHARACTER_ENCODING</h4>
<pre>public static final&nbsp;java.lang.String INIT_PARAM_RESPONSE_CHARACTER_ENCODING</pre>
<div class="block">Init-param name - see the <a href="../../../freemarker/ext/servlet/FreemarkerServlet.html" title="class in freemarker.ext.servlet"><code>FreemarkerServlet</code></a> class documentation about the init-params.</div>
<dl>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>2.3.24</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../constant-values.html#freemarker.ext.servlet.FreemarkerServlet.INIT_PARAM_RESPONSE_CHARACTER_ENCODING">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="INIT_PARAM_OVERRIDE_RESPONSE_LOCALE">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>INIT_PARAM_OVERRIDE_RESPONSE_LOCALE</h4>
<pre>public static final&nbsp;java.lang.String INIT_PARAM_OVERRIDE_RESPONSE_LOCALE</pre>
<div class="block">Init-param name - see the <a href="../../../freemarker/ext/servlet/FreemarkerServlet.html" title="class in freemarker.ext.servlet"><code>FreemarkerServlet</code></a> class documentation about the init-params.</div>
<dl>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>2.3.24</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../constant-values.html#freemarker.ext.servlet.FreemarkerServlet.INIT_PARAM_OVERRIDE_RESPONSE_LOCALE">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="INIT_PARAM_BUFFER_SIZE">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>INIT_PARAM_BUFFER_SIZE</h4>
<pre>public static final&nbsp;java.lang.String INIT_PARAM_BUFFER_SIZE</pre>
<div class="block">Init-param name - see the <a href="../../../freemarker/ext/servlet/FreemarkerServlet.html" title="class in freemarker.ext.servlet"><code>FreemarkerServlet</code></a> class documentation about the init-params.</div>
<dl>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>2.3.22</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../constant-values.html#freemarker.ext.servlet.FreemarkerServlet.INIT_PARAM_BUFFER_SIZE">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="INIT_PARAM_META_INF_TLD_LOCATIONS">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>INIT_PARAM_META_INF_TLD_LOCATIONS</h4>
<pre>public static final&nbsp;java.lang.String INIT_PARAM_META_INF_TLD_LOCATIONS</pre>
<div class="block">Init-param name - see the <a href="../../../freemarker/ext/servlet/FreemarkerServlet.html" title="class in freemarker.ext.servlet"><code>FreemarkerServlet</code></a> class documentation about the init-params.</div>
<dl>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>2.3.22</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../constant-values.html#freemarker.ext.servlet.FreemarkerServlet.INIT_PARAM_META_INF_TLD_LOCATIONS">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="INIT_PARAM_EXCEPTION_ON_MISSING_TEMPLATE">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>INIT_PARAM_EXCEPTION_ON_MISSING_TEMPLATE</h4>
<pre>public static final&nbsp;java.lang.String INIT_PARAM_EXCEPTION_ON_MISSING_TEMPLATE</pre>
<div class="block">Init-param name - see the <a href="../../../freemarker/ext/servlet/FreemarkerServlet.html" title="class in freemarker.ext.servlet"><code>FreemarkerServlet</code></a> class documentation about the init-params.</div>
<dl>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>2.3.22</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../constant-values.html#freemarker.ext.servlet.FreemarkerServlet.INIT_PARAM_EXCEPTION_ON_MISSING_TEMPLATE">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="INIT_PARAM_CLASSPATH_TLDS">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>INIT_PARAM_CLASSPATH_TLDS</h4>
<pre>public static final&nbsp;java.lang.String INIT_PARAM_CLASSPATH_TLDS</pre>
<div class="block">Init-param name - see the <a href="../../../freemarker/ext/servlet/FreemarkerServlet.html" title="class in freemarker.ext.servlet"><code>FreemarkerServlet</code></a> class documentation about the init-params.</div>
<dl>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>2.3.22</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../constant-values.html#freemarker.ext.servlet.FreemarkerServlet.INIT_PARAM_CLASSPATH_TLDS">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="INIT_PARAM_VALUE_NEVER">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>INIT_PARAM_VALUE_NEVER</h4>
<pre>public static final&nbsp;java.lang.String INIT_PARAM_VALUE_NEVER</pre>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../constant-values.html#freemarker.ext.servlet.FreemarkerServlet.INIT_PARAM_VALUE_NEVER">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="INIT_PARAM_VALUE_ALWAYS">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>INIT_PARAM_VALUE_ALWAYS</h4>
<pre>public static final&nbsp;java.lang.String INIT_PARAM_VALUE_ALWAYS</pre>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../constant-values.html#freemarker.ext.servlet.FreemarkerServlet.INIT_PARAM_VALUE_ALWAYS">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="INIT_PARAM_VALUE_WHEN_TEMPLATE_HAS_MIME_TYPE">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>INIT_PARAM_VALUE_WHEN_TEMPLATE_HAS_MIME_TYPE</h4>
<pre>public static final&nbsp;java.lang.String INIT_PARAM_VALUE_WHEN_TEMPLATE_HAS_MIME_TYPE</pre>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../constant-values.html#freemarker.ext.servlet.FreemarkerServlet.INIT_PARAM_VALUE_WHEN_TEMPLATE_HAS_MIME_TYPE">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="INIT_PARAM_VALUE_FROM_TEMPLATE">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>INIT_PARAM_VALUE_FROM_TEMPLATE</h4>
<pre>public static final&nbsp;java.lang.String INIT_PARAM_VALUE_FROM_TEMPLATE</pre>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../constant-values.html#freemarker.ext.servlet.FreemarkerServlet.INIT_PARAM_VALUE_FROM_TEMPLATE">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="INIT_PARAM_VALUE_LEGACY">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>INIT_PARAM_VALUE_LEGACY</h4>
<pre>public static final&nbsp;java.lang.String INIT_PARAM_VALUE_LEGACY</pre>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../constant-values.html#freemarker.ext.servlet.FreemarkerServlet.INIT_PARAM_VALUE_LEGACY">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="INIT_PARAM_VALUE_DO_NOT_SET">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>INIT_PARAM_VALUE_DO_NOT_SET</h4>
<pre>public static final&nbsp;java.lang.String INIT_PARAM_VALUE_DO_NOT_SET</pre>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../constant-values.html#freemarker.ext.servlet.FreemarkerServlet.INIT_PARAM_VALUE_DO_NOT_SET">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="INIT_PARAM_VALUE_FORCE_PREFIX">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>INIT_PARAM_VALUE_FORCE_PREFIX</h4>
<pre>public static final&nbsp;java.lang.String INIT_PARAM_VALUE_FORCE_PREFIX</pre>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../constant-values.html#freemarker.ext.servlet.FreemarkerServlet.INIT_PARAM_VALUE_FORCE_PREFIX">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="SYSTEM_PROPERTY_META_INF_TLD_SOURCES">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>SYSTEM_PROPERTY_META_INF_TLD_SOURCES</h4>
<pre>public static final&nbsp;java.lang.String SYSTEM_PROPERTY_META_INF_TLD_SOURCES</pre>
<div class="block">When set, the items defined in it will be added after those coming from the
 <a href="../../../freemarker/ext/servlet/FreemarkerServlet.html#INIT_PARAM_META_INF_TLD_LOCATIONS">"MetaInfTldSources"</a> init-param. The value syntax is the same as of the init-param. Note
 that <a href="../../../freemarker/ext/servlet/FreemarkerServlet.html#META_INF_TLD_LOCATION_CLEAR">"clear"</a> can be used to re-start the list, rather than continue it.</div>
<dl>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>2.3.22</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../constant-values.html#freemarker.ext.servlet.FreemarkerServlet.SYSTEM_PROPERTY_META_INF_TLD_SOURCES">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="SYSTEM_PROPERTY_CLASSPATH_TLDS">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>SYSTEM_PROPERTY_CLASSPATH_TLDS</h4>
<pre>public static final&nbsp;java.lang.String SYSTEM_PROPERTY_CLASSPATH_TLDS</pre>
<div class="block">When set, the items defined in it will be added after those coming from the
 <a href="../../../freemarker/ext/servlet/FreemarkerServlet.html#INIT_PARAM_CLASSPATH_TLDS">"ClasspathTlds"</a> init-param. The value syntax is the same as of the init-param.</div>
<dl>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>2.3.22</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../constant-values.html#freemarker.ext.servlet.FreemarkerServlet.SYSTEM_PROPERTY_CLASSPATH_TLDS">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="META_INF_TLD_LOCATION_WEB_INF_PER_LIB_JARS">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>META_INF_TLD_LOCATION_WEB_INF_PER_LIB_JARS</h4>
<pre>public static final&nbsp;java.lang.String META_INF_TLD_LOCATION_WEB_INF_PER_LIB_JARS</pre>
<div class="block">Used as part of the value of the <a href="../../../freemarker/ext/servlet/FreemarkerServlet.html#INIT_PARAM_META_INF_TLD_LOCATIONS">"MetaInfTldSources"</a> init-param.</div>
<dl>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>2.3.22</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../constant-values.html#freemarker.ext.servlet.FreemarkerServlet.META_INF_TLD_LOCATION_WEB_INF_PER_LIB_JARS">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="META_INF_TLD_LOCATION_CLASSPATH">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>META_INF_TLD_LOCATION_CLASSPATH</h4>
<pre>public static final&nbsp;java.lang.String META_INF_TLD_LOCATION_CLASSPATH</pre>
<div class="block">Used as part of the value of the <a href="../../../freemarker/ext/servlet/FreemarkerServlet.html#INIT_PARAM_META_INF_TLD_LOCATIONS">"MetaInfTldSources"</a> init-param.</div>
<dl>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>2.3.22</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../constant-values.html#freemarker.ext.servlet.FreemarkerServlet.META_INF_TLD_LOCATION_CLASSPATH">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="META_INF_TLD_LOCATION_CLEAR">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>META_INF_TLD_LOCATION_CLEAR</h4>
<pre>public static final&nbsp;java.lang.String META_INF_TLD_LOCATION_CLEAR</pre>
<div class="block">Used as part of the value of the <a href="../../../freemarker/ext/servlet/FreemarkerServlet.html#INIT_PARAM_META_INF_TLD_LOCATIONS">"MetaInfTldSources"</a> init-param.</div>
<dl>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>2.3.22</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../constant-values.html#freemarker.ext.servlet.FreemarkerServlet.META_INF_TLD_LOCATION_CLEAR">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="KEY_REQUEST">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>KEY_REQUEST</h4>
<pre>public static final&nbsp;java.lang.String KEY_REQUEST</pre>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../constant-values.html#freemarker.ext.servlet.FreemarkerServlet.KEY_REQUEST">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="KEY_INCLUDE">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>KEY_INCLUDE</h4>
<pre>public static final&nbsp;java.lang.String KEY_INCLUDE</pre>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../constant-values.html#freemarker.ext.servlet.FreemarkerServlet.KEY_INCLUDE">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="KEY_REQUEST_PRIVATE">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>KEY_REQUEST_PRIVATE</h4>
<pre>public static final&nbsp;java.lang.String KEY_REQUEST_PRIVATE</pre>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../constant-values.html#freemarker.ext.servlet.FreemarkerServlet.KEY_REQUEST_PRIVATE">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="KEY_REQUEST_PARAMETERS">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>KEY_REQUEST_PARAMETERS</h4>
<pre>public static final&nbsp;java.lang.String KEY_REQUEST_PARAMETERS</pre>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../constant-values.html#freemarker.ext.servlet.FreemarkerServlet.KEY_REQUEST_PARAMETERS">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="KEY_SESSION">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>KEY_SESSION</h4>
<pre>public static final&nbsp;java.lang.String KEY_SESSION</pre>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../constant-values.html#freemarker.ext.servlet.FreemarkerServlet.KEY_SESSION">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="KEY_APPLICATION">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>KEY_APPLICATION</h4>
<pre>public static final&nbsp;java.lang.String KEY_APPLICATION</pre>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../constant-values.html#freemarker.ext.servlet.FreemarkerServlet.KEY_APPLICATION">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="KEY_APPLICATION_PRIVATE">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>KEY_APPLICATION_PRIVATE</h4>
<pre>public static final&nbsp;java.lang.String KEY_APPLICATION_PRIVATE</pre>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../constant-values.html#freemarker.ext.servlet.FreemarkerServlet.KEY_APPLICATION_PRIVATE">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="KEY_JSP_TAGLIBS">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>KEY_JSP_TAGLIBS</h4>
<pre>public static final&nbsp;java.lang.String KEY_JSP_TAGLIBS</pre>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../constant-values.html#freemarker.ext.servlet.FreemarkerServlet.KEY_JSP_TAGLIBS">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="debug">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>debug</h4>
<pre>@Deprecated
protected&nbsp;boolean debug</pre>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">Not used anymore; to enable/disable debug logging, just set the logging level of the logging library
             used by <a href="../../../freemarker/log/Logger.html" title="class in freemarker.log"><code>Logger</code></a>.</span></div>
</li>
</ul>
</li>
</ul>
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor.detail">
<!--   -->
</a>
<h3>Constructor Detail</h3>
<a name="FreemarkerServlet--">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>FreemarkerServlet</h4>
<pre>public&nbsp;FreemarkerServlet()</pre>
</li>
</ul>
</li>
</ul>
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method.detail">
<!--   -->
</a>
<h3>Method Detail</h3>
<a name="init--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>init</h4>
<pre>public&nbsp;void&nbsp;init()
          throws javax.servlet.ServletException</pre>
<div class="block">Don't override this method to adjust FreeMarker settings! Override the protected methods for that, such as
 <a href="../../../freemarker/ext/servlet/FreemarkerServlet.html#createConfiguration--"><code>createConfiguration()</code></a>, <a href="../../../freemarker/ext/servlet/FreemarkerServlet.html#createTemplateLoader-java.lang.String-"><code>createTemplateLoader(String)</code></a>, <a href="../../../freemarker/ext/servlet/FreemarkerServlet.html#createDefaultObjectWrapper--"><code>createDefaultObjectWrapper()</code></a>,
 etc. Also note that lot of things can be changed with init-params instead of overriding methods, so if you
 override settings, usually you should only override their defaults.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code>init</code>&nbsp;in class&nbsp;<code>javax.servlet.GenericServlet</code></dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>javax.servlet.ServletException</code></dd>
</dl>
</li>
</ul>
<a name="createTemplateLoader-java.lang.String-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>createTemplateLoader</h4>
<pre>protected&nbsp;<a href="../../../freemarker/cache/TemplateLoader.html" title="interface in freemarker.cache">TemplateLoader</a>&nbsp;createTemplateLoader(java.lang.String&nbsp;templatePath)
                                       throws java.io.IOException</pre>
<div class="block">Create the template loader. The default implementation will create a <a href="../../../freemarker/cache/ClassTemplateLoader.html" title="class in freemarker.cache"><code>ClassTemplateLoader</code></a> if the template
 path starts with <code>"class://"</code>, a <a href="../../../freemarker/cache/FileTemplateLoader.html" title="class in freemarker.cache"><code>FileTemplateLoader</code></a> if the template path starts with
 <code>"file://"</code>, and a <a href="../../../freemarker/cache/WebappTemplateLoader.html" title="class in freemarker.cache"><code>WebappTemplateLoader</code></a> otherwise. Also, if
 <a href="../../../freemarker/template/Configuration.html#Configuration-freemarker.template.Version-"><code>incompatible_improvements</code></a> is 2.3.22 or higher,
 it will create a <a href="../../../freemarker/cache/MultiTemplateLoader.html" title="class in freemarker.cache"><code>MultiTemplateLoader</code></a> if the template path starts with <code>"["</code>.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>templatePath</code> - the template path to create a loader for</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>a newly created template loader</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>java.io.IOException</code></dd>
</dl>
</li>
</ul>
<a name="doGet-javax.servlet.http.HttpServletRequest-javax.servlet.http.HttpServletResponse-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>doGet</h4>
<pre>public&nbsp;void&nbsp;doGet(javax.servlet.http.HttpServletRequest&nbsp;request,
                  javax.servlet.http.HttpServletResponse&nbsp;response)
           throws javax.servlet.ServletException,
                  java.io.IOException</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code>doGet</code>&nbsp;in class&nbsp;<code>javax.servlet.http.HttpServlet</code></dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>javax.servlet.ServletException</code></dd>
<dd><code>java.io.IOException</code></dd>
</dl>
</li>
</ul>
<a name="doPost-javax.servlet.http.HttpServletRequest-javax.servlet.http.HttpServletResponse-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>doPost</h4>
<pre>public&nbsp;void&nbsp;doPost(javax.servlet.http.HttpServletRequest&nbsp;request,
                   javax.servlet.http.HttpServletResponse&nbsp;response)
            throws javax.servlet.ServletException,
                   java.io.IOException</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code>doPost</code>&nbsp;in class&nbsp;<code>javax.servlet.http.HttpServlet</code></dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>javax.servlet.ServletException</code></dd>
<dd><code>java.io.IOException</code></dd>
</dl>
</li>
</ul>
<a name="processEnvironment-freemarker.core.Environment-javax.servlet.http.HttpServletRequest-javax.servlet.http.HttpServletResponse-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>processEnvironment</h4>
<pre>protected&nbsp;void&nbsp;processEnvironment(<a href="../../../freemarker/core/Environment.html" title="class in freemarker.core">Environment</a>&nbsp;env,
                                  javax.servlet.http.HttpServletRequest&nbsp;request,
                                  javax.servlet.http.HttpServletResponse&nbsp;response)
                           throws <a href="../../../freemarker/template/TemplateException.html" title="class in freemarker.template">TemplateException</a>,
                                  java.io.IOException</pre>
<div class="block">This is the method that actually executes the template. The original implementation coming from
 <a href="../../../freemarker/ext/servlet/FreemarkerServlet.html" title="class in freemarker.ext.servlet"><code>FreemarkerServlet</code></a> simply calls <a href="../../../freemarker/core/Environment.html#process--"><code>Environment.process()</code></a>. Overriding this method allows you to
 prepare the <a href="../../../freemarker/core/Environment.html" title="class in freemarker.core"><code>Environment</code></a> before the execution, or extract information from the <a href="../../../freemarker/core/Environment.html" title="class in freemarker.core"><code>Environment</code></a> after
 the execution. It also allows you to capture exceptions throw by the template.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>env</code> - The <a href="../../../freemarker/core/Environment.html" title="class in freemarker.core"><code>Environment</code></a> object already set up to execute the template. You only have to call
            <a href="../../../freemarker/core/Environment.html#process--"><code>Environment.process()</code></a> and the output will be produced by the template.</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../../../freemarker/template/TemplateException.html" title="class in freemarker.template">TemplateException</a></code></dd>
<dd><code>java.io.IOException</code></dd>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>2.3.24</dd>
</dl>
</li>
</ul>
<a name="deduceLocale-java.lang.String-javax.servlet.http.HttpServletRequest-javax.servlet.http.HttpServletResponse-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>deduceLocale</h4>
<pre>protected&nbsp;java.util.Locale&nbsp;deduceLocale(java.lang.String&nbsp;templatePath,
                                        javax.servlet.http.HttpServletRequest&nbsp;request,
                                        javax.servlet.http.HttpServletResponse&nbsp;response)
                                 throws javax.servlet.ServletException</pre>
<div class="block">Returns the locale used for the <a href="../../../freemarker/template/Configuration.html#getTemplate-java.lang.String-java.util.Locale-"><code>Configuration.getTemplate(String, Locale)</code></a> call (as far as the
 <a href="../../../freemarker/ext/servlet/FreemarkerServlet.html#INIT_PARAM_OVERRIDE_RESPONSE_LOCALE">"OverrideResponseLocale"</a> Servlet init-param allows that). The base implementation in
 <a href="../../../freemarker/ext/servlet/FreemarkerServlet.html" title="class in freemarker.ext.servlet"><code>FreemarkerServlet</code></a> simply returns the <code>locale</code> setting of the configuration. Override this method to
 provide different behavior, for example, to use the locale indicated in the HTTP request.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>templatePath</code> - The template path (template name) as it will be passed to <a href="../../../freemarker/template/Configuration.html#getTemplate-java.lang.String-"><code>Configuration.getTemplate(String)</code></a>.
            (Not to be confused with the servlet init-param of identical name; they aren't related.)</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>javax.servlet.ServletException</code> - Can be thrown since 2.3.22, if the locale can't be deduced from the URL.</dd>
</dl>
</li>
</ul>
<a name="createModel-freemarker.template.ObjectWrapper-javax.servlet.ServletContext-javax.servlet.http.HttpServletRequest-javax.servlet.http.HttpServletResponse-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>createModel</h4>
<pre>protected&nbsp;<a href="../../../freemarker/template/TemplateModel.html" title="interface in freemarker.template">TemplateModel</a>&nbsp;createModel(<a href="../../../freemarker/template/ObjectWrapper.html" title="interface in freemarker.template">ObjectWrapper</a>&nbsp;objectWrapper,
                                    javax.servlet.ServletContext&nbsp;servletContext,
                                    javax.servlet.http.HttpServletRequest&nbsp;request,
                                    javax.servlet.http.HttpServletResponse&nbsp;response)
                             throws <a href="../../../freemarker/template/TemplateModelException.html" title="class in freemarker.template">TemplateModelException</a></pre>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../../../freemarker/template/TemplateModelException.html" title="class in freemarker.template">TemplateModelException</a></code></dd>
</dl>
</li>
</ul>
<a name="createTaglibFactory-freemarker.template.ObjectWrapper-javax.servlet.ServletContext-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>createTaglibFactory</h4>
<pre>protected&nbsp;<a href="../../../freemarker/ext/jsp/TaglibFactory.html" title="class in freemarker.ext.jsp">TaglibFactory</a>&nbsp;createTaglibFactory(<a href="../../../freemarker/template/ObjectWrapper.html" title="interface in freemarker.template">ObjectWrapper</a>&nbsp;objectWrapper,
                                            javax.servlet.ServletContext&nbsp;servletContext)
                                     throws <a href="../../../freemarker/template/TemplateModelException.html" title="class in freemarker.template">TemplateModelException</a></pre>
<div class="block">Called to create the <a href="../../../freemarker/ext/jsp/TaglibFactory.html" title="class in freemarker.ext.jsp"><code>TaglibFactory</code></a> once per servlet context.
 The default implementation configures it based on the servlet-init parameters and various other environmental
 settings, so if you override this method, you should call super, then adjust the result.</div>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../../../freemarker/template/TemplateModelException.html" title="class in freemarker.template">TemplateModelException</a></code></dd>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>2.3.22</dd>
</dl>
</li>
</ul>
<a name="createDefaultClassPathTlds--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>createDefaultClassPathTlds</h4>
<pre>protected&nbsp;java.util.List&nbsp;createDefaultClassPathTlds()</pre>
<div class="block">Creates the default of the <a href="../../../freemarker/ext/servlet/FreemarkerServlet.html#INIT_PARAM_CLASSPATH_TLDS">"ClasspathTlds"</a> init-param; if this init-param is specified, it
 will be appended <em>after</em> the default, not replace it.
 
 <p>
 The implementation in <a href="../../../freemarker/ext/servlet/FreemarkerServlet.html" title="class in freemarker.ext.servlet"><code>FreemarkerServlet</code></a> returns <a href="../../../freemarker/ext/jsp/TaglibFactory.html#DEFAULT_CLASSPATH_TLDS"><code>TaglibFactory.DEFAULT_CLASSPATH_TLDS</code></a>.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>A <code>List</code> of <code>String</code>-s; not <code>null</code>.</dd>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>2.3.22</dd>
</dl>
</li>
</ul>
<a name="createDefaultMetaInfTldSources--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>createDefaultMetaInfTldSources</h4>
<pre>protected&nbsp;java.util.List&nbsp;createDefaultMetaInfTldSources()</pre>
<div class="block">Creates the default of the <a href="../../../freemarker/ext/servlet/FreemarkerServlet.html#INIT_PARAM_META_INF_TLD_LOCATIONS">"MetaInfTldSources"</a> init-param; if this init-param is
 specified, it will completelly <em>replace</em> the default value.
 
 <p>
 The implementation in <a href="../../../freemarker/ext/servlet/FreemarkerServlet.html" title="class in freemarker.ext.servlet"><code>FreemarkerServlet</code></a> returns <a href="../../../freemarker/ext/jsp/TaglibFactory.html#DEFAULT_META_INF_TLD_SOURCES"><code>TaglibFactory.DEFAULT_META_INF_TLD_SOURCES</code></a>.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>A <code>List</code> of <a href="../../../freemarker/ext/jsp/TaglibFactory.MetaInfTldSource.html" title="class in freemarker.ext.jsp"><code>TaglibFactory.MetaInfTldSource</code></a>-s; not <code>null</code>.</dd>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>2.3.22</dd>
</dl>
</li>
</ul>
<a name="requestUrlToTemplatePath-javax.servlet.http.HttpServletRequest-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>requestUrlToTemplatePath</h4>
<pre>protected&nbsp;java.lang.String&nbsp;requestUrlToTemplatePath(javax.servlet.http.HttpServletRequest&nbsp;request)
                                             throws javax.servlet.ServletException</pre>
<div class="block">Maps the request URL to a template path (template name) that is passed to
 <a href="../../../freemarker/template/Configuration.html#getTemplate-java.lang.String-java.util.Locale-"><code>Configuration.getTemplate(String, Locale)</code></a>. You can override it (i.e. to provide advanced rewriting
 capabilities), but you are strongly encouraged to call the overridden method first, then only modify its return
 value.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>request</code> - The currently processed HTTP request</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>The template path (template name); can't be <code>null</code>. This is what's passed to
         <a href="../../../freemarker/template/Configuration.html#getTemplate-java.lang.String-"><code>Configuration.getTemplate(String)</code></a> later. (Not to be confused with the <code>templatePath</code>
         servlet init-param of identical name; that basically specifies the "virtual file system" to which this
         will be relative to.)</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>javax.servlet.ServletException</code> - Can be thrown since 2.3.22, if the template path can't be deduced from the URL.</dd>
</dl>
</li>
</ul>
<a name="preprocessRequest-javax.servlet.http.HttpServletRequest-javax.servlet.http.HttpServletResponse-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>preprocessRequest</h4>
<pre>protected&nbsp;boolean&nbsp;preprocessRequest(javax.servlet.http.HttpServletRequest&nbsp;request,
                                    javax.servlet.http.HttpServletResponse&nbsp;response)
                             throws javax.servlet.ServletException,
                                    java.io.IOException</pre>
<div class="block">Called as the first step in request processing, before the templating mechanism
 is put to work. By default does nothing and returns false. This method is
 typically overridden to manage serving of non-template resources (i.e. images)
 that reside in the template directory.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>request</code> - the HTTP request</dd>
<dd><code>response</code> - the HTTP response</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>true to indicate this method has processed the request entirely,
 and that the further request processing should not take place.</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>javax.servlet.ServletException</code></dd>
<dd><code>java.io.IOException</code></dd>
</dl>
</li>
</ul>
<a name="createConfiguration--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>createConfiguration</h4>
<pre>protected&nbsp;<a href="../../../freemarker/template/Configuration.html" title="class in freemarker.template">Configuration</a>&nbsp;createConfiguration()</pre>
<div class="block">Creates the FreeMarker <a href="../../../freemarker/template/Configuration.html" title="class in freemarker.template"><code>Configuration</code></a> singleton and (when overidden) maybe sets its defaults. Servlet
 init-params will be applied later, and thus can overwrite the settings specified here.
 
 <p>
 By overriding this method you can set your preferred <a href="../../../freemarker/template/Configuration.html" title="class in freemarker.template"><code>Configuration</code></a> setting defaults, as only the settings
 for which an init-param was specified will be overwritten later. (Note that <a href="../../../freemarker/ext/servlet/FreemarkerServlet.html" title="class in freemarker.ext.servlet"><code>FreemarkerServlet</code></a> also has
 its own defaults for a few settings, but since 2.3.22, the servlet detects if those settings were already set
 here and then it won't overwrite them.)
 
 <p>
 The default implementation simply creates a new instance with <a href="../../../freemarker/template/Configuration.html#Configuration--"><code>Configuration.Configuration()</code></a> and returns
 it.</div>
</li>
</ul>
<a name="setConfigurationDefaults--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setConfigurationDefaults</h4>
<pre>protected&nbsp;void&nbsp;setConfigurationDefaults()</pre>
<div class="block">Sets the defaults of the configuration that are specific to the <a href="../../../freemarker/ext/servlet/FreemarkerServlet.html" title="class in freemarker.ext.servlet"><code>FreemarkerServlet</code></a> subclass.
 This is called after the common (wired in) <a href="../../../freemarker/ext/servlet/FreemarkerServlet.html" title="class in freemarker.ext.servlet"><code>FreemarkerServlet</code></a> setting defaults was set, also the</div>
</li>
</ul>
<a name="createObjectWrapper--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>createObjectWrapper</h4>
<pre>protected&nbsp;<a href="../../../freemarker/template/ObjectWrapper.html" title="interface in freemarker.template">ObjectWrapper</a>&nbsp;createObjectWrapper()</pre>
<div class="block">Called from <a href="../../../freemarker/ext/servlet/FreemarkerServlet.html#init--"><code>init()</code></a> to create the <a href="../../../freemarker/template/ObjectWrapper.html" title="interface in freemarker.template"><code>ObjectWrapper</code></a>; to customzie this aspect, in most cases you
 should override <a href="../../../freemarker/ext/servlet/FreemarkerServlet.html#createDefaultObjectWrapper--"><code>createDefaultObjectWrapper()</code></a> instead. Overriding this method is necessary when you want
 to customize how the <a href="../../../freemarker/template/ObjectWrapper.html" title="interface in freemarker.template"><code>ObjectWrapper</code></a> is created <em>from the init-param values</em>, or you want to do some
 post-processing (like checking) on the created <a href="../../../freemarker/template/ObjectWrapper.html" title="interface in freemarker.template"><code>ObjectWrapper</code></a>. To customize init-param interpretation,
 call <code>GenericServlet.getInitParameter(String)</code> with <a href="../../../freemarker/core/Configurable.html#OBJECT_WRAPPER_KEY"><code>Configurable.OBJECT_WRAPPER_KEY</code></a> as argument, and see if it
 returns a value that you want to interpret yourself. If was <code>null</code> or you don't want to interpret the
 value, fall back to the super method.
 
 <p>
 The default implementation interprets the <code>object_wrapper</code> servlet init-param with
 calling <a href="../../../freemarker/core/Configurable.html#setSetting-java.lang.String-java.lang.String-"><code>Configurable.setSetting(String, String)</code></a> (see valid values there), or if there's no such servlet
 init-param, then it calls <a href="../../../freemarker/ext/servlet/FreemarkerServlet.html#createDefaultObjectWrapper--"><code>createDefaultObjectWrapper()</code></a>.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>The <a href="../../../freemarker/template/ObjectWrapper.html" title="interface in freemarker.template"><code>ObjectWrapper</code></a> that will be used for adapting request, session, and servlet context attributes
         to <a href="../../../freemarker/template/TemplateModel.html" title="interface in freemarker.template"><code>TemplateModel</code></a>-s, and also as the object wrapper setting of <a href="../../../freemarker/template/Configuration.html" title="class in freemarker.template"><code>Configuration</code></a>.</dd>
</dl>
</li>
</ul>
<a name="createDefaultObjectWrapper--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>createDefaultObjectWrapper</h4>
<pre>protected&nbsp;<a href="../../../freemarker/template/ObjectWrapper.html" title="interface in freemarker.template">ObjectWrapper</a>&nbsp;createDefaultObjectWrapper()</pre>
<div class="block">Override this to specify what the default <a href="../../../freemarker/template/ObjectWrapper.html" title="interface in freemarker.template"><code>ObjectWrapper</code></a> will be when the
 <code>object_wrapper</code> Servlet init-param wasn't specified. Note that this is called by
 <a href="../../../freemarker/ext/servlet/FreemarkerServlet.html#createConfiguration--"><code>createConfiguration()</code></a>, and so if that was also overidden but improperly then this method might won't be
 ever called. Also note that if you set the <code>object_wrapper</code> in <a href="../../../freemarker/ext/servlet/FreemarkerServlet.html#createConfiguration--"><code>createConfiguration()</code></a>, then this
 won't be called, since then that has already specified the default.
 
 <p>
 The default implementation calls <a href="../../../freemarker/template/Configuration.html#getDefaultObjectWrapper-freemarker.template.Version-"><code>Configuration.getDefaultObjectWrapper(freemarker.template.Version)</code></a>. You
 should also pass in the version paramter when creating an <a href="../../../freemarker/template/ObjectWrapper.html" title="interface in freemarker.template"><code>ObjectWrapper</code></a> that supports that. You can get
 the version by calling <a href="../../../freemarker/ext/servlet/FreemarkerServlet.html#getConfiguration--"><code>getConfiguration()</code></a> and then <a href="../../../freemarker/template/Configuration.html#getIncompatibleImprovements--"><code>Configuration.getIncompatibleImprovements()</code></a>.</div>
<dl>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>2.3.22</dd>
</dl>
</li>
</ul>
<a name="getObjectWrapper--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getObjectWrapper</h4>
<pre>protected&nbsp;<a href="../../../freemarker/template/ObjectWrapper.html" title="interface in freemarker.template">ObjectWrapper</a>&nbsp;getObjectWrapper()</pre>
<div class="block">Should be final; don't override it. Override <a href="../../../freemarker/ext/servlet/FreemarkerServlet.html#createObjectWrapper--"><code>createObjectWrapper()</code></a> instead.</div>
</li>
</ul>
<a name="getTemplatePath--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getTemplatePath</h4>
<pre>@Deprecated
protected final&nbsp;java.lang.String&nbsp;getTemplatePath()</pre>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">Not called by FreeMarker code, and there's no point to override this (unless to cause confusion).</span></div>
<div class="block">The value of the <code>TemplatePath</code> init-param. <code>null</code> if the <code>template_loader</code> setting was set in
 a custom <a href="../../../freemarker/ext/servlet/FreemarkerServlet.html#createConfiguration--"><code>createConfiguration()</code></a>.</div>
</li>
</ul>
<a name="createRequestParametersHashModel-javax.servlet.http.HttpServletRequest-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>createRequestParametersHashModel</h4>
<pre>protected&nbsp;<a href="../../../freemarker/ext/servlet/HttpRequestParametersHashModel.html" title="class in freemarker.ext.servlet">HttpRequestParametersHashModel</a>&nbsp;createRequestParametersHashModel(javax.servlet.http.HttpServletRequest&nbsp;request)</pre>
</li>
</ul>
<a name="initializeServletContext-javax.servlet.http.HttpServletRequest-javax.servlet.http.HttpServletResponse-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>initializeServletContext</h4>
<pre>protected&nbsp;void&nbsp;initializeServletContext(javax.servlet.http.HttpServletRequest&nbsp;request,
                                        javax.servlet.http.HttpServletResponse&nbsp;response)
                                 throws javax.servlet.ServletException,
                                        java.io.IOException</pre>
<div class="block">Called when servlet detects in a request processing that
 application-global (that is, ServletContext-specific) attributes are not yet
 set.
 This is a generic hook you might use in subclasses to perform a specific
 action on first request in the context. By default it does nothing.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>request</code> - the actual HTTP request</dd>
<dd><code>response</code> - the actual HTTP response</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>javax.servlet.ServletException</code></dd>
<dd><code>java.io.IOException</code></dd>
</dl>
</li>
</ul>
<a name="initializeSession-javax.servlet.http.HttpServletRequest-javax.servlet.http.HttpServletResponse-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>initializeSession</h4>
<pre>protected&nbsp;void&nbsp;initializeSession(javax.servlet.http.HttpServletRequest&nbsp;request,
                                 javax.servlet.http.HttpServletResponse&nbsp;response)
                          throws javax.servlet.ServletException,
                                 java.io.IOException</pre>
<div class="block">Called when servlet detects in a request processing that session-global 
 (that is, HttpSession-specific) attributes are not yet set.
 This is a generic hook you might use in subclasses to perform a specific
 action on first request in the session. By default it does nothing. It
 is only invoked on newly created sessions; it's not invoked when a
 replicated session is reinstantiated in another servlet container.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>request</code> - the actual HTTP request</dd>
<dd><code>response</code> - the actual HTTP response</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>javax.servlet.ServletException</code></dd>
<dd><code>java.io.IOException</code></dd>
</dl>
</li>
</ul>
<a name="preTemplateProcess-javax.servlet.http.HttpServletRequest-javax.servlet.http.HttpServletResponse-freemarker.template.Template-freemarker.template.TemplateModel-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>preTemplateProcess</h4>
<pre>protected&nbsp;boolean&nbsp;preTemplateProcess(javax.servlet.http.HttpServletRequest&nbsp;request,
                                     javax.servlet.http.HttpServletResponse&nbsp;response,
                                     <a href="../../../freemarker/template/Template.html" title="class in freemarker.template">Template</a>&nbsp;template,
                                     <a href="../../../freemarker/template/TemplateModel.html" title="interface in freemarker.template">TemplateModel</a>&nbsp;model)
                              throws javax.servlet.ServletException,
                                     java.io.IOException</pre>
<div class="block">Called before the execution is passed to <a href="../../../freemarker/template/Template.html#process-java.lang.Object-java.io.Writer-"><code>Template.process(Object, java.io.Writer)</code></a>. This is a
 generic hook you might use in subclasses to perform a specific action before the template is processed.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>request</code> - The HTTP request that we will response to.</dd>
<dd><code>response</code> - The HTTP response. The HTTP headers are already initialized here, such as the <code>conteType</code> and
            the <code>responseCharacterEncoding</code> are already set, but you can do the final adjustments here. The
            response <code>Writer</code> isn't created yet, so changing HTTP headers and buffering parameters works.</dd>
<dd><code>template</code> - The template that will get executed</dd>
<dd><code>model</code> - The data model that will be passed to the template. By default this will be an
            <a href="../../../freemarker/ext/servlet/AllHttpScopesHashModel.html" title="class in freemarker.ext.servlet"><code>AllHttpScopesHashModel</code></a> (which is a <a href="../../../freemarker/template/SimpleHash.html" title="class in freemarker.template"><code>SimpleHash</code></a> subclass). Thus, you
            can add new variables to the data-model with the
            <a href="../../../freemarker/template/SimpleHash.html#put-java.lang.String-java.lang.Object-"><code>SimpleHash.put(String, Object)</code></a> subclass) method. However, to adjust the
            data-model, overriding
            <a href="../../../freemarker/ext/servlet/FreemarkerServlet.html#createModel-freemarker.template.ObjectWrapper-javax.servlet.ServletContext-javax.servlet.http.HttpServletRequest-javax.servlet.http.HttpServletResponse-"><code>createModel(ObjectWrapper, ServletContext, HttpServletRequest, HttpServletResponse)</code></a> is
            probably a more appropriate place.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>true to process the template, false to suppress template processing.</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>javax.servlet.ServletException</code></dd>
<dd><code>java.io.IOException</code></dd>
</dl>
</li>
</ul>
<a name="postTemplateProcess-javax.servlet.http.HttpServletRequest-javax.servlet.http.HttpServletResponse-freemarker.template.Template-freemarker.template.TemplateModel-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>postTemplateProcess</h4>
<pre>protected&nbsp;void&nbsp;postTemplateProcess(javax.servlet.http.HttpServletRequest&nbsp;request,
                                   javax.servlet.http.HttpServletResponse&nbsp;response,
                                   <a href="../../../freemarker/template/Template.html" title="class in freemarker.template">Template</a>&nbsp;template,
                                   <a href="../../../freemarker/template/TemplateModel.html" title="interface in freemarker.template">TemplateModel</a>&nbsp;data)
                            throws javax.servlet.ServletException,
                                   java.io.IOException</pre>
<div class="block">Called after the execution returns from <a href="../../../freemarker/template/Template.html#process-java.lang.Object-java.io.Writer-"><code>Template.process(Object, java.io.Writer)</code></a>.
 This is a generic hook you might use in subclasses to perform a specific
 action after the template is processed. It will be invoked even if the
 template processing throws an exception. By default does nothing.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>request</code> - the actual HTTP request</dd>
<dd><code>response</code> - the actual HTTP response</dd>
<dd><code>template</code> - the template that was executed</dd>
<dd><code>data</code> - the data that was passed to the template</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>javax.servlet.ServletException</code></dd>
<dd><code>java.io.IOException</code></dd>
</dl>
</li>
</ul>
<a name="getConfiguration--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getConfiguration</h4>
<pre>protected&nbsp;<a href="../../../freemarker/template/Configuration.html" title="class in freemarker.template">Configuration</a>&nbsp;getConfiguration()</pre>
<div class="block">Returns the <a href="../../../freemarker/template/Configuration.html" title="class in freemarker.template"><code>Configuration</code></a> object used by this servlet.
 Please don't forget that <a href="../../../freemarker/template/Configuration.html" title="class in freemarker.template"><code>Configuration</code></a> is not thread-safe
 when you modify it.</div>
</li>
</ul>
<a name="getDefaultOverrideResponseContentType--">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>getDefaultOverrideResponseContentType</h4>
<pre>protected&nbsp;java.lang.String&nbsp;getDefaultOverrideResponseContentType()</pre>
<div class="block">Returns the default value of the <a href="../../../freemarker/ext/servlet/FreemarkerServlet.html#INIT_PARAM_OVERRIDE_RESPONSE_CONTENT_TYPE">"OverrideResponseContentType"</a> Servlet init-param.
 The method inherited from <a href="../../../freemarker/ext/servlet/FreemarkerServlet.html" title="class in freemarker.ext.servlet"><code>FreemarkerServlet</code></a> returns <a href="../../../freemarker/ext/servlet/FreemarkerServlet.html#INIT_PARAM_VALUE_ALWAYS">"always"</a>; subclasses my
 override this.</div>
<dl>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>2.3.24</dd>
</dl>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
</div>
<!-- ========= END OF CLASS DATA ========= -->
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a name="navbar.bottom">
<!--   -->
</a>
<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
<a name="navbar.bottom.firstrow">
<!--   -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/FreemarkerServlet.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../index-all.html">Index</a></li>
<li><a href="../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../freemarker/ext/servlet/AllHttpScopesHashModel.html" title="class in freemarker.ext.servlet"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../freemarker/ext/servlet/HttpRequestHashModel.html" title="class in freemarker.ext.servlet"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../index.html?freemarker/ext/servlet/FreemarkerServlet.html" target="_top">Frames</a></li>
<li><a href="FreemarkerServlet.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
  allClassesLink = document.getElementById("allclasses_navbar_bottom");
  if(window==top) {
    allClassesLink.style.display = "block";
  }
  else {
    allClassesLink.style.display = "none";
  }
  //-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a name="skip.navbar.bottom">
<!--   -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
</body>
</html>
