<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!--NewPage-->
<HTML>
<HEAD>
<!-- Generated by javadoc (build 1.5.0_09) on Tue Mar 06 19:35:25 CET 2007 -->
<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<TITLE>
VelocityServlet (Apache Velocity 1.5 API)
</TITLE>

<META NAME="keywords" CONTENT="org.apache.velocity.servlet.VelocityServlet class">

<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">

<SCRIPT type="text/javascript">
function windowTitle()
{
    parent.document.title="VelocityServlet (Apache Velocity 1.5 API)";
}
</SCRIPT>
<NOSCRIPT>
</NOSCRIPT>

</HEAD>

<BODY BGCOLOR="white" onload="windowTitle();">


<!-- ========= START OF TOP NAVBAR ======= -->
<A NAME="navbar_top"><!-- --></A>
<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
<TR>
<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
<A NAME="navbar_top_firstrow"><!-- --></A>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
  <TR ALIGN="center" VALIGN="top">
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/VelocityServlet.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
  </TR>
</TABLE>
</TD>
<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
</EM>
</TD>
</TR>

<TR>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
&nbsp;PREV CLASS&nbsp;
&nbsp;NEXT CLASS</FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
  <A HREF="../../../../index.html?org/apache/velocity/servlet/VelocityServlet.html" target="_top"><B>FRAMES</B></A>  &nbsp;
&nbsp;<A HREF="VelocityServlet.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
&nbsp;<SCRIPT type="text/javascript">
  <!--
  if(window==top) {
    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
  }
  //-->
</SCRIPT>
<NOSCRIPT>
  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
</NOSCRIPT>


</FONT></TD>
</TR>
<TR>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
</TR>
</TABLE>
<A NAME="skip-navbar_top"></A>
<!-- ========= END OF TOP NAVBAR ========= -->

<HR>
<!-- ======== START OF CLASS DATA ======== -->
<H2>
<FONT SIZE="-1">
org.apache.velocity.servlet</FONT>
<BR>
Class VelocityServlet</H2>
<PRE>
<A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/Object.html" title="class or interface in java.lang">java.lang.Object</A>
  <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><A HREF="http://tomcat.apache.org/tomcat-4.1-doc/servletapi/javax/servlet/GenericServlet.html" title="class or interface in javax.servlet">javax.servlet.GenericServlet</A>
      <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><A HREF="http://tomcat.apache.org/tomcat-4.1-doc/servletapi/javax/servlet/http/HttpServlet.html" title="class or interface in javax.servlet.http">javax.servlet.http.HttpServlet</A>
          <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><B>org.apache.velocity.servlet.VelocityServlet</B>
</PRE>
<DL>
<DT><B>All Implemented Interfaces:</B> <DD><A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/io/Serializable.html" title="class or interface in java.io">Serializable</A>, <A HREF="http://tomcat.apache.org/tomcat-4.1-doc/servletapi/javax/servlet/Servlet.html" title="class or interface in javax.servlet">Servlet</A>, <A HREF="http://tomcat.apache.org/tomcat-4.1-doc/servletapi/javax/servlet/ServletConfig.html" title="class or interface in javax.servlet">ServletConfig</A></DD>
</DL>
<HR>
<B>Deprecated.</B>&nbsp;<I>This servlet has been replaced by VelocityViewServlet,
 available from the Velocity-Tools sub-project.  VelocityViewServlet
 provides support for quick, clean MVC web development.
 VelocityServlet will be removed in a future version of Velocity.</I>
<P>
<DL>
<DT><PRE>public abstract class <B>VelocityServlet</B><DT>extends <A HREF="http://tomcat.apache.org/tomcat-4.1-doc/servletapi/javax/servlet/http/HttpServlet.html" title="class or interface in javax.servlet.http">HttpServlet</A></DL>
</PRE>

<P>
Base class which simplifies the use of Velocity with Servlets.
 Extend this class, implement the <code>handleRequest()</code> method,
 and add your data to the context.  Then call
 <code>getTemplate("myTemplate.wm")</code>.

 This class puts some things into the context object that you should
 be aware of:
 <pre>
 "req" - The HttpServletRequest object
 "res" - The HttpServletResponse object
 </pre>

 There are other methods you can override to access, alter or control
 any part of the request processing chain.  Please see the javadocs for
 more information on :
 <ul>
 <li> loadConfiguration() : for setting up the Velocity runtime
 <li> createContext() : for creating and loading the Context
 <li> setContentType() : for changing the content type on a request
                         by request basis
 <li> handleRequest() : you <b>must</b> implement this
 <li> mergeTemplate()  : the template rendering process
 <li> requestCleanup() : post rendering resource or other cleanup
 <li> error() : error handling
 </ul>
 <br>
 If you put a String with key "contentType" object into the context within either your
 servlet or within your template, then that will be used to override
 the default content type specified in the properties file.
<P>

<P>
<DL>
<DT><B>Author:</B></DT>
  <DD>Dave Bryson, <a href="mailto:jon@latchkey.com">Jon S. Stevens</a>, <a href="mailto:geirm@optonline.net">Geir Magnusson Jr.</a>, <a href="kjohnson@transparent.com">Kent Johnson</a>, <a href="dlr@finemaltcoding.com">Daniel Rall</a>
 $Id: VelocityServlet.java 463298 2006-10-12 16:10:32Z henning $</DD>
<DT><B>See Also:</B><DD><A HREF="../../../../serialized-form.html#org.apache.velocity.servlet.VelocityServlet">Serialized Form</A></DL>
<HR>

<P>
<!-- =========== FIELD SUMMARY =========== -->

<A NAME="field_summary"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
<B>Field Summary</B></FONT></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;<A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/velocity/servlet/VelocityServlet.html#CONTENT_TYPE">CONTENT_TYPE</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<B>Deprecated.</B>&nbsp;The HTTP content type context key.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;<A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/velocity/servlet/VelocityServlet.html#DEFAULT_CONTENT_TYPE">DEFAULT_CONTENT_TYPE</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<B>Deprecated.</B>&nbsp;The default content type for the response</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;<A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/velocity/servlet/VelocityServlet.html#DEFAULT_OUTPUT_ENCODING">DEFAULT_OUTPUT_ENCODING</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<B>Deprecated.</B>&nbsp;Encoding for the output stream</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected static&nbsp;<A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/velocity/servlet/VelocityServlet.html#INIT_PROPS_KEY">INIT_PROPS_KEY</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<B>Deprecated.</B>&nbsp;This is the string that is looked for when getInitParameter is
 called (<code>org.apache.velocity.properties</code>).</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;<A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/velocity/servlet/VelocityServlet.html#REQUEST">REQUEST</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<B>Deprecated.</B>&nbsp;The context key for the HTTP request object.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;<A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/velocity/servlet/VelocityServlet.html#RESPONSE">RESPONSE</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<B>Deprecated.</B>&nbsp;The context key for the HTTP response object.</TD>
</TR>
</TABLE>
&nbsp;
<!-- ======== CONSTRUCTOR SUMMARY ======== -->

<A NAME="constructor_summary"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
<B>Constructor Summary</B></FONT></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE><B><A HREF="../../../../org/apache/velocity/servlet/VelocityServlet.html#VelocityServlet()">VelocityServlet</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<B>Deprecated.</B>&nbsp;&nbsp;</TD>
</TR>
</TABLE>
&nbsp;
<!-- ========== METHOD SUMMARY =========== -->

<A NAME="method_summary"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
<B>Method Summary</B></FONT></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;<A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/velocity/servlet/VelocityServlet.html#chooseCharacterEncoding(javax.servlet.http.HttpServletRequest)">chooseCharacterEncoding</A></B>(<A HREF="http://tomcat.apache.org/tomcat-4.1-doc/servletapi/javax/servlet/http/HttpServletRequest.html" title="class or interface in javax.servlet.http">HttpServletRequest</A>&nbsp;request)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<B>Deprecated.</B>&nbsp;Chooses the output character encoding to be used as the value
 for the "charset=" portion of the HTTP Content-Type header (and
 thus returned by <code>response.getCharacterEncoding()</code>).</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;<A HREF="../../../../org/apache/velocity/context/Context.html" title="interface in org.apache.velocity.context">Context</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/velocity/servlet/VelocityServlet.html#createContext(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)">createContext</A></B>(<A HREF="http://tomcat.apache.org/tomcat-4.1-doc/servletapi/javax/servlet/http/HttpServletRequest.html" title="class or interface in javax.servlet.http">HttpServletRequest</A>&nbsp;request,
              <A HREF="http://tomcat.apache.org/tomcat-4.1-doc/servletapi/javax/servlet/http/HttpServletResponse.html" title="class or interface in javax.servlet.http">HttpServletResponse</A>&nbsp;response)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<B>Deprecated.</B>&nbsp;Returns a context suitable to pass to the handleRequest() method
  <br><br>
  Default implementation will create a VelocityContext object,
   put the HttpServletRequest and HttpServletResponse
  into the context accessable via the keys VelocityServlet.REQUEST and
  VelocityServlet.RESPONSE, respectively.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/velocity/servlet/VelocityServlet.html#doGet(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)">doGet</A></B>(<A HREF="http://tomcat.apache.org/tomcat-4.1-doc/servletapi/javax/servlet/http/HttpServletRequest.html" title="class or interface in javax.servlet.http">HttpServletRequest</A>&nbsp;request,
      <A HREF="http://tomcat.apache.org/tomcat-4.1-doc/servletapi/javax/servlet/http/HttpServletResponse.html" title="class or interface in javax.servlet.http">HttpServletResponse</A>&nbsp;response)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<B>Deprecated.</B>&nbsp;Handles HTTP <code>GET</code> requests by calling <A HREF="../../../../org/apache/velocity/servlet/VelocityServlet.html#doRequest(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)"><CODE>doRequest(HttpServletRequest, HttpServletResponse)</CODE></A>.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/velocity/servlet/VelocityServlet.html#doPost(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)">doPost</A></B>(<A HREF="http://tomcat.apache.org/tomcat-4.1-doc/servletapi/javax/servlet/http/HttpServletRequest.html" title="class or interface in javax.servlet.http">HttpServletRequest</A>&nbsp;request,
       <A HREF="http://tomcat.apache.org/tomcat-4.1-doc/servletapi/javax/servlet/http/HttpServletResponse.html" title="class or interface in javax.servlet.http">HttpServletResponse</A>&nbsp;response)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<B>Deprecated.</B>&nbsp;Handles HTTP <code>POST</code> requests by calling <A HREF="../../../../org/apache/velocity/servlet/VelocityServlet.html#doRequest(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)"><CODE>doRequest(HttpServletRequest, HttpServletResponse)</CODE></A>.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/velocity/servlet/VelocityServlet.html#doRequest(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)">doRequest</A></B>(<A HREF="http://tomcat.apache.org/tomcat-4.1-doc/servletapi/javax/servlet/http/HttpServletRequest.html" title="class or interface in javax.servlet.http">HttpServletRequest</A>&nbsp;request,
          <A HREF="http://tomcat.apache.org/tomcat-4.1-doc/servletapi/javax/servlet/http/HttpServletResponse.html" title="class or interface in javax.servlet.http">HttpServletResponse</A>&nbsp;response)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<B>Deprecated.</B>&nbsp;Handles all requests (by default).</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/velocity/servlet/VelocityServlet.html#error(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse, java.lang.Exception)">error</A></B>(<A HREF="http://tomcat.apache.org/tomcat-4.1-doc/servletapi/javax/servlet/http/HttpServletRequest.html" title="class or interface in javax.servlet.http">HttpServletRequest</A>&nbsp;request,
      <A HREF="http://tomcat.apache.org/tomcat-4.1-doc/servletapi/javax/servlet/http/HttpServletResponse.html" title="class or interface in javax.servlet.http">HttpServletResponse</A>&nbsp;response,
      <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/Exception.html" title="class or interface in java.lang">Exception</A>&nbsp;cause)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<B>Deprecated.</B>&nbsp;Invoked when there is an error thrown in any part of doRequest() processing.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../../org/apache/velocity/Template.html" title="class in org.apache.velocity">Template</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/velocity/servlet/VelocityServlet.html#getTemplate(java.lang.String)">getTemplate</A></B>(<A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>&nbsp;name)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<B>Deprecated.</B>&nbsp;Retrieves the requested template.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../../org/apache/velocity/Template.html" title="class in org.apache.velocity">Template</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/velocity/servlet/VelocityServlet.html#getTemplate(java.lang.String, java.lang.String)">getTemplate</A></B>(<A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>&nbsp;name,
            <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>&nbsp;encoding)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<B>Deprecated.</B>&nbsp;Retrieves the requested template with the specified
 character encoding.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;<A HREF="../../../../org/apache/velocity/Template.html" title="class in org.apache.velocity">Template</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/velocity/servlet/VelocityServlet.html#handleRequest(org.apache.velocity.context.Context)">handleRequest</A></B>(<A HREF="../../../../org/apache/velocity/context/Context.html" title="interface in org.apache.velocity.context">Context</A>&nbsp;ctx)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<B>Deprecated.</B>&nbsp;<I>Use
 <A HREF="../../../../org/apache/velocity/servlet/VelocityServlet.html#handleRequest(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse, org.apache.velocity.context.Context)"><CODE>handleRequest( HttpServletRequest request,
 HttpServletResponse response, Context ctx )</CODE></A></I></TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;<A HREF="../../../../org/apache/velocity/Template.html" title="class in org.apache.velocity">Template</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/velocity/servlet/VelocityServlet.html#handleRequest(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse, org.apache.velocity.context.Context)">handleRequest</A></B>(<A HREF="http://tomcat.apache.org/tomcat-4.1-doc/servletapi/javax/servlet/http/HttpServletRequest.html" title="class or interface in javax.servlet.http">HttpServletRequest</A>&nbsp;request,
              <A HREF="http://tomcat.apache.org/tomcat-4.1-doc/servletapi/javax/servlet/http/HttpServletResponse.html" title="class or interface in javax.servlet.http">HttpServletResponse</A>&nbsp;response,
              <A HREF="../../../../org/apache/velocity/context/Context.html" title="interface in org.apache.velocity.context">Context</A>&nbsp;ctx)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<B>Deprecated.</B>&nbsp;Implement this method to add your application data to the context,
 calling the <code>getTemplate()</code> method to produce your return
 value.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/velocity/servlet/VelocityServlet.html#init(javax.servlet.ServletConfig)">init</A></B>(<A HREF="http://tomcat.apache.org/tomcat-4.1-doc/servletapi/javax/servlet/ServletConfig.html" title="class or interface in javax.servlet">ServletConfig</A>&nbsp;config)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<B>Deprecated.</B>&nbsp;Performs initialization of this servlet.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/velocity/servlet/VelocityServlet.html#initVelocity(javax.servlet.ServletConfig)">initVelocity</A></B>(<A HREF="http://tomcat.apache.org/tomcat-4.1-doc/servletapi/javax/servlet/ServletConfig.html" title="class or interface in javax.servlet">ServletConfig</A>&nbsp;config)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<B>Deprecated.</B>&nbsp;Initializes the Velocity runtime, first calling
  loadConfiguration(ServletConvig) to get a
  java.util.Properties of configuration information
  and then calling Velocity.init().</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;<A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/util/Properties.html" title="class or interface in java.util">Properties</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/velocity/servlet/VelocityServlet.html#loadConfiguration(javax.servlet.ServletConfig)">loadConfiguration</A></B>(<A HREF="http://tomcat.apache.org/tomcat-4.1-doc/servletapi/javax/servlet/ServletConfig.html" title="class or interface in javax.servlet">ServletConfig</A>&nbsp;config)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<B>Deprecated.</B>&nbsp;<I>Use VelocityViewServlet from the Velocity Tools
 library instead.</I></TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/velocity/servlet/VelocityServlet.html#mergeTemplate(org.apache.velocity.Template, org.apache.velocity.context.Context, javax.servlet.http.HttpServletResponse)">mergeTemplate</A></B>(<A HREF="../../../../org/apache/velocity/Template.html" title="class in org.apache.velocity">Template</A>&nbsp;template,
              <A HREF="../../../../org/apache/velocity/context/Context.html" title="interface in org.apache.velocity.context">Context</A>&nbsp;context,
              <A HREF="http://tomcat.apache.org/tomcat-4.1-doc/servletapi/javax/servlet/http/HttpServletResponse.html" title="class or interface in javax.servlet.http">HttpServletResponse</A>&nbsp;response)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<B>Deprecated.</B>&nbsp;merges the template with the context.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/velocity/servlet/VelocityServlet.html#requestCleanup(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse, org.apache.velocity.context.Context)">requestCleanup</A></B>(<A HREF="http://tomcat.apache.org/tomcat-4.1-doc/servletapi/javax/servlet/http/HttpServletRequest.html" title="class or interface in javax.servlet.http">HttpServletRequest</A>&nbsp;request,
               <A HREF="http://tomcat.apache.org/tomcat-4.1-doc/servletapi/javax/servlet/http/HttpServletResponse.html" title="class or interface in javax.servlet.http">HttpServletResponse</A>&nbsp;response,
               <A HREF="../../../../org/apache/velocity/context/Context.html" title="interface in org.apache.velocity.context">Context</A>&nbsp;context)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<B>Deprecated.</B>&nbsp;A cleanup routine which is called at the end of the <A HREF="../../../../org/apache/velocity/servlet/VelocityServlet.html#doRequest(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)"><CODE>doRequest(HttpServletRequest, HttpServletResponse)</CODE></A>
  processing sequence, allowing a derived class to do resource
  cleanup or other end of process cycle tasks.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/velocity/servlet/VelocityServlet.html#setContentType(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)">setContentType</A></B>(<A HREF="http://tomcat.apache.org/tomcat-4.1-doc/servletapi/javax/servlet/http/HttpServletRequest.html" title="class or interface in javax.servlet.http">HttpServletRequest</A>&nbsp;request,
               <A HREF="http://tomcat.apache.org/tomcat-4.1-doc/servletapi/javax/servlet/http/HttpServletResponse.html" title="class or interface in javax.servlet.http">HttpServletResponse</A>&nbsp;response)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<B>Deprecated.</B>&nbsp;Sets the content type of the response, defaulting to <A HREF="../../../../org/apache/velocity/servlet/VelocityServlet.html#defaultContentType"><CODE>defaultContentType</CODE></A> if not overriden.</TD>
</TR>
</TABLE>
&nbsp;<A NAME="methods_inherited_from_class_javax.servlet.http.HttpServlet"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
<TH ALIGN="left"><B>Methods inherited from class javax.servlet.http.<A HREF="http://tomcat.apache.org/tomcat-4.1-doc/servletapi/javax/servlet/http/HttpServlet.html" title="class or interface in javax.servlet.http">HttpServlet</A></B></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE><A HREF="http://tomcat.apache.org/tomcat-4.1-doc/servletapi/javax/servlet/http/HttpServlet.html#doDelete(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)" title="class or interface in javax.servlet.http">doDelete</A>, <A HREF="http://tomcat.apache.org/tomcat-4.1-doc/servletapi/javax/servlet/http/HttpServlet.html#doHead(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)" title="class or interface in javax.servlet.http">doHead</A>, <A HREF="http://tomcat.apache.org/tomcat-4.1-doc/servletapi/javax/servlet/http/HttpServlet.html#doOptions(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)" title="class or interface in javax.servlet.http">doOptions</A>, <A HREF="http://tomcat.apache.org/tomcat-4.1-doc/servletapi/javax/servlet/http/HttpServlet.html#doPut(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)" title="class or interface in javax.servlet.http">doPut</A>, <A HREF="http://tomcat.apache.org/tomcat-4.1-doc/servletapi/javax/servlet/http/HttpServlet.html#doTrace(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)" title="class or interface in javax.servlet.http">doTrace</A>, <A HREF="http://tomcat.apache.org/tomcat-4.1-doc/servletapi/javax/servlet/http/HttpServlet.html#getLastModified(javax.servlet.http.HttpServletRequest)" title="class or interface in javax.servlet.http">getLastModified</A>, <A HREF="http://tomcat.apache.org/tomcat-4.1-doc/servletapi/javax/servlet/http/HttpServlet.html#service(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)" title="class or interface in javax.servlet.http">service</A>, <A HREF="http://tomcat.apache.org/tomcat-4.1-doc/servletapi/javax/servlet/http/HttpServlet.html#service(javax.servlet.ServletRequest, javax.servlet.ServletResponse)" title="class or interface in javax.servlet.http">service</A></CODE></TD>
</TR>
</TABLE>
&nbsp;<A NAME="methods_inherited_from_class_javax.servlet.GenericServlet"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
<TH ALIGN="left"><B>Methods inherited from class javax.servlet.<A HREF="http://tomcat.apache.org/tomcat-4.1-doc/servletapi/javax/servlet/GenericServlet.html" title="class or interface in javax.servlet">GenericServlet</A></B></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE><A HREF="http://tomcat.apache.org/tomcat-4.1-doc/servletapi/javax/servlet/GenericServlet.html#destroy()" title="class or interface in javax.servlet">destroy</A>, <A HREF="http://tomcat.apache.org/tomcat-4.1-doc/servletapi/javax/servlet/GenericServlet.html#getInitParameter(java.lang.String)" title="class or interface in javax.servlet">getInitParameter</A>, <A HREF="http://tomcat.apache.org/tomcat-4.1-doc/servletapi/javax/servlet/GenericServlet.html#getInitParameterNames()" title="class or interface in javax.servlet">getInitParameterNames</A>, <A HREF="http://tomcat.apache.org/tomcat-4.1-doc/servletapi/javax/servlet/GenericServlet.html#getServletConfig()" title="class or interface in javax.servlet">getServletConfig</A>, <A HREF="http://tomcat.apache.org/tomcat-4.1-doc/servletapi/javax/servlet/GenericServlet.html#getServletContext()" title="class or interface in javax.servlet">getServletContext</A>, <A HREF="http://tomcat.apache.org/tomcat-4.1-doc/servletapi/javax/servlet/GenericServlet.html#getServletInfo()" title="class or interface in javax.servlet">getServletInfo</A>, <A HREF="http://tomcat.apache.org/tomcat-4.1-doc/servletapi/javax/servlet/GenericServlet.html#getServletName()" title="class or interface in javax.servlet">getServletName</A>, <A HREF="http://tomcat.apache.org/tomcat-4.1-doc/servletapi/javax/servlet/GenericServlet.html#init()" title="class or interface in javax.servlet">init</A>, <A HREF="http://tomcat.apache.org/tomcat-4.1-doc/servletapi/javax/servlet/GenericServlet.html#log(java.lang.String)" title="class or interface in javax.servlet">log</A>, <A HREF="http://tomcat.apache.org/tomcat-4.1-doc/servletapi/javax/servlet/GenericServlet.html#log(java.lang.String, java.lang.Throwable)" title="class or interface in javax.servlet">log</A></CODE></TD>
</TR>
</TABLE>
&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A></B></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE><A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/Object.html#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/Object.html#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/Object.html#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/Object.html#getClass()" title="class or interface in java.lang">getClass</A>, <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/Object.html#hashCode()" title="class or interface in java.lang">hashCode</A>, <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/Object.html#notify()" title="class or interface in java.lang">notify</A>, <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/Object.html#notifyAll()" title="class or interface in java.lang">notifyAll</A>, <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/Object.html#toString()" title="class or interface in java.lang">toString</A>, <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/Object.html#wait()" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/Object.html#wait(long)" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/Object.html#wait(long, int)" title="class or interface in java.lang">wait</A></CODE></TD>
</TR>
</TABLE>
&nbsp;
<P>

<!-- ============ FIELD DETAIL =========== -->

<A NAME="field_detail"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
<B>Field Detail</B></FONT></TH>
</TR>
</TABLE>

<A NAME="REQUEST"><!-- --></A><H3>
REQUEST</H3>
<PRE>
public static final <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>REQUEST</B></PRE>
<DL>
<DD><B>Deprecated.</B>&nbsp;<DD>The context key for the HTTP request object.
<P>
<DL>
<DT><B>See Also:</B><DD><A HREF="../../../../constant-values.html#org.apache.velocity.servlet.VelocityServlet.REQUEST">Constant Field Values</A></DL>
</DL>
<HR>

<A NAME="RESPONSE"><!-- --></A><H3>
RESPONSE</H3>
<PRE>
public static final <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>RESPONSE</B></PRE>
<DL>
<DD><B>Deprecated.</B>&nbsp;<DD>The context key for the HTTP response object.
<P>
<DL>
<DT><B>See Also:</B><DD><A HREF="../../../../constant-values.html#org.apache.velocity.servlet.VelocityServlet.RESPONSE">Constant Field Values</A></DL>
</DL>
<HR>

<A NAME="CONTENT_TYPE"><!-- --></A><H3>
CONTENT_TYPE</H3>
<PRE>
public static final <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>CONTENT_TYPE</B></PRE>
<DL>
<DD><B>Deprecated.</B>&nbsp;<DD>The HTTP content type context key.
<P>
<DL>
<DT><B>See Also:</B><DD><A HREF="../../../../constant-values.html#org.apache.velocity.servlet.VelocityServlet.CONTENT_TYPE">Constant Field Values</A></DL>
</DL>
<HR>

<A NAME="DEFAULT_CONTENT_TYPE"><!-- --></A><H3>
DEFAULT_CONTENT_TYPE</H3>
<PRE>
public static final <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>DEFAULT_CONTENT_TYPE</B></PRE>
<DL>
<DD><B>Deprecated.</B>&nbsp;<DD>The default content type for the response
<P>
<DL>
<DT><B>See Also:</B><DD><A HREF="../../../../constant-values.html#org.apache.velocity.servlet.VelocityServlet.DEFAULT_CONTENT_TYPE">Constant Field Values</A></DL>
</DL>
<HR>

<A NAME="DEFAULT_OUTPUT_ENCODING"><!-- --></A><H3>
DEFAULT_OUTPUT_ENCODING</H3>
<PRE>
public static final <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>DEFAULT_OUTPUT_ENCODING</B></PRE>
<DL>
<DD><B>Deprecated.</B>&nbsp;<DD>Encoding for the output stream
<P>
<DL>
<DT><B>See Also:</B><DD><A HREF="../../../../constant-values.html#org.apache.velocity.servlet.VelocityServlet.DEFAULT_OUTPUT_ENCODING">Constant Field Values</A></DL>
</DL>
<HR>

<A NAME="INIT_PROPS_KEY"><!-- --></A><H3>
INIT_PROPS_KEY</H3>
<PRE>
protected static final <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>INIT_PROPS_KEY</B></PRE>
<DL>
<DD><B>Deprecated.</B>&nbsp;<DD>This is the string that is looked for when getInitParameter is
 called (<code>org.apache.velocity.properties</code>).
<P>
<DL>
<DT><B>See Also:</B><DD><A HREF="../../../../constant-values.html#org.apache.velocity.servlet.VelocityServlet.INIT_PROPS_KEY">Constant Field Values</A></DL>
</DL>

<!-- ========= CONSTRUCTOR DETAIL ======== -->

<A NAME="constructor_detail"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
<B>Constructor Detail</B></FONT></TH>
</TR>
</TABLE>

<A NAME="VelocityServlet()"><!-- --></A><H3>
VelocityServlet</H3>
<PRE>
public <B>VelocityServlet</B>()</PRE>
<DL>
<DD><B>Deprecated.</B>&nbsp;</DL>

<!-- ============ METHOD DETAIL ========== -->

<A NAME="method_detail"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
<B>Method Detail</B></FONT></TH>
</TR>
</TABLE>

<A NAME="init(javax.servlet.ServletConfig)"><!-- --></A><H3>
init</H3>
<PRE>
public void <B>init</B>(<A HREF="http://tomcat.apache.org/tomcat-4.1-doc/servletapi/javax/servlet/ServletConfig.html" title="class or interface in javax.servlet">ServletConfig</A>&nbsp;config)
          throws <A HREF="http://tomcat.apache.org/tomcat-4.1-doc/servletapi/javax/servlet/ServletException.html" title="class or interface in javax.servlet">ServletException</A></PRE>
<DL>
<DD><B>Deprecated.</B>&nbsp;<DD>Performs initialization of this servlet.  Called by the servlet
 container on loading.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="http://tomcat.apache.org/tomcat-4.1-doc/servletapi/javax/servlet/Servlet.html#init(javax.servlet.ServletConfig)" title="class or interface in javax.servlet">init</A></CODE> in interface <CODE><A HREF="http://tomcat.apache.org/tomcat-4.1-doc/servletapi/javax/servlet/Servlet.html" title="class or interface in javax.servlet">Servlet</A></CODE><DT><B>Overrides:</B><DD><CODE><A HREF="http://tomcat.apache.org/tomcat-4.1-doc/servletapi/javax/servlet/GenericServlet.html#init(javax.servlet.ServletConfig)" title="class or interface in javax.servlet">init</A></CODE> in class <CODE><A HREF="http://tomcat.apache.org/tomcat-4.1-doc/servletapi/javax/servlet/GenericServlet.html" title="class or interface in javax.servlet">GenericServlet</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>config</CODE> - The servlet configuration to apply.
<DT><B>Throws:</B>
<DD><CODE><A HREF="http://tomcat.apache.org/tomcat-4.1-doc/servletapi/javax/servlet/ServletException.html" title="class or interface in javax.servlet">ServletException</A></CODE></DL>
</DD>
</DL>
<HR>

<A NAME="initVelocity(javax.servlet.ServletConfig)"><!-- --></A><H3>
initVelocity</H3>
<PRE>
protected void <B>initVelocity</B>(<A HREF="http://tomcat.apache.org/tomcat-4.1-doc/servletapi/javax/servlet/ServletConfig.html" title="class or interface in javax.servlet">ServletConfig</A>&nbsp;config)
                     throws <A HREF="http://tomcat.apache.org/tomcat-4.1-doc/servletapi/javax/servlet/ServletException.html" title="class or interface in javax.servlet">ServletException</A></PRE>
<DL>
<DD><B>Deprecated.</B>&nbsp;<DD>Initializes the Velocity runtime, first calling
  loadConfiguration(ServletConvig) to get a
  java.util.Properties of configuration information
  and then calling Velocity.init().  Override this
  to do anything to the environment before the
  initialization of the singelton takes place, or to
  initialize the singleton in other ways.
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>config</CODE> - 
<DT><B>Throws:</B>
<DD><CODE><A HREF="http://tomcat.apache.org/tomcat-4.1-doc/servletapi/javax/servlet/ServletException.html" title="class or interface in javax.servlet">ServletException</A></CODE></DL>
</DD>
</DL>
<HR>

<A NAME="loadConfiguration(javax.servlet.ServletConfig)"><!-- --></A><H3>
loadConfiguration</H3>
<PRE>
protected <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/util/Properties.html" title="class or interface in java.util">Properties</A> <B>loadConfiguration</B>(<A HREF="http://tomcat.apache.org/tomcat-4.1-doc/servletapi/javax/servlet/ServletConfig.html" title="class or interface in javax.servlet">ServletConfig</A>&nbsp;config)
                                throws <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A>,
                                       <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/io/FileNotFoundException.html" title="class or interface in java.io">FileNotFoundException</A></PRE>
<DL>
<DD><B>Deprecated.</B>&nbsp;<I>Use VelocityViewServlet from the Velocity Tools
 library instead.</I>
<P>
<DD>Loads the configuration information and returns that
  information as a Properties, which will be used to
  initialize the Velocity runtime.
  <br><br>
  Currently, this method gets the initialization parameter
  VelocityServlet.INIT_PROPS_KEY, which should be a file containing
  the configuration information.
  <br><br>
  To configure your Servlet Spec 2.2 compliant servlet runner to pass
  this to you, put the following in your WEB-INF/web.xml file
  <br>
  <pre>
    &lt;servlet&gt;
      &lt;servlet-name&gt; YourServlet &lt/servlet-name&gt;
      &lt;servlet-class&gt; your.package.YourServlet &lt;/servlet-class&gt;
      &lt;init-param&gt;
         &lt;param-name&gt; org.apache.velocity.properties &lt;/param-name&gt;
         &lt;param-value&gt; velocity.properties &lt;/param-value&gt;
      &lt;/init-param&gt;
    &lt;/servlet&gt;
   </pre>

 Alternately, if you wish to configure an entire context in this
 fashion, you may use the following:
  <br>
  <pre>
    &lt;context-param&gt;
       &lt;param-name&gt; org.apache.velocity.properties &lt;/param-name&gt;
       &lt;param-value&gt; velocity.properties &lt;/param-value&gt;
       &lt;description&gt; Path to Velocity configuration &lt;/description&gt;
    &lt;/context-param&gt;
   </pre>

  Derived classes may do the same, or take advantage of this code to do the loading for them via :
   <pre>
      Properties p = super.loadConfiguration( config );
   </pre>
  and then add or modify the configuration values from the file.
  <br>
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>config</CODE> - ServletConfig passed to the servlets init() function
                Can be used to access the real path via ServletContext (hint)
<DT><B>Returns:</B><DD>java.util.Properties loaded with configuration values to be used
          to initialize the Velocity runtime.
<DT><B>Throws:</B>
<DD><CODE><A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/io/FileNotFoundException.html" title="class or interface in java.io">FileNotFoundException</A></CODE> - if a specified file is not found.
<DD><CODE><A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A></CODE> - I/O problem accessing the specified file, if specified.</DL>
</DD>
</DL>
<HR>

<A NAME="doGet(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)"><!-- --></A><H3>
doGet</H3>
<PRE>
public void <B>doGet</B>(<A HREF="http://tomcat.apache.org/tomcat-4.1-doc/servletapi/javax/servlet/http/HttpServletRequest.html" title="class or interface in javax.servlet.http">HttpServletRequest</A>&nbsp;request,
                  <A HREF="http://tomcat.apache.org/tomcat-4.1-doc/servletapi/javax/servlet/http/HttpServletResponse.html" title="class or interface in javax.servlet.http">HttpServletResponse</A>&nbsp;response)
           throws <A HREF="http://tomcat.apache.org/tomcat-4.1-doc/servletapi/javax/servlet/ServletException.html" title="class or interface in javax.servlet">ServletException</A>,
                  <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A></PRE>
<DL>
<DD><B>Deprecated.</B>&nbsp;<DD>Handles HTTP <code>GET</code> requests by calling <A HREF="../../../../org/apache/velocity/servlet/VelocityServlet.html#doRequest(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)"><CODE>doRequest(HttpServletRequest, HttpServletResponse)</CODE></A>.
<P>
<DD><DL>
<DT><B>Overrides:</B><DD><CODE><A HREF="http://tomcat.apache.org/tomcat-4.1-doc/servletapi/javax/servlet/http/HttpServlet.html#doGet(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)" title="class or interface in javax.servlet.http">doGet</A></CODE> in class <CODE><A HREF="http://tomcat.apache.org/tomcat-4.1-doc/servletapi/javax/servlet/http/HttpServlet.html" title="class or interface in javax.servlet.http">HttpServlet</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>request</CODE> - <DD><CODE>response</CODE> - 
<DT><B>Throws:</B>
<DD><CODE><A HREF="http://tomcat.apache.org/tomcat-4.1-doc/servletapi/javax/servlet/ServletException.html" title="class or interface in javax.servlet">ServletException</A></CODE>
<DD><CODE><A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A></CODE></DL>
</DD>
</DL>
<HR>

<A NAME="doPost(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)"><!-- --></A><H3>
doPost</H3>
<PRE>
public void <B>doPost</B>(<A HREF="http://tomcat.apache.org/tomcat-4.1-doc/servletapi/javax/servlet/http/HttpServletRequest.html" title="class or interface in javax.servlet.http">HttpServletRequest</A>&nbsp;request,
                   <A HREF="http://tomcat.apache.org/tomcat-4.1-doc/servletapi/javax/servlet/http/HttpServletResponse.html" title="class or interface in javax.servlet.http">HttpServletResponse</A>&nbsp;response)
            throws <A HREF="http://tomcat.apache.org/tomcat-4.1-doc/servletapi/javax/servlet/ServletException.html" title="class or interface in javax.servlet">ServletException</A>,
                   <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A></PRE>
<DL>
<DD><B>Deprecated.</B>&nbsp;<DD>Handles HTTP <code>POST</code> requests by calling <A HREF="../../../../org/apache/velocity/servlet/VelocityServlet.html#doRequest(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)"><CODE>doRequest(HttpServletRequest, HttpServletResponse)</CODE></A>.
<P>
<DD><DL>
<DT><B>Overrides:</B><DD><CODE><A HREF="http://tomcat.apache.org/tomcat-4.1-doc/servletapi/javax/servlet/http/HttpServlet.html#doPost(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)" title="class or interface in javax.servlet.http">doPost</A></CODE> in class <CODE><A HREF="http://tomcat.apache.org/tomcat-4.1-doc/servletapi/javax/servlet/http/HttpServlet.html" title="class or interface in javax.servlet.http">HttpServlet</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>request</CODE> - <DD><CODE>response</CODE> - 
<DT><B>Throws:</B>
<DD><CODE><A HREF="http://tomcat.apache.org/tomcat-4.1-doc/servletapi/javax/servlet/ServletException.html" title="class or interface in javax.servlet">ServletException</A></CODE>
<DD><CODE><A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A></CODE></DL>
</DD>
</DL>
<HR>

<A NAME="doRequest(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)"><!-- --></A><H3>
doRequest</H3>
<PRE>
protected void <B>doRequest</B>(<A HREF="http://tomcat.apache.org/tomcat-4.1-doc/servletapi/javax/servlet/http/HttpServletRequest.html" title="class or interface in javax.servlet.http">HttpServletRequest</A>&nbsp;request,
                         <A HREF="http://tomcat.apache.org/tomcat-4.1-doc/servletapi/javax/servlet/http/HttpServletResponse.html" title="class or interface in javax.servlet.http">HttpServletResponse</A>&nbsp;response)
                  throws <A HREF="http://tomcat.apache.org/tomcat-4.1-doc/servletapi/javax/servlet/ServletException.html" title="class or interface in javax.servlet">ServletException</A>,
                         <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A></PRE>
<DL>
<DD><B>Deprecated.</B>&nbsp;<DD>Handles all requests (by default).
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>request</CODE> - HttpServletRequest object containing client request<DD><CODE>response</CODE> - HttpServletResponse object for the response
<DT><B>Throws:</B>
<DD><CODE><A HREF="http://tomcat.apache.org/tomcat-4.1-doc/servletapi/javax/servlet/ServletException.html" title="class or interface in javax.servlet">ServletException</A></CODE>
<DD><CODE><A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A></CODE></DL>
</DD>
</DL>
<HR>

<A NAME="requestCleanup(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse, org.apache.velocity.context.Context)"><!-- --></A><H3>
requestCleanup</H3>
<PRE>
protected void <B>requestCleanup</B>(<A HREF="http://tomcat.apache.org/tomcat-4.1-doc/servletapi/javax/servlet/http/HttpServletRequest.html" title="class or interface in javax.servlet.http">HttpServletRequest</A>&nbsp;request,
                              <A HREF="http://tomcat.apache.org/tomcat-4.1-doc/servletapi/javax/servlet/http/HttpServletResponse.html" title="class or interface in javax.servlet.http">HttpServletResponse</A>&nbsp;response,
                              <A HREF="../../../../org/apache/velocity/context/Context.html" title="interface in org.apache.velocity.context">Context</A>&nbsp;context)</PRE>
<DL>
<DD><B>Deprecated.</B>&nbsp;<DD>A cleanup routine which is called at the end of the <A HREF="../../../../org/apache/velocity/servlet/VelocityServlet.html#doRequest(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)"><CODE>doRequest(HttpServletRequest, HttpServletResponse)</CODE></A>
  processing sequence, allowing a derived class to do resource
  cleanup or other end of process cycle tasks.
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>request</CODE> - servlet request from client<DD><CODE>response</CODE> - servlet reponse<DD><CODE>context</CODE> - context created by the createContext() method</DL>
</DD>
</DL>
<HR>

<A NAME="mergeTemplate(org.apache.velocity.Template, org.apache.velocity.context.Context, javax.servlet.http.HttpServletResponse)"><!-- --></A><H3>
mergeTemplate</H3>
<PRE>
protected void <B>mergeTemplate</B>(<A HREF="../../../../org/apache/velocity/Template.html" title="class in org.apache.velocity">Template</A>&nbsp;template,
                             <A HREF="../../../../org/apache/velocity/context/Context.html" title="interface in org.apache.velocity.context">Context</A>&nbsp;context,
                             <A HREF="http://tomcat.apache.org/tomcat-4.1-doc/servletapi/javax/servlet/http/HttpServletResponse.html" title="class or interface in javax.servlet.http">HttpServletResponse</A>&nbsp;response)
                      throws <A HREF="../../../../org/apache/velocity/exception/ResourceNotFoundException.html" title="class in org.apache.velocity.exception">ResourceNotFoundException</A>,
                             <A HREF="../../../../org/apache/velocity/exception/ParseErrorException.html" title="class in org.apache.velocity.exception">ParseErrorException</A>,
                             <A HREF="../../../../org/apache/velocity/exception/MethodInvocationException.html" title="class in org.apache.velocity.exception">MethodInvocationException</A>,
                             <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A>,
                             <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/io/UnsupportedEncodingException.html" title="class or interface in java.io">UnsupportedEncodingException</A>,
                             <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/Exception.html" title="class or interface in java.lang">Exception</A></PRE>
<DL>
<DD><B>Deprecated.</B>&nbsp;<DD>merges the template with the context.  Only override this if you really, really
  really need to. (And don't call us with questions if it breaks :)
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>template</CODE> - template object returned by the handleRequest() method<DD><CODE>context</CODE> - context created by the createContext() method<DD><CODE>response</CODE> - servlet reponse (use this to get the output stream or Writer
<DT><B>Throws:</B>
<DD><CODE><A HREF="../../../../org/apache/velocity/exception/ResourceNotFoundException.html" title="class in org.apache.velocity.exception">ResourceNotFoundException</A></CODE>
<DD><CODE><A HREF="../../../../org/apache/velocity/exception/ParseErrorException.html" title="class in org.apache.velocity.exception">ParseErrorException</A></CODE>
<DD><CODE><A HREF="../../../../org/apache/velocity/exception/MethodInvocationException.html" title="class in org.apache.velocity.exception">MethodInvocationException</A></CODE>
<DD><CODE><A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A></CODE>
<DD><CODE><A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/io/UnsupportedEncodingException.html" title="class or interface in java.io">UnsupportedEncodingException</A></CODE>
<DD><CODE><A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/Exception.html" title="class or interface in java.lang">Exception</A></CODE></DL>
</DD>
</DL>
<HR>

<A NAME="setContentType(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)"><!-- --></A><H3>
setContentType</H3>
<PRE>
protected void <B>setContentType</B>(<A HREF="http://tomcat.apache.org/tomcat-4.1-doc/servletapi/javax/servlet/http/HttpServletRequest.html" title="class or interface in javax.servlet.http">HttpServletRequest</A>&nbsp;request,
                              <A HREF="http://tomcat.apache.org/tomcat-4.1-doc/servletapi/javax/servlet/http/HttpServletResponse.html" title="class or interface in javax.servlet.http">HttpServletResponse</A>&nbsp;response)</PRE>
<DL>
<DD><B>Deprecated.</B>&nbsp;<DD>Sets the content type of the response, defaulting to <A HREF="../../../../org/apache/velocity/servlet/VelocityServlet.html#defaultContentType"><CODE>defaultContentType</CODE></A> if not overriden.  Delegates to <A HREF="../../../../org/apache/velocity/servlet/VelocityServlet.html#chooseCharacterEncoding(javax.servlet.http.HttpServletRequest)"><CODE>chooseCharacterEncoding(HttpServletRequest)</CODE></A> to select the
 appropriate character encoding.
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>request</CODE> - The servlet request from the client.<DD><CODE>response</CODE> - The servlet reponse to the client.</DL>
</DD>
</DL>
<HR>

<A NAME="chooseCharacterEncoding(javax.servlet.http.HttpServletRequest)"><!-- --></A><H3>
chooseCharacterEncoding</H3>
<PRE>
protected <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>chooseCharacterEncoding</B>(<A HREF="http://tomcat.apache.org/tomcat-4.1-doc/servletapi/javax/servlet/http/HttpServletRequest.html" title="class or interface in javax.servlet.http">HttpServletRequest</A>&nbsp;request)</PRE>
<DL>
<DD><B>Deprecated.</B>&nbsp;<DD>Chooses the output character encoding to be used as the value
 for the "charset=" portion of the HTTP Content-Type header (and
 thus returned by <code>response.getCharacterEncoding()</code>).
 Called by <A HREF="../../../../org/apache/velocity/servlet/VelocityServlet.html#setContentType(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)"><CODE>setContentType(HttpServletRequest,
 HttpServletResponse)</CODE></A> if an encoding isn't already specified by
 Content-Type.  By default, chooses the value of
 RuntimeSingleton's <code>output.encoding</code> property.
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>request</CODE> - The servlet request from the client.
<DT><B>Returns:</B><DD>The chosen character encoding.</DL>
</DD>
</DL>
<HR>

<A NAME="createContext(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)"><!-- --></A><H3>
createContext</H3>
<PRE>
protected <A HREF="../../../../org/apache/velocity/context/Context.html" title="interface in org.apache.velocity.context">Context</A> <B>createContext</B>(<A HREF="http://tomcat.apache.org/tomcat-4.1-doc/servletapi/javax/servlet/http/HttpServletRequest.html" title="class or interface in javax.servlet.http">HttpServletRequest</A>&nbsp;request,
                                <A HREF="http://tomcat.apache.org/tomcat-4.1-doc/servletapi/javax/servlet/http/HttpServletResponse.html" title="class or interface in javax.servlet.http">HttpServletResponse</A>&nbsp;response)</PRE>
<DL>
<DD><B>Deprecated.</B>&nbsp;<DD>Returns a context suitable to pass to the handleRequest() method
  <br><br>
  Default implementation will create a VelocityContext object,
   put the HttpServletRequest and HttpServletResponse
  into the context accessable via the keys VelocityServlet.REQUEST and
  VelocityServlet.RESPONSE, respectively.
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>request</CODE> - servlet request from client<DD><CODE>response</CODE> - servlet reponse to client
<DT><B>Returns:</B><DD>context</DL>
</DD>
</DL>
<HR>

<A NAME="getTemplate(java.lang.String)"><!-- --></A><H3>
getTemplate</H3>
<PRE>
public <A HREF="../../../../org/apache/velocity/Template.html" title="class in org.apache.velocity">Template</A> <B>getTemplate</B>(<A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>&nbsp;name)
                     throws <A HREF="../../../../org/apache/velocity/exception/ResourceNotFoundException.html" title="class in org.apache.velocity.exception">ResourceNotFoundException</A>,
                            <A HREF="../../../../org/apache/velocity/exception/ParseErrorException.html" title="class in org.apache.velocity.exception">ParseErrorException</A>,
                            <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/Exception.html" title="class or interface in java.lang">Exception</A></PRE>
<DL>
<DD><B>Deprecated.</B>&nbsp;<DD>Retrieves the requested template.
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>name</CODE> - The file name of the template to retrieve relative to the
             template root.
<DT><B>Returns:</B><DD>The requested template.
<DT><B>Throws:</B>
<DD><CODE><A HREF="../../../../org/apache/velocity/exception/ResourceNotFoundException.html" title="class in org.apache.velocity.exception">ResourceNotFoundException</A></CODE> - if template not found
          from any available source.
<DD><CODE><A HREF="../../../../org/apache/velocity/exception/ParseErrorException.html" title="class in org.apache.velocity.exception">ParseErrorException</A></CODE> - if template cannot be parsed due
          to syntax (or other) error.
<DD><CODE><A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/Exception.html" title="class or interface in java.lang">Exception</A></CODE> - if an error occurs in template initialization</DL>
</DD>
</DL>
<HR>

<A NAME="getTemplate(java.lang.String, java.lang.String)"><!-- --></A><H3>
getTemplate</H3>
<PRE>
public <A HREF="../../../../org/apache/velocity/Template.html" title="class in org.apache.velocity">Template</A> <B>getTemplate</B>(<A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>&nbsp;name,
                            <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>&nbsp;encoding)
                     throws <A HREF="../../../../org/apache/velocity/exception/ResourceNotFoundException.html" title="class in org.apache.velocity.exception">ResourceNotFoundException</A>,
                            <A HREF="../../../../org/apache/velocity/exception/ParseErrorException.html" title="class in org.apache.velocity.exception">ParseErrorException</A>,
                            <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/Exception.html" title="class or interface in java.lang">Exception</A></PRE>
<DL>
<DD><B>Deprecated.</B>&nbsp;<DD>Retrieves the requested template with the specified
 character encoding.
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>name</CODE> - The file name of the template to retrieve relative to the
             template root.<DD><CODE>encoding</CODE> - the character encoding of the template
<DT><B>Returns:</B><DD>The requested template.
<DT><B>Throws:</B>
<DD><CODE><A HREF="../../../../org/apache/velocity/exception/ResourceNotFoundException.html" title="class in org.apache.velocity.exception">ResourceNotFoundException</A></CODE> - if template not found
          from any available source.
<DD><CODE><A HREF="../../../../org/apache/velocity/exception/ParseErrorException.html" title="class in org.apache.velocity.exception">ParseErrorException</A></CODE> - if template cannot be parsed due
          to syntax (or other) error.
<DD><CODE><A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/Exception.html" title="class or interface in java.lang">Exception</A></CODE> - if an error occurs in template initialization<DT><B>Since:</B></DT>
  <DD>Velocity v1.1</DD>
</DL>
</DD>
</DL>
<HR>

<A NAME="handleRequest(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse, org.apache.velocity.context.Context)"><!-- --></A><H3>
handleRequest</H3>
<PRE>
protected <A HREF="../../../../org/apache/velocity/Template.html" title="class in org.apache.velocity">Template</A> <B>handleRequest</B>(<A HREF="http://tomcat.apache.org/tomcat-4.1-doc/servletapi/javax/servlet/http/HttpServletRequest.html" title="class or interface in javax.servlet.http">HttpServletRequest</A>&nbsp;request,
                                 <A HREF="http://tomcat.apache.org/tomcat-4.1-doc/servletapi/javax/servlet/http/HttpServletResponse.html" title="class or interface in javax.servlet.http">HttpServletResponse</A>&nbsp;response,
                                 <A HREF="../../../../org/apache/velocity/context/Context.html" title="interface in org.apache.velocity.context">Context</A>&nbsp;ctx)
                          throws <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/Exception.html" title="class or interface in java.lang">Exception</A></PRE>
<DL>
<DD><B>Deprecated.</B>&nbsp;<DD>Implement this method to add your application data to the context,
 calling the <code>getTemplate()</code> method to produce your return
 value.
 <br><br>
 In the event of a problem, you may handle the request directly
 and return <code>null</code> or throw a more meaningful exception
 for the error handler to catch.
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>request</CODE> - servlet request from client<DD><CODE>response</CODE> - servlet reponse<DD><CODE>ctx</CODE> - The context to add your data to.
<DT><B>Returns:</B><DD>The template to merge with your context or null, indicating
    that you handled the processing.
<DT><B>Throws:</B>
<DD><CODE><A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/Exception.html" title="class or interface in java.lang">Exception</A></CODE><DT><B>Since:</B></DT>
  <DD>Velocity v1.1</DD>
</DL>
</DD>
</DL>
<HR>

<A NAME="handleRequest(org.apache.velocity.context.Context)"><!-- --></A><H3>
handleRequest</H3>
<PRE>
protected <A HREF="../../../../org/apache/velocity/Template.html" title="class in org.apache.velocity">Template</A> <B>handleRequest</B>(<A HREF="../../../../org/apache/velocity/context/Context.html" title="interface in org.apache.velocity.context">Context</A>&nbsp;ctx)
                          throws <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/Exception.html" title="class or interface in java.lang">Exception</A></PRE>
<DL>
<DD><B>Deprecated.</B>&nbsp;<I>Use
 <A HREF="../../../../org/apache/velocity/servlet/VelocityServlet.html#handleRequest(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse, org.apache.velocity.context.Context)"><CODE>handleRequest( HttpServletRequest request,
 HttpServletResponse response, Context ctx )</CODE></A></I>
<P>
<DD>Implement this method to add your application data to the context,
 calling the <code>getTemplate()</code> method to produce your return
 value.
 <br><br>
 In the event of a problem, you may simple return <code>null</code>
 or throw a more meaningful exception.
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>ctx</CODE> - The context to add your data to.
<DT><B>Returns:</B><DD>The template to merge with your context.
<DT><B>Throws:</B>
<DD><CODE><A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/Exception.html" title="class or interface in java.lang">Exception</A></CODE></DL>
</DD>
</DL>
<HR>

<A NAME="error(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse, java.lang.Exception)"><!-- --></A><H3>
error</H3>
<PRE>
protected void <B>error</B>(<A HREF="http://tomcat.apache.org/tomcat-4.1-doc/servletapi/javax/servlet/http/HttpServletRequest.html" title="class or interface in javax.servlet.http">HttpServletRequest</A>&nbsp;request,
                     <A HREF="http://tomcat.apache.org/tomcat-4.1-doc/servletapi/javax/servlet/http/HttpServletResponse.html" title="class or interface in javax.servlet.http">HttpServletResponse</A>&nbsp;response,
                     <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/Exception.html" title="class or interface in java.lang">Exception</A>&nbsp;cause)
              throws <A HREF="http://tomcat.apache.org/tomcat-4.1-doc/servletapi/javax/servlet/ServletException.html" title="class or interface in javax.servlet">ServletException</A>,
                     <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A></PRE>
<DL>
<DD><B>Deprecated.</B>&nbsp;<DD>Invoked when there is an error thrown in any part of doRequest() processing.
 <br><br>
 Default will send a simple HTML response indicating there was a problem.
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>request</CODE> - original HttpServletRequest from servlet container.<DD><CODE>response</CODE> - HttpServletResponse object from servlet container.<DD><CODE>cause</CODE> - Exception that was thrown by some other part of process.
<DT><B>Throws:</B>
<DD><CODE><A HREF="http://tomcat.apache.org/tomcat-4.1-doc/servletapi/javax/servlet/ServletException.html" title="class or interface in javax.servlet">ServletException</A></CODE>
<DD><CODE><A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A></CODE></DL>
</DD>
</DL>
<!-- ========= END OF CLASS DATA ========= -->
<HR>


<!-- ======= START OF BOTTOM NAVBAR ====== -->
<A NAME="navbar_bottom"><!-- --></A>
<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
<TR>
<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
<A NAME="navbar_bottom_firstrow"><!-- --></A>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
  <TR ALIGN="center" VALIGN="top">
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/VelocityServlet.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
  </TR>
</TABLE>
</TD>
<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
</EM>
</TD>
</TR>

<TR>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
&nbsp;PREV CLASS&nbsp;
&nbsp;NEXT CLASS</FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
  <A HREF="../../../../index.html?org/apache/velocity/servlet/VelocityServlet.html" target="_top"><B>FRAMES</B></A>  &nbsp;
&nbsp;<A HREF="VelocityServlet.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
&nbsp;<SCRIPT type="text/javascript">
  <!--
  if(window==top) {
    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
  }
  //-->
</SCRIPT>
<NOSCRIPT>
  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
</NOSCRIPT>


</FONT></TD>
</TR>
<TR>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
</TR>
</TABLE>
<A NAME="skip-navbar_bottom"></A>
<!-- ======== END OF BOTTOM NAVBAR ======= -->

<HR>
Copyright &copy; 2000-2007 <a href="http://www.apache.org/">The Apache Software Foundation</a>. All Rights Reserved.
</BODY>
</HTML>
