<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" />
<title>VelocityServlet xref</title>
<link type="text/css" rel="stylesheet" href="../../../../stylesheet.css" />
</head>
<body>
<div id="overview"><a href="../../../../../apidocs/org/apache/velocity/servlet/VelocityServlet.html">View Javadoc</a></div><pre>

<a name="1" href="#1">1</a>   <strong class="jxr_keyword">package</strong> org.apache.velocity.servlet;
<a name="2" href="#2">2</a>   
<a name="3" href="#3">3</a>   <em class="jxr_comment">/*</em>
<a name="4" href="#4">4</a>   <em class="jxr_comment"> * Licensed to the Apache Software Foundation (ASF) under one</em>
<a name="5" href="#5">5</a>   <em class="jxr_comment"> * or more contributor license agreements.  See the NOTICE file</em>
<a name="6" href="#6">6</a>   <em class="jxr_comment"> * distributed with this work for additional information</em>
<a name="7" href="#7">7</a>   <em class="jxr_comment"> * regarding copyright ownership.  The ASF licenses this file</em>
<a name="8" href="#8">8</a>   <em class="jxr_comment"> * to you under the Apache License, Version 2.0 (the</em>
<a name="9" href="#9">9</a>   <em class="jxr_comment"> * "License"); you may not use this file except in compliance</em>
<a name="10" href="#10">10</a>  <em class="jxr_comment"> * with the License.  You may obtain a copy of the License at</em>
<a name="11" href="#11">11</a>  <em class="jxr_comment"> *</em>
<a name="12" href="#12">12</a>  <em class="jxr_comment"> *   <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em>
<a name="13" href="#13">13</a>  <em class="jxr_comment"> *</em>
<a name="14" href="#14">14</a>  <em class="jxr_comment"> * Unless required by applicable law or agreed to in writing,</em>
<a name="15" href="#15">15</a>  <em class="jxr_comment"> * software distributed under the License is distributed on an</em>
<a name="16" href="#16">16</a>  <em class="jxr_comment"> * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY</em>
<a name="17" href="#17">17</a>  <em class="jxr_comment"> * KIND, either express or implied.  See the License for the</em>
<a name="18" href="#18">18</a>  <em class="jxr_comment"> * specific language governing permissions and limitations</em>
<a name="19" href="#19">19</a>  <em class="jxr_comment"> * under the License.    </em>
<a name="20" href="#20">20</a>  <em class="jxr_comment"> */</em>
<a name="21" href="#21">21</a>  
<a name="22" href="#22">22</a>  <strong class="jxr_keyword">import</strong> java.io.FileNotFoundException;
<a name="23" href="#23">23</a>  <strong class="jxr_keyword">import</strong> java.io.IOException;
<a name="24" href="#24">24</a>  <strong class="jxr_keyword">import</strong> java.io.OutputStreamWriter;
<a name="25" href="#25">25</a>  <strong class="jxr_keyword">import</strong> java.io.PrintWriter;
<a name="26" href="#26">26</a>  <strong class="jxr_keyword">import</strong> java.io.StringWriter;
<a name="27" href="#27">27</a>  <strong class="jxr_keyword">import</strong> java.io.UnsupportedEncodingException;
<a name="28" href="#28">28</a>  <strong class="jxr_keyword">import</strong> java.util.Properties;
<a name="29" href="#29">29</a>  
<a name="30" href="#30">30</a>  <strong class="jxr_keyword">import</strong> javax.servlet.ServletConfig;
<a name="31" href="#31">31</a>  <strong class="jxr_keyword">import</strong> javax.servlet.ServletContext;
<a name="32" href="#32">32</a>  <strong class="jxr_keyword">import</strong> javax.servlet.ServletException;
<a name="33" href="#33">33</a>  <strong class="jxr_keyword">import</strong> javax.servlet.ServletOutputStream;
<a name="34" href="#34">34</a>  <strong class="jxr_keyword">import</strong> javax.servlet.http.HttpServlet;
<a name="35" href="#35">35</a>  <strong class="jxr_keyword">import</strong> javax.servlet.http.HttpServletRequest;
<a name="36" href="#36">36</a>  <strong class="jxr_keyword">import</strong> javax.servlet.http.HttpServletResponse;
<a name="37" href="#37">37</a>  
<a name="38" href="#38">38</a>  <strong class="jxr_keyword">import</strong> org.apache.velocity.Template;
<a name="39" href="#39">39</a>  <strong class="jxr_keyword">import</strong> org.apache.velocity.VelocityContext;
<a name="40" href="#40">40</a>  <strong class="jxr_keyword">import</strong> org.apache.velocity.app.Velocity;
<a name="41" href="#41">41</a>  <strong class="jxr_keyword">import</strong> org.apache.velocity.context.Context;
<a name="42" href="#42">42</a>  <strong class="jxr_keyword">import</strong> org.apache.velocity.exception.MethodInvocationException;
<a name="43" href="#43">43</a>  <strong class="jxr_keyword">import</strong> org.apache.velocity.exception.ParseErrorException;
<a name="44" href="#44">44</a>  <strong class="jxr_keyword">import</strong> org.apache.velocity.exception.ResourceNotFoundException;
<a name="45" href="#45">45</a>  <strong class="jxr_keyword">import</strong> org.apache.velocity.io.VelocityWriter;
<a name="46" href="#46">46</a>  <strong class="jxr_keyword">import</strong> org.apache.velocity.runtime.RuntimeConstants;
<a name="47" href="#47">47</a>  <strong class="jxr_keyword">import</strong> org.apache.velocity.runtime.RuntimeSingleton;
<a name="48" href="#48">48</a>  <strong class="jxr_keyword">import</strong> org.apache.velocity.util.SimplePool;
<a name="49" href="#49">49</a>  
<a name="50" href="#50">50</a>  <em class="jxr_javadoccomment">/**</em>
<a name="51" href="#51">51</a>  <em class="jxr_javadoccomment"> * Base class which simplifies the use of Velocity with Servlets.</em>
<a name="52" href="#52">52</a>  <em class="jxr_javadoccomment"> * Extend this class, implement the &lt;code&gt;handleRequest()&lt;/code&gt; method,</em>
<a name="53" href="#53">53</a>  <em class="jxr_javadoccomment"> * and add your data to the context.  Then call</em>
<a name="54" href="#54">54</a>  <em class="jxr_javadoccomment"> * &lt;code&gt;getTemplate("myTemplate.wm")&lt;/code&gt;.</em>
<a name="55" href="#55">55</a>  <em class="jxr_javadoccomment"> *</em>
<a name="56" href="#56">56</a>  <em class="jxr_javadoccomment"> * This class puts some things into the context object that you should</em>
<a name="57" href="#57">57</a>  <em class="jxr_javadoccomment"> * be aware of:</em>
<a name="58" href="#58">58</a>  <em class="jxr_javadoccomment"> * &lt;pre&gt;</em>
<a name="59" href="#59">59</a>  <em class="jxr_javadoccomment"> * "req" - The HttpServletRequest object</em>
<a name="60" href="#60">60</a>  <em class="jxr_javadoccomment"> * "res" - The HttpServletResponse object</em>
<a name="61" href="#61">61</a>  <em class="jxr_javadoccomment"> * &lt;/pre&gt;</em>
<a name="62" href="#62">62</a>  <em class="jxr_javadoccomment"> *</em>
<a name="63" href="#63">63</a>  <em class="jxr_javadoccomment"> * There are other methods you can override to access, alter or control</em>
<a name="64" href="#64">64</a>  <em class="jxr_javadoccomment"> * any part of the request processing chain.  Please see the javadocs for</em>
<a name="65" href="#65">65</a>  <em class="jxr_javadoccomment"> * more information on :</em>
<a name="66" href="#66">66</a>  <em class="jxr_javadoccomment"> * &lt;ul&gt;</em>
<a name="67" href="#67">67</a>  <em class="jxr_javadoccomment"> * &lt;li&gt; loadConfiguration() : for setting up the Velocity runtime</em>
<a name="68" href="#68">68</a>  <em class="jxr_javadoccomment"> * &lt;li&gt; createContext() : for creating and loading the Context</em>
<a name="69" href="#69">69</a>  <em class="jxr_javadoccomment"> * &lt;li&gt; setContentType() : for changing the content type on a request</em>
<a name="70" href="#70">70</a>  <em class="jxr_javadoccomment"> *                         by request basis</em>
<a name="71" href="#71">71</a>  <em class="jxr_javadoccomment"> * &lt;li&gt; handleRequest() : you &lt;b&gt;must&lt;/b&gt; implement this</em>
<a name="72" href="#72">72</a>  <em class="jxr_javadoccomment"> * &lt;li&gt; mergeTemplate()  : the template rendering process</em>
<a name="73" href="#73">73</a>  <em class="jxr_javadoccomment"> * &lt;li&gt; requestCleanup() : post rendering resource or other cleanup</em>
<a name="74" href="#74">74</a>  <em class="jxr_javadoccomment"> * &lt;li&gt; error() : error handling</em>
<a name="75" href="#75">75</a>  <em class="jxr_javadoccomment"> * &lt;/ul&gt;</em>
<a name="76" href="#76">76</a>  <em class="jxr_javadoccomment"> * &lt;br&gt;</em>
<a name="77" href="#77">77</a>  <em class="jxr_javadoccomment"> * If you put a String with key "contentType" object into the context within either your</em>
<a name="78" href="#78">78</a>  <em class="jxr_javadoccomment"> * servlet or within your template, then that will be used to override</em>
<a name="79" href="#79">79</a>  <em class="jxr_javadoccomment"> * the default content type specified in the properties file.</em>
<a name="80" href="#80">80</a>  <em class="jxr_javadoccomment"> *</em>
<a name="81" href="#81">81</a>  <em class="jxr_javadoccomment"> * @deprecated This servlet has been replaced by VelocityViewServlet,</em>
<a name="82" href="#82">82</a>  <em class="jxr_javadoccomment"> * available from the Velocity-Tools sub-project.  VelocityViewServlet</em>
<a name="83" href="#83">83</a>  <em class="jxr_javadoccomment"> * provides support for quick, clean MVC web development.</em>
<a name="84" href="#84">84</a>  <em class="jxr_javadoccomment"> * VelocityServlet will be removed in a future version of Velocity.</em>
<a name="85" href="#85">85</a>  <em class="jxr_javadoccomment"> *</em>
<a name="86" href="#86">86</a>  <em class="jxr_javadoccomment"> * @author Dave Bryson</em>
<a name="87" href="#87">87</a>  <em class="jxr_javadoccomment"> * @author &lt;a href="<a href="mailto:jon@latchkey.com" target="alexandria_uri">mailto:jon@latchkey.com</a>"&gt;Jon S. Stevens&lt;/a&gt;</em>
<a name="88" href="#88">88</a>  <em class="jxr_javadoccomment"> * @author &lt;a href="<a href="mailto:geirm@optonline.net" target="alexandria_uri">mailto:geirm@optonline.net</a>"&gt;Geir Magnusson Jr.&lt;/a&gt;</em>
<a name="89" href="#89">89</a>  <em class="jxr_javadoccomment"> * @author &lt;a href="kjohnson@transparent.com"&gt;Kent Johnson&lt;/a&gt;</em>
<a name="90" href="#90">90</a>  <em class="jxr_javadoccomment"> * @author &lt;a href="dlr@finemaltcoding.com"&gt;Daniel Rall&lt;/a&gt;</em>
<a name="91" href="#91">91</a>  <em class="jxr_javadoccomment"> * $Id: VelocityServlet.java 463298 2006-10-12 16:10:32Z henning $</em>
<a name="92" href="#92">92</a>  <em class="jxr_javadoccomment"> */</em>
<a name="93" href="#93">93</a>  <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">abstract</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../org/apache/velocity/servlet/VelocityServlet.html">VelocityServlet</a> <strong class="jxr_keyword">extends</strong> HttpServlet
<a name="94" href="#94">94</a>  {
<a name="95" href="#95">95</a>      <em class="jxr_javadoccomment">/**</em>
<a name="96" href="#96">96</a>  <em class="jxr_javadoccomment">     * The context key for the HTTP request object.</em>
<a name="97" href="#97">97</a>  <em class="jxr_javadoccomment">     */</em>
<a name="98" href="#98">98</a>      <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> String REQUEST = <span class="jxr_string">"req"</span>;
<a name="99" href="#99">99</a>  
<a name="100" href="#100">100</a>     <em class="jxr_javadoccomment">/**</em>
<a name="101" href="#101">101</a> <em class="jxr_javadoccomment">     * The context key for the HTTP response object.</em>
<a name="102" href="#102">102</a> <em class="jxr_javadoccomment">     */</em>
<a name="103" href="#103">103</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> String RESPONSE = <span class="jxr_string">"res"</span>;
<a name="104" href="#104">104</a> 
<a name="105" href="#105">105</a>     <em class="jxr_javadoccomment">/**</em>
<a name="106" href="#106">106</a> <em class="jxr_javadoccomment">     * The HTTP content type context key.</em>
<a name="107" href="#107">107</a> <em class="jxr_javadoccomment">     */</em>
<a name="108" href="#108">108</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> String CONTENT_TYPE = <span class="jxr_string">"default.contentType"</span>;
<a name="109" href="#109">109</a> 
<a name="110" href="#110">110</a>     <em class="jxr_javadoccomment">/**</em>
<a name="111" href="#111">111</a> <em class="jxr_javadoccomment">     *  The default content type for the response</em>
<a name="112" href="#112">112</a> <em class="jxr_javadoccomment">     */</em>
<a name="113" href="#113">113</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> String DEFAULT_CONTENT_TYPE = <span class="jxr_string">"text/html"</span>;
<a name="114" href="#114">114</a> 
<a name="115" href="#115">115</a> 
<a name="116" href="#116">116</a>     <em class="jxr_javadoccomment">/**</em>
<a name="117" href="#117">117</a> <em class="jxr_javadoccomment">     *  Encoding for the output stream</em>
<a name="118" href="#118">118</a> <em class="jxr_javadoccomment">     */</em>
<a name="119" href="#119">119</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> String DEFAULT_OUTPUT_ENCODING = <span class="jxr_string">"ISO-8859-1"</span>;
<a name="120" href="#120">120</a> 
<a name="121" href="#121">121</a>     <em class="jxr_javadoccomment">/**</em>
<a name="122" href="#122">122</a> <em class="jxr_javadoccomment">     * The default content type, itself defaulting to {@link</em>
<a name="123" href="#123">123</a> <em class="jxr_javadoccomment">     * #DEFAULT_CONTENT_TYPE} if not configured.</em>
<a name="124" href="#124">124</a> <em class="jxr_javadoccomment">     */</em>
<a name="125" href="#125">125</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> String defaultContentType;
<a name="126" href="#126">126</a> 
<a name="127" href="#127">127</a>     <em class="jxr_javadoccomment">/**</em>
<a name="128" href="#128">128</a> <em class="jxr_javadoccomment">     * This is the string that is looked for when getInitParameter is</em>
<a name="129" href="#129">129</a> <em class="jxr_javadoccomment">     * called (&lt;code&gt;org.apache.velocity.properties&lt;/code&gt;).</em>
<a name="130" href="#130">130</a> <em class="jxr_javadoccomment">     */</em>
<a name="131" href="#131">131</a>     <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> String INIT_PROPS_KEY =
<a name="132" href="#132">132</a>         <span class="jxr_string">"org.apache.velocity.properties"</span>;
<a name="133" href="#133">133</a> 
<a name="134" href="#134">134</a>     <em class="jxr_javadoccomment">/**</em>
<a name="135" href="#135">135</a> <em class="jxr_javadoccomment">     * Use of this properties key has been deprecated, and will be</em>
<a name="136" href="#136">136</a> <em class="jxr_javadoccomment">     * removed in Velocity version 1.5.</em>
<a name="137" href="#137">137</a> <em class="jxr_javadoccomment">     */</em>
<a name="138" href="#138">138</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> String OLD_INIT_PROPS_KEY = <span class="jxr_string">"properties"</span>;
<a name="139" href="#139">139</a> 
<a name="140" href="#140">140</a>     <em class="jxr_javadoccomment">/**</em>
<a name="141" href="#141">141</a> <em class="jxr_javadoccomment">     * Cache of writers</em>
<a name="142" href="#142">142</a> <em class="jxr_javadoccomment">     */</em>
<a name="143" href="#143">143</a> 
<a name="144" href="#144">144</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <a href="../../../../org/apache/velocity/util/SimplePool.html">SimplePool</a> writerPool = <strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/velocity/util/SimplePool.html">SimplePool</a>(40);
<a name="145" href="#145">145</a> 
<a name="146" href="#146">146</a>     <em class="jxr_javadoccomment">/**</em>
<a name="147" href="#147">147</a> <em class="jxr_javadoccomment">     * Performs initialization of this servlet.  Called by the servlet</em>
<a name="148" href="#148">148</a> <em class="jxr_javadoccomment">     * container on loading.</em>
<a name="149" href="#149">149</a> <em class="jxr_javadoccomment">     *</em>
<a name="150" href="#150">150</a> <em class="jxr_javadoccomment">     * @param config The servlet configuration to apply.</em>
<a name="151" href="#151">151</a> <em class="jxr_javadoccomment">     *</em>
<a name="152" href="#152">152</a> <em class="jxr_javadoccomment">     * @exception ServletException</em>
<a name="153" href="#153">153</a> <em class="jxr_javadoccomment">     */</em>
<a name="154" href="#154">154</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> init( ServletConfig config )
<a name="155" href="#155">155</a>         <strong class="jxr_keyword">throws</strong> ServletException
<a name="156" href="#156">156</a>     {
<a name="157" href="#157">157</a>         <strong class="jxr_keyword">super</strong>.init( config );
<a name="158" href="#158">158</a> 
<a name="159" href="#159">159</a>         <em class="jxr_comment">/*</em>
<a name="160" href="#160">160</a> <em class="jxr_comment">         *  do whatever we have to do to init Velocity</em>
<a name="161" href="#161">161</a> <em class="jxr_comment">         */</em>
<a name="162" href="#162">162</a>         initVelocity( config );
<a name="163" href="#163">163</a> 
<a name="164" href="#164">164</a>         <em class="jxr_comment">/*</em>
<a name="165" href="#165">165</a> <em class="jxr_comment">         *  Now that Velocity is initialized, cache some config.</em>
<a name="166" href="#166">166</a> <em class="jxr_comment">         */</em>
<a name="167" href="#167">167</a>         VelocityServlet.defaultContentType =
<a name="168" href="#168">168</a>                 RuntimeSingleton.getString(CONTENT_TYPE, DEFAULT_CONTENT_TYPE);
<a name="169" href="#169">169</a>     }
<a name="170" href="#170">170</a> 
<a name="171" href="#171">171</a>     <em class="jxr_javadoccomment">/**</em>
<a name="172" href="#172">172</a> <em class="jxr_javadoccomment">     *  Initializes the Velocity runtime, first calling</em>
<a name="173" href="#173">173</a> <em class="jxr_javadoccomment">     *  loadConfiguration(ServletConvig) to get a</em>
<a name="174" href="#174">174</a> <em class="jxr_javadoccomment">     *  java.util.Properties of configuration information</em>
<a name="175" href="#175">175</a> <em class="jxr_javadoccomment">     *  and then calling Velocity.init().  Override this</em>
<a name="176" href="#176">176</a> <em class="jxr_javadoccomment">     *  to do anything to the environment before the</em>
<a name="177" href="#177">177</a> <em class="jxr_javadoccomment">     *  initialization of the singelton takes place, or to</em>
<a name="178" href="#178">178</a> <em class="jxr_javadoccomment">     *  initialize the singleton in other ways.</em>
<a name="179" href="#179">179</a> <em class="jxr_javadoccomment">     * @param config</em>
<a name="180" href="#180">180</a> <em class="jxr_javadoccomment">     * @throws ServletException</em>
<a name="181" href="#181">181</a> <em class="jxr_javadoccomment">     */</em>
<a name="182" href="#182">182</a>     <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">void</strong> initVelocity( ServletConfig config )
<a name="183" href="#183">183</a>          <strong class="jxr_keyword">throws</strong> ServletException
<a name="184" href="#184">184</a>     {
<a name="185" href="#185">185</a>         <strong class="jxr_keyword">try</strong>
<a name="186" href="#186">186</a>         {
<a name="187" href="#187">187</a>             <em class="jxr_comment">/*</em>
<a name="188" href="#188">188</a> <em class="jxr_comment">             *  call the overridable method to allow the</em>
<a name="189" href="#189">189</a> <em class="jxr_comment">             *  derived classes a shot at altering the configuration</em>
<a name="190" href="#190">190</a> <em class="jxr_comment">             *  before initializing Runtime</em>
<a name="191" href="#191">191</a> <em class="jxr_comment">             */</em>
<a name="192" href="#192">192</a> 
<a name="193" href="#193">193</a>             Properties props = loadConfiguration( config );
<a name="194" href="#194">194</a> 
<a name="195" href="#195">195</a>             Velocity.init( props );
<a name="196" href="#196">196</a>         }
<a name="197" href="#197">197</a>         <strong class="jxr_keyword">catch</strong>( Exception e )
<a name="198" href="#198">198</a>         {
<a name="199" href="#199">199</a>             <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> ServletException(<span class="jxr_string">"Error initializing Velocity: "</span> + e, e);
<a name="200" href="#200">200</a>         }
<a name="201" href="#201">201</a>     }
<a name="202" href="#202">202</a> 
<a name="203" href="#203">203</a>     <em class="jxr_javadoccomment">/**</em>
<a name="204" href="#204">204</a> <em class="jxr_javadoccomment">     *  Loads the configuration information and returns that</em>
<a name="205" href="#205">205</a> <em class="jxr_javadoccomment">     *  information as a Properties, which will be used to</em>
<a name="206" href="#206">206</a> <em class="jxr_javadoccomment">     *  initialize the Velocity runtime.</em>
<a name="207" href="#207">207</a> <em class="jxr_javadoccomment">     *  &lt;br&gt;&lt;br&gt;</em>
<a name="208" href="#208">208</a> <em class="jxr_javadoccomment">     *  Currently, this method gets the initialization parameter</em>
<a name="209" href="#209">209</a> <em class="jxr_javadoccomment">     *  VelocityServlet.INIT_PROPS_KEY, which should be a file containing</em>
<a name="210" href="#210">210</a> <em class="jxr_javadoccomment">     *  the configuration information.</em>
<a name="211" href="#211">211</a> <em class="jxr_javadoccomment">     *  &lt;br&gt;&lt;br&gt;</em>
<a name="212" href="#212">212</a> <em class="jxr_javadoccomment">     *  To configure your Servlet Spec 2.2 compliant servlet runner to pass</em>
<a name="213" href="#213">213</a> <em class="jxr_javadoccomment">     *  this to you, put the following in your WEB-INF/web.xml file</em>
<a name="214" href="#214">214</a> <em class="jxr_javadoccomment">     *  &lt;br&gt;</em>
<a name="215" href="#215">215</a> <em class="jxr_javadoccomment">     *  &lt;pre&gt;</em>
<a name="216" href="#216">216</a> <em class="jxr_javadoccomment">     *    &amp;lt;servlet&amp;gt;</em>
<a name="217" href="#217">217</a> <em class="jxr_javadoccomment">     *      &amp;lt;servlet-name&amp;gt; YourServlet &amp;lt/servlet-name&amp;gt;</em>
<a name="218" href="#218">218</a> <em class="jxr_javadoccomment">     *      &amp;lt;servlet-class&amp;gt; your.package.YourServlet &amp;lt;/servlet-class&amp;gt;</em>
<a name="219" href="#219">219</a> <em class="jxr_javadoccomment">     *      &amp;lt;init-param&amp;gt;</em>
<a name="220" href="#220">220</a> <em class="jxr_javadoccomment">     *         &amp;lt;param-name&amp;gt; org.apache.velocity.properties &amp;lt;/param-name&amp;gt;</em>
<a name="221" href="#221">221</a> <em class="jxr_javadoccomment">     *         &amp;lt;param-value&amp;gt; velocity.properties &amp;lt;/param-value&amp;gt;</em>
<a name="222" href="#222">222</a> <em class="jxr_javadoccomment">     *      &amp;lt;/init-param&amp;gt;</em>
<a name="223" href="#223">223</a> <em class="jxr_javadoccomment">     *    &amp;lt;/servlet&amp;gt;</em>
<a name="224" href="#224">224</a> <em class="jxr_javadoccomment">     *   &lt;/pre&gt;</em>
<a name="225" href="#225">225</a> <em class="jxr_javadoccomment">     *</em>
<a name="226" href="#226">226</a> <em class="jxr_javadoccomment">     * Alternately, if you wish to configure an entire context in this</em>
<a name="227" href="#227">227</a> <em class="jxr_javadoccomment">     * fashion, you may use the following:</em>
<a name="228" href="#228">228</a> <em class="jxr_javadoccomment">     *  &lt;br&gt;</em>
<a name="229" href="#229">229</a> <em class="jxr_javadoccomment">     *  &lt;pre&gt;</em>
<a name="230" href="#230">230</a> <em class="jxr_javadoccomment">     *    &amp;lt;context-param&amp;gt;</em>
<a name="231" href="#231">231</a> <em class="jxr_javadoccomment">     *       &amp;lt;param-name&amp;gt; org.apache.velocity.properties &amp;lt;/param-name&amp;gt;</em>
<a name="232" href="#232">232</a> <em class="jxr_javadoccomment">     *       &amp;lt;param-value&amp;gt; velocity.properties &amp;lt;/param-value&amp;gt;</em>
<a name="233" href="#233">233</a> <em class="jxr_javadoccomment">     *       &amp;lt;description&amp;gt; Path to Velocity configuration &amp;lt;/description&amp;gt;</em>
<a name="234" href="#234">234</a> <em class="jxr_javadoccomment">     *    &amp;lt;/context-param&amp;gt;</em>
<a name="235" href="#235">235</a> <em class="jxr_javadoccomment">     *   &lt;/pre&gt;</em>
<a name="236" href="#236">236</a> <em class="jxr_javadoccomment">     *</em>
<a name="237" href="#237">237</a> <em class="jxr_javadoccomment">     *  Derived classes may do the same, or take advantage of this code to do the loading for them via :</em>
<a name="238" href="#238">238</a> <em class="jxr_javadoccomment">     *   &lt;pre&gt;</em>
<a name="239" href="#239">239</a> <em class="jxr_javadoccomment">     *      Properties p = super.loadConfiguration( config );</em>
<a name="240" href="#240">240</a> <em class="jxr_javadoccomment">     *   &lt;/pre&gt;</em>
<a name="241" href="#241">241</a> <em class="jxr_javadoccomment">     *  and then add or modify the configuration values from the file.</em>
<a name="242" href="#242">242</a> <em class="jxr_javadoccomment">     *  &lt;br&gt;</em>
<a name="243" href="#243">243</a> <em class="jxr_javadoccomment">     *</em>
<a name="244" href="#244">244</a> <em class="jxr_javadoccomment">     *  @param config ServletConfig passed to the servlets init() function</em>
<a name="245" href="#245">245</a> <em class="jxr_javadoccomment">     *                Can be used to access the real path via ServletContext (hint)</em>
<a name="246" href="#246">246</a> <em class="jxr_javadoccomment">     *  @return java.util.Properties loaded with configuration values to be used</em>
<a name="247" href="#247">247</a> <em class="jxr_javadoccomment">     *          to initialize the Velocity runtime.</em>
<a name="248" href="#248">248</a> <em class="jxr_javadoccomment">     *  @throws FileNotFoundException if a specified file is not found.</em>
<a name="249" href="#249">249</a> <em class="jxr_javadoccomment">     *  @throws IOException I/O problem accessing the specified file, if specified.</em>
<a name="250" href="#250">250</a> <em class="jxr_javadoccomment">     * @deprecated Use VelocityViewServlet from the Velocity Tools</em>
<a name="251" href="#251">251</a> <em class="jxr_javadoccomment">     * library instead.</em>
<a name="252" href="#252">252</a> <em class="jxr_javadoccomment">     */</em>
<a name="253" href="#253">253</a>     <strong class="jxr_keyword">protected</strong> Properties loadConfiguration(ServletConfig config)
<a name="254" href="#254">254</a>         <strong class="jxr_keyword">throws</strong> IOException, FileNotFoundException
<a name="255" href="#255">255</a>     {
<a name="256" href="#256">256</a>         <em class="jxr_comment">// This is a little overly complex because of legacy support</em>
<a name="257" href="#257">257</a>         <em class="jxr_comment">// for the initialization properties key "properties".</em>
<a name="258" href="#258">258</a>         <em class="jxr_comment">// References to OLD_INIT_PROPS_KEY should be removed at</em>
<a name="259" href="#259">259</a>         <em class="jxr_comment">// Velocity version 1.5.</em>
<a name="260" href="#260">260</a>         String propsFile = config.getInitParameter(INIT_PROPS_KEY);
<a name="261" href="#261">261</a>         <strong class="jxr_keyword">if</strong> (propsFile == <strong class="jxr_keyword">null</strong> || propsFile.length() == 0)
<a name="262" href="#262">262</a>         {
<a name="263" href="#263">263</a>             ServletContext sc = config.getServletContext();
<a name="264" href="#264">264</a>             propsFile = config.getInitParameter(OLD_INIT_PROPS_KEY);
<a name="265" href="#265">265</a>             <strong class="jxr_keyword">if</strong> (propsFile == <strong class="jxr_keyword">null</strong> || propsFile.length() == 0)
<a name="266" href="#266">266</a>             {
<a name="267" href="#267">267</a>                 propsFile = sc.getInitParameter(INIT_PROPS_KEY);
<a name="268" href="#268">268</a>                 <strong class="jxr_keyword">if</strong> (propsFile == <strong class="jxr_keyword">null</strong> || propsFile.length() == 0)
<a name="269" href="#269">269</a>                 {
<a name="270" href="#270">270</a>                     propsFile = sc.getInitParameter(OLD_INIT_PROPS_KEY);
<a name="271" href="#271">271</a>                     <strong class="jxr_keyword">if</strong> (propsFile != <strong class="jxr_keyword">null</strong> &amp;&amp; propsFile.length() &gt; 0)
<a name="272" href="#272">272</a>                     {
<a name="273" href="#273">273</a>                         sc.log(<span class="jxr_string">"Use of the properties initialization "</span> +
<a name="274" href="#274">274</a>                                <span class="jxr_string">"parameter '"</span> + OLD_INIT_PROPS_KEY + <span class="jxr_string">"' has "</span> +
<a name="275" href="#275">275</a>                                <span class="jxr_string">"been deprecated by '"</span> + INIT_PROPS_KEY + '\'');
<a name="276" href="#276">276</a>                     }
<a name="277" href="#277">277</a>                 }
<a name="278" href="#278">278</a>             }
<a name="279" href="#279">279</a>             <strong class="jxr_keyword">else</strong>
<a name="280" href="#280">280</a>             {
<a name="281" href="#281">281</a>                 sc.log(<span class="jxr_string">"Use of the properties initialization parameter '"</span> +
<a name="282" href="#282">282</a>                        OLD_INIT_PROPS_KEY + <span class="jxr_string">"' has been deprecated by '"</span> +
<a name="283" href="#283">283</a>                        INIT_PROPS_KEY + '\'');
<a name="284" href="#284">284</a>             }
<a name="285" href="#285">285</a>         }
<a name="286" href="#286">286</a> 
<a name="287" href="#287">287</a>         <em class="jxr_comment">/*</em>
<a name="288" href="#288">288</a> <em class="jxr_comment">         * This will attempt to find the location of the properties</em>
<a name="289" href="#289">289</a> <em class="jxr_comment">         * file from the relative path to the WAR archive (ie:</em>
<a name="290" href="#290">290</a> <em class="jxr_comment">         * docroot). Since JServ returns null for getRealPath()</em>
<a name="291" href="#291">291</a> <em class="jxr_comment">         * because it was never implemented correctly, then we know we</em>
<a name="292" href="#292">292</a> <em class="jxr_comment">         * will not have an issue with using it this way. I don't know</em>
<a name="293" href="#293">293</a> <em class="jxr_comment">         * if this will break other servlet engines, but it probably</em>
<a name="294" href="#294">294</a> <em class="jxr_comment">         * shouldn't since WAR files are the future anyways.</em>
<a name="295" href="#295">295</a> <em class="jxr_comment">         */</em>
<a name="296" href="#296">296</a> 
<a name="297" href="#297">297</a>         Properties p = <strong class="jxr_keyword">new</strong> Properties();
<a name="298" href="#298">298</a> 
<a name="299" href="#299">299</a>         <strong class="jxr_keyword">if</strong> ( propsFile != <strong class="jxr_keyword">null</strong> )
<a name="300" href="#300">300</a>         {
<a name="301" href="#301">301</a>             p.load(getServletContext().getResourceAsStream(propsFile));
<a name="302" href="#302">302</a>         }
<a name="303" href="#303">303</a> 
<a name="304" href="#304">304</a>         <strong class="jxr_keyword">return</strong> p;
<a name="305" href="#305">305</a>     }
<a name="306" href="#306">306</a> 
<a name="307" href="#307">307</a>     <em class="jxr_javadoccomment">/**</em>
<a name="308" href="#308">308</a> <em class="jxr_javadoccomment">     * Handles HTTP &lt;code&gt;GET&lt;/code&gt; requests by calling {@link</em>
<a name="309" href="#309">309</a> <em class="jxr_javadoccomment">     * #doRequest(HttpServletRequest, HttpServletResponse)}.</em>
<a name="310" href="#310">310</a> <em class="jxr_javadoccomment">     * @param request</em>
<a name="311" href="#311">311</a> <em class="jxr_javadoccomment">     * @param response</em>
<a name="312" href="#312">312</a> <em class="jxr_javadoccomment">     * @throws ServletException</em>
<a name="313" href="#313">313</a> <em class="jxr_javadoccomment">     * @throws IOException</em>
<a name="314" href="#314">314</a> <em class="jxr_javadoccomment">     */</em>
<a name="315" href="#315">315</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> doGet( HttpServletRequest request, HttpServletResponse response )
<a name="316" href="#316">316</a>         <strong class="jxr_keyword">throws</strong> ServletException, IOException
<a name="317" href="#317">317</a>     {
<a name="318" href="#318">318</a>         doRequest(request, response);
<a name="319" href="#319">319</a>     }
<a name="320" href="#320">320</a> 
<a name="321" href="#321">321</a>     <em class="jxr_javadoccomment">/**</em>
<a name="322" href="#322">322</a> <em class="jxr_javadoccomment">     * Handles HTTP &lt;code&gt;POST&lt;/code&gt; requests by calling {@link</em>
<a name="323" href="#323">323</a> <em class="jxr_javadoccomment">     * #doRequest(HttpServletRequest, HttpServletResponse)}.</em>
<a name="324" href="#324">324</a> <em class="jxr_javadoccomment">     * @param request</em>
<a name="325" href="#325">325</a> <em class="jxr_javadoccomment">     * @param response</em>
<a name="326" href="#326">326</a> <em class="jxr_javadoccomment">     * @throws ServletException</em>
<a name="327" href="#327">327</a> <em class="jxr_javadoccomment">     * @throws IOException</em>
<a name="328" href="#328">328</a> <em class="jxr_javadoccomment">     */</em>
<a name="329" href="#329">329</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> doPost( HttpServletRequest request, HttpServletResponse response )
<a name="330" href="#330">330</a>         <strong class="jxr_keyword">throws</strong> ServletException, IOException
<a name="331" href="#331">331</a>     {
<a name="332" href="#332">332</a>         doRequest(request, response);
<a name="333" href="#333">333</a>     }
<a name="334" href="#334">334</a> 
<a name="335" href="#335">335</a>     <em class="jxr_javadoccomment">/**</em>
<a name="336" href="#336">336</a> <em class="jxr_javadoccomment">     *  Handles all requests (by default).</em>
<a name="337" href="#337">337</a> <em class="jxr_javadoccomment">     *</em>
<a name="338" href="#338">338</a> <em class="jxr_javadoccomment">     *  @param request  HttpServletRequest object containing client request</em>
<a name="339" href="#339">339</a> <em class="jxr_javadoccomment">     *  @param response HttpServletResponse object for the response</em>
<a name="340" href="#340">340</a> <em class="jxr_javadoccomment">     * @throws ServletException</em>
<a name="341" href="#341">341</a> <em class="jxr_javadoccomment">     * @throws IOException</em>
<a name="342" href="#342">342</a> <em class="jxr_javadoccomment">     */</em>
<a name="343" href="#343">343</a>     <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">void</strong> doRequest(HttpServletRequest request, HttpServletResponse response )
<a name="344" href="#344">344</a>          <strong class="jxr_keyword">throws</strong> ServletException, IOException
<a name="345" href="#345">345</a>     {
<a name="346" href="#346">346</a>         <a href="../../../../org/apache/velocity/context/Context.html">Context</a> context = <strong class="jxr_keyword">null</strong>;
<a name="347" href="#347">347</a>         <strong class="jxr_keyword">try</strong>
<a name="348" href="#348">348</a>         {
<a name="349" href="#349">349</a>             <em class="jxr_comment">/*</em>
<a name="350" href="#350">350</a> <em class="jxr_comment">             *  first, get a context</em>
<a name="351" href="#351">351</a> <em class="jxr_comment">             */</em>
<a name="352" href="#352">352</a> 
<a name="353" href="#353">353</a>             context = createContext( request, response );
<a name="354" href="#354">354</a> 
<a name="355" href="#355">355</a>             <em class="jxr_comment">/*</em>
<a name="356" href="#356">356</a> <em class="jxr_comment">             *   set the content type</em>
<a name="357" href="#357">357</a> <em class="jxr_comment">             */</em>
<a name="358" href="#358">358</a> 
<a name="359" href="#359">359</a>             setContentType( request, response );
<a name="360" href="#360">360</a> 
<a name="361" href="#361">361</a>             <em class="jxr_comment">/*</em>
<a name="362" href="#362">362</a> <em class="jxr_comment">             *  let someone handle the request</em>
<a name="363" href="#363">363</a> <em class="jxr_comment">             */</em>
<a name="364" href="#364">364</a> 
<a name="365" href="#365">365</a>             <a href="../../../../org/apache/velocity/Template.html">Template</a> template = handleRequest( request, response, context );
<a name="366" href="#366">366</a>             <em class="jxr_comment">/*</em>
<a name="367" href="#367">367</a> <em class="jxr_comment">             *  bail if we can't find the template</em>
<a name="368" href="#368">368</a> <em class="jxr_comment">             */</em>
<a name="369" href="#369">369</a> 
<a name="370" href="#370">370</a>             <strong class="jxr_keyword">if</strong> ( template == <strong class="jxr_keyword">null</strong> )
<a name="371" href="#371">371</a>             {
<a name="372" href="#372">372</a>                 <strong class="jxr_keyword">return</strong>;
<a name="373" href="#373">373</a>             }
<a name="374" href="#374">374</a> 
<a name="375" href="#375">375</a>             <em class="jxr_comment">/*</em>
<a name="376" href="#376">376</a> <em class="jxr_comment">             *  now merge it</em>
<a name="377" href="#377">377</a> <em class="jxr_comment">             */</em>
<a name="378" href="#378">378</a> 
<a name="379" href="#379">379</a>             mergeTemplate( template, context, response );
<a name="380" href="#380">380</a>         }
<a name="381" href="#381">381</a>         <strong class="jxr_keyword">catch</strong> (Exception e)
<a name="382" href="#382">382</a>         {
<a name="383" href="#383">383</a>             <em class="jxr_comment">/*</em>
<a name="384" href="#384">384</a> <em class="jxr_comment">             *  call the error handler to let the derived class</em>
<a name="385" href="#385">385</a> <em class="jxr_comment">             *  do something useful with this failure.</em>
<a name="386" href="#386">386</a> <em class="jxr_comment">             */</em>
<a name="387" href="#387">387</a> 
<a name="388" href="#388">388</a>             error( request, response, e);
<a name="389" href="#389">389</a>         }
<a name="390" href="#390">390</a>         <strong class="jxr_keyword">finally</strong>
<a name="391" href="#391">391</a>         {
<a name="392" href="#392">392</a>             <em class="jxr_comment">/*</em>
<a name="393" href="#393">393</a> <em class="jxr_comment">             *  call cleanup routine to let a derived class do some cleanup</em>
<a name="394" href="#394">394</a> <em class="jxr_comment">             */</em>
<a name="395" href="#395">395</a> 
<a name="396" href="#396">396</a>             requestCleanup( request, response, context );
<a name="397" href="#397">397</a>         }
<a name="398" href="#398">398</a>     }
<a name="399" href="#399">399</a> 
<a name="400" href="#400">400</a>     <em class="jxr_javadoccomment">/**</em>
<a name="401" href="#401">401</a> <em class="jxr_javadoccomment">     *  A cleanup routine which is called at the end of the {@link</em>
<a name="402" href="#402">402</a> <em class="jxr_javadoccomment">     *  #doRequest(HttpServletRequest, HttpServletResponse)}</em>
<a name="403" href="#403">403</a> <em class="jxr_javadoccomment">     *  processing sequence, allowing a derived class to do resource</em>
<a name="404" href="#404">404</a> <em class="jxr_javadoccomment">     *  cleanup or other end of process cycle tasks.</em>
<a name="405" href="#405">405</a> <em class="jxr_javadoccomment">     *</em>
<a name="406" href="#406">406</a> <em class="jxr_javadoccomment">     *  @param request servlet request from client</em>
<a name="407" href="#407">407</a> <em class="jxr_javadoccomment">     *  @param response servlet reponse</em>
<a name="408" href="#408">408</a> <em class="jxr_javadoccomment">     *  @param context  context created by the createContext() method</em>
<a name="409" href="#409">409</a> <em class="jxr_javadoccomment">     */</em>
<a name="410" href="#410">410</a>     <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">void</strong> requestCleanup( HttpServletRequest request, HttpServletResponse response, Context context )
<a name="411" href="#411">411</a>     {
<a name="412" href="#412">412</a>     }
<a name="413" href="#413">413</a> 
<a name="414" href="#414">414</a>     <em class="jxr_javadoccomment">/**</em>
<a name="415" href="#415">415</a> <em class="jxr_javadoccomment">     *  merges the template with the context.  Only override this if you really, really</em>
<a name="416" href="#416">416</a> <em class="jxr_javadoccomment">     *  really need to. (And don't call us with questions if it breaks :)</em>
<a name="417" href="#417">417</a> <em class="jxr_javadoccomment">     *</em>
<a name="418" href="#418">418</a> <em class="jxr_javadoccomment">     *  @param template template object returned by the handleRequest() method</em>
<a name="419" href="#419">419</a> <em class="jxr_javadoccomment">     *  @param context  context created by the createContext() method</em>
<a name="420" href="#420">420</a> <em class="jxr_javadoccomment">     *  @param response servlet reponse (use this to get the output stream or Writer</em>
<a name="421" href="#421">421</a> <em class="jxr_javadoccomment">     * @throws ResourceNotFoundException</em>
<a name="422" href="#422">422</a> <em class="jxr_javadoccomment">     * @throws ParseErrorException</em>
<a name="423" href="#423">423</a> <em class="jxr_javadoccomment">     * @throws MethodInvocationException</em>
<a name="424" href="#424">424</a> <em class="jxr_javadoccomment">     * @throws IOException</em>
<a name="425" href="#425">425</a> <em class="jxr_javadoccomment">     * @throws UnsupportedEncodingException</em>
<a name="426" href="#426">426</a> <em class="jxr_javadoccomment">     * @throws Exception</em>
<a name="427" href="#427">427</a> <em class="jxr_javadoccomment">     */</em>
<a name="428" href="#428">428</a>     <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">void</strong> mergeTemplate( Template template, Context context, HttpServletResponse response )
<a name="429" href="#429">429</a>         <strong class="jxr_keyword">throws</strong> ResourceNotFoundException, ParseErrorException,
<a name="430" href="#430">430</a>                MethodInvocationException, IOException, UnsupportedEncodingException, Exception
<a name="431" href="#431">431</a>     {
<a name="432" href="#432">432</a>         ServletOutputStream output = response.getOutputStream();
<a name="433" href="#433">433</a>         <a href="../../../../org/apache/velocity/io/VelocityWriter.html">VelocityWriter</a> vw = <strong class="jxr_keyword">null</strong>;
<a name="434" href="#434">434</a>         <em class="jxr_comment">// ASSUMPTION: response.setContentType() has been called.</em>
<a name="435" href="#435">435</a>         String encoding = response.getCharacterEncoding();
<a name="436" href="#436">436</a> 
<a name="437" href="#437">437</a>         <strong class="jxr_keyword">try</strong>
<a name="438" href="#438">438</a>         {
<a name="439" href="#439">439</a>             vw = (VelocityWriter) writerPool.get();
<a name="440" href="#440">440</a> 
<a name="441" href="#441">441</a>             <strong class="jxr_keyword">if</strong> (vw == <strong class="jxr_keyword">null</strong>)
<a name="442" href="#442">442</a>             {
<a name="443" href="#443">443</a>                 vw = <strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/velocity/io/VelocityWriter.html">VelocityWriter</a>(<strong class="jxr_keyword">new</strong> OutputStreamWriter(output,
<a name="444" href="#444">444</a>                                                                encoding),
<a name="445" href="#445">445</a>                                         4 * 1024, <strong class="jxr_keyword">true</strong>);
<a name="446" href="#446">446</a>             }
<a name="447" href="#447">447</a>             <strong class="jxr_keyword">else</strong>
<a name="448" href="#448">448</a>             {
<a name="449" href="#449">449</a>                 vw.recycle(<strong class="jxr_keyword">new</strong> OutputStreamWriter(output, encoding));
<a name="450" href="#450">450</a>             }
<a name="451" href="#451">451</a> 
<a name="452" href="#452">452</a>             template.merge(context, vw);
<a name="453" href="#453">453</a>         }
<a name="454" href="#454">454</a>         <strong class="jxr_keyword">finally</strong>
<a name="455" href="#455">455</a>         {
<a name="456" href="#456">456</a>             <strong class="jxr_keyword">if</strong> (vw != <strong class="jxr_keyword">null</strong>)
<a name="457" href="#457">457</a>             {
<a name="458" href="#458">458</a>                 <strong class="jxr_keyword">try</strong>
<a name="459" href="#459">459</a>                 {
<a name="460" href="#460">460</a>                     <em class="jxr_comment">/*</em>
<a name="461" href="#461">461</a> <em class="jxr_comment">                     *  flush and put back into the pool</em>
<a name="462" href="#462">462</a> <em class="jxr_comment">                     *  don't close to allow us to play</em>
<a name="463" href="#463">463</a> <em class="jxr_comment">                     *  nicely with others.</em>
<a name="464" href="#464">464</a> <em class="jxr_comment">                     */</em>
<a name="465" href="#465">465</a>                     vw.flush();
<a name="466" href="#466">466</a>                 }
<a name="467" href="#467">467</a>                 <strong class="jxr_keyword">catch</strong> (IOException e)
<a name="468" href="#468">468</a>                 {
<a name="469" href="#469">469</a>                     <em class="jxr_comment">// do nothing</em>
<a name="470" href="#470">470</a>                 }
<a name="471" href="#471">471</a> 
<a name="472" href="#472">472</a>                 <em class="jxr_comment">/*</em>
<a name="473" href="#473">473</a> <em class="jxr_comment">                 * Clear the VelocityWriter's reference to its</em>
<a name="474" href="#474">474</a> <em class="jxr_comment">                 * internal OutputStreamWriter to allow the latter</em>
<a name="475" href="#475">475</a> <em class="jxr_comment">                 * to be GC'd while vw is pooled.</em>
<a name="476" href="#476">476</a> <em class="jxr_comment">                 */</em>
<a name="477" href="#477">477</a>                 vw.recycle(<strong class="jxr_keyword">null</strong>);
<a name="478" href="#478">478</a>                 writerPool.put(vw);
<a name="479" href="#479">479</a>             }
<a name="480" href="#480">480</a>         }
<a name="481" href="#481">481</a>     }
<a name="482" href="#482">482</a> 
<a name="483" href="#483">483</a>     <em class="jxr_javadoccomment">/**</em>
<a name="484" href="#484">484</a> <em class="jxr_javadoccomment">     * Sets the content type of the response, defaulting to {@link</em>
<a name="485" href="#485">485</a> <em class="jxr_javadoccomment">     * #defaultContentType} if not overriden.  Delegates to {@link</em>
<a name="486" href="#486">486</a> <em class="jxr_javadoccomment">     * #chooseCharacterEncoding(HttpServletRequest)} to select the</em>
<a name="487" href="#487">487</a> <em class="jxr_javadoccomment">     * appropriate character encoding.</em>
<a name="488" href="#488">488</a> <em class="jxr_javadoccomment">     *</em>
<a name="489" href="#489">489</a> <em class="jxr_javadoccomment">     * @param request The servlet request from the client.</em>
<a name="490" href="#490">490</a> <em class="jxr_javadoccomment">     * @param response The servlet reponse to the client.</em>
<a name="491" href="#491">491</a> <em class="jxr_javadoccomment">     */</em>
<a name="492" href="#492">492</a>     <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">void</strong> setContentType(HttpServletRequest request,
<a name="493" href="#493">493</a>                                   HttpServletResponse response)
<a name="494" href="#494">494</a>     {
<a name="495" href="#495">495</a>         String contentType = VelocityServlet.defaultContentType;
<a name="496" href="#496">496</a>         <strong class="jxr_keyword">int</strong> index = contentType.lastIndexOf(';') + 1;
<a name="497" href="#497">497</a>         <strong class="jxr_keyword">if</strong> (index &lt;= 0 || (index &lt; contentType.length() &amp;&amp;
<a name="498" href="#498">498</a>                            contentType.indexOf(<span class="jxr_string">"charset"</span>, index) == -1))
<a name="499" href="#499">499</a>         {
<a name="500" href="#500">500</a>             <em class="jxr_comment">// Append the character encoding which we'd like to use.</em>
<a name="501" href="#501">501</a>             String encoding = chooseCharacterEncoding(request);
<a name="502" href="#502">502</a>             <em class="jxr_comment">//RuntimeSingleton.debug("Chose output encoding of '" +</em>
<a name="503" href="#503">503</a>             <em class="jxr_comment">//                       encoding + '\'');</em>
<a name="504" href="#504">504</a>             <strong class="jxr_keyword">if</strong> (!DEFAULT_OUTPUT_ENCODING.equalsIgnoreCase(encoding))
<a name="505" href="#505">505</a>             {
<a name="506" href="#506">506</a>                 contentType += <span class="jxr_string">"; charset="</span> + encoding;
<a name="507" href="#507">507</a>             }
<a name="508" href="#508">508</a>         }
<a name="509" href="#509">509</a>         response.setContentType(contentType);
<a name="510" href="#510">510</a>         <em class="jxr_comment">//RuntimeSingleton.debug("Response Content-Type set to '" +</em>
<a name="511" href="#511">511</a>         <em class="jxr_comment">//                       contentType + '\'');</em>
<a name="512" href="#512">512</a>     }
<a name="513" href="#513">513</a> 
<a name="514" href="#514">514</a>     <em class="jxr_javadoccomment">/**</em>
<a name="515" href="#515">515</a> <em class="jxr_javadoccomment">     * Chooses the output character encoding to be used as the value</em>
<a name="516" href="#516">516</a> <em class="jxr_javadoccomment">     * for the "charset=" portion of the HTTP Content-Type header (and</em>
<a name="517" href="#517">517</a> <em class="jxr_javadoccomment">     * thus returned by &lt;code&gt;response.getCharacterEncoding()&lt;/code&gt;).</em>
<a name="518" href="#518">518</a> <em class="jxr_javadoccomment">     * Called by {@link #setContentType(HttpServletRequest,</em>
<a name="519" href="#519">519</a> <em class="jxr_javadoccomment">     * HttpServletResponse)} if an encoding isn't already specified by</em>
<a name="520" href="#520">520</a> <em class="jxr_javadoccomment">     * Content-Type.  By default, chooses the value of</em>
<a name="521" href="#521">521</a> <em class="jxr_javadoccomment">     * RuntimeSingleton's &lt;code&gt;output.encoding&lt;/code&gt; property.</em>
<a name="522" href="#522">522</a> <em class="jxr_javadoccomment">     *</em>
<a name="523" href="#523">523</a> <em class="jxr_javadoccomment">     * @param request The servlet request from the client.</em>
<a name="524" href="#524">524</a> <em class="jxr_javadoccomment">     * @return The chosen character encoding.</em>
<a name="525" href="#525">525</a> <em class="jxr_javadoccomment">     */</em>
<a name="526" href="#526">526</a>     <strong class="jxr_keyword">protected</strong> String chooseCharacterEncoding(HttpServletRequest request)
<a name="527" href="#527">527</a>     {
<a name="528" href="#528">528</a>         <strong class="jxr_keyword">return</strong> RuntimeSingleton.getString(RuntimeConstants.OUTPUT_ENCODING,
<a name="529" href="#529">529</a>                                           DEFAULT_OUTPUT_ENCODING);
<a name="530" href="#530">530</a>     }
<a name="531" href="#531">531</a> 
<a name="532" href="#532">532</a>     <em class="jxr_javadoccomment">/**</em>
<a name="533" href="#533">533</a> <em class="jxr_javadoccomment">     *  Returns a context suitable to pass to the handleRequest() method</em>
<a name="534" href="#534">534</a> <em class="jxr_javadoccomment">     *  &lt;br&gt;&lt;br&gt;</em>
<a name="535" href="#535">535</a> <em class="jxr_javadoccomment">     *  Default implementation will create a VelocityContext object,</em>
<a name="536" href="#536">536</a> <em class="jxr_javadoccomment">     *   put the HttpServletRequest and HttpServletResponse</em>
<a name="537" href="#537">537</a> <em class="jxr_javadoccomment">     *  into the context accessable via the keys VelocityServlet.REQUEST and</em>
<a name="538" href="#538">538</a> <em class="jxr_javadoccomment">     *  VelocityServlet.RESPONSE, respectively.</em>
<a name="539" href="#539">539</a> <em class="jxr_javadoccomment">     *</em>
<a name="540" href="#540">540</a> <em class="jxr_javadoccomment">     *  @param request servlet request from client</em>
<a name="541" href="#541">541</a> <em class="jxr_javadoccomment">     *  @param response servlet reponse to client</em>
<a name="542" href="#542">542</a> <em class="jxr_javadoccomment">     *</em>
<a name="543" href="#543">543</a> <em class="jxr_javadoccomment">     *  @return context</em>
<a name="544" href="#544">544</a> <em class="jxr_javadoccomment">     */</em>
<a name="545" href="#545">545</a>     <strong class="jxr_keyword">protected</strong> <a href="../../../../org/apache/velocity/context/Context.html">Context</a> createContext(HttpServletRequest request,  HttpServletResponse response )
<a name="546" href="#546">546</a>     {
<a name="547" href="#547">547</a>         <em class="jxr_comment">/*</em>
<a name="548" href="#548">548</a> <em class="jxr_comment">         *   create a new context</em>
<a name="549" href="#549">549</a> <em class="jxr_comment">         */</em>
<a name="550" href="#550">550</a> 
<a name="551" href="#551">551</a>         <a href="../../../../org/apache/velocity/VelocityContext.html">VelocityContext</a> context = <strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/velocity/VelocityContext.html">VelocityContext</a>();
<a name="552" href="#552">552</a> 
<a name="553" href="#553">553</a>         <em class="jxr_comment">/*</em>
<a name="554" href="#554">554</a> <em class="jxr_comment">         *   put the request/response objects into the context</em>
<a name="555" href="#555">555</a> <em class="jxr_comment">         *   wrap the HttpServletRequest to solve the introspection</em>
<a name="556" href="#556">556</a> <em class="jxr_comment">         *   problems</em>
<a name="557" href="#557">557</a> <em class="jxr_comment">         */</em>
<a name="558" href="#558">558</a> 
<a name="559" href="#559">559</a>         context.put( REQUEST,  request );
<a name="560" href="#560">560</a>         context.put( RESPONSE, response );
<a name="561" href="#561">561</a> 
<a name="562" href="#562">562</a>         <strong class="jxr_keyword">return</strong> context;
<a name="563" href="#563">563</a>     }
<a name="564" href="#564">564</a> 
<a name="565" href="#565">565</a>     <em class="jxr_javadoccomment">/**</em>
<a name="566" href="#566">566</a> <em class="jxr_javadoccomment">     * Retrieves the requested template.</em>
<a name="567" href="#567">567</a> <em class="jxr_javadoccomment">     *</em>
<a name="568" href="#568">568</a> <em class="jxr_javadoccomment">     * @param name The file name of the template to retrieve relative to the</em>
<a name="569" href="#569">569</a> <em class="jxr_javadoccomment">     *             template root.</em>
<a name="570" href="#570">570</a> <em class="jxr_javadoccomment">     * @return     The requested template.</em>
<a name="571" href="#571">571</a> <em class="jxr_javadoccomment">     * @throws ResourceNotFoundException if template not found</em>
<a name="572" href="#572">572</a> <em class="jxr_javadoccomment">     *          from any available source.</em>
<a name="573" href="#573">573</a> <em class="jxr_javadoccomment">     * @throws ParseErrorException if template cannot be parsed due</em>
<a name="574" href="#574">574</a> <em class="jxr_javadoccomment">     *          to syntax (or other) error.</em>
<a name="575" href="#575">575</a> <em class="jxr_javadoccomment">     * @throws Exception if an error occurs in template initialization</em>
<a name="576" href="#576">576</a> <em class="jxr_javadoccomment">     */</em>
<a name="577" href="#577">577</a>     <strong class="jxr_keyword">public</strong> <a href="../../../../org/apache/velocity/Template.html">Template</a> getTemplate( String name )
<a name="578" href="#578">578</a>         <strong class="jxr_keyword">throws</strong> ResourceNotFoundException, ParseErrorException, Exception
<a name="579" href="#579">579</a>     {
<a name="580" href="#580">580</a>         <strong class="jxr_keyword">return</strong> RuntimeSingleton.getTemplate(name);
<a name="581" href="#581">581</a>     }
<a name="582" href="#582">582</a> 
<a name="583" href="#583">583</a>     <em class="jxr_javadoccomment">/**</em>
<a name="584" href="#584">584</a> <em class="jxr_javadoccomment">     * Retrieves the requested template with the specified</em>
<a name="585" href="#585">585</a> <em class="jxr_javadoccomment">     * character encoding.</em>
<a name="586" href="#586">586</a> <em class="jxr_javadoccomment">     *</em>
<a name="587" href="#587">587</a> <em class="jxr_javadoccomment">     * @param name The file name of the template to retrieve relative to the</em>
<a name="588" href="#588">588</a> <em class="jxr_javadoccomment">     *             template root.</em>
<a name="589" href="#589">589</a> <em class="jxr_javadoccomment">     * @param encoding the character encoding of the template</em>
<a name="590" href="#590">590</a> <em class="jxr_javadoccomment">     *</em>
<a name="591" href="#591">591</a> <em class="jxr_javadoccomment">     * @return     The requested template.</em>
<a name="592" href="#592">592</a> <em class="jxr_javadoccomment">     * @throws ResourceNotFoundException if template not found</em>
<a name="593" href="#593">593</a> <em class="jxr_javadoccomment">     *          from any available source.</em>
<a name="594" href="#594">594</a> <em class="jxr_javadoccomment">     * @throws ParseErrorException if template cannot be parsed due</em>
<a name="595" href="#595">595</a> <em class="jxr_javadoccomment">     *          to syntax (or other) error.</em>
<a name="596" href="#596">596</a> <em class="jxr_javadoccomment">     * @throws Exception if an error occurs in template initialization</em>
<a name="597" href="#597">597</a> <em class="jxr_javadoccomment">     *</em>
<a name="598" href="#598">598</a> <em class="jxr_javadoccomment">     *  @since Velocity v1.1</em>
<a name="599" href="#599">599</a> <em class="jxr_javadoccomment">     */</em>
<a name="600" href="#600">600</a>     <strong class="jxr_keyword">public</strong> <a href="../../../../org/apache/velocity/Template.html">Template</a> getTemplate( String name, String encoding )
<a name="601" href="#601">601</a>         <strong class="jxr_keyword">throws</strong> ResourceNotFoundException, ParseErrorException, Exception
<a name="602" href="#602">602</a>     {
<a name="603" href="#603">603</a>         <strong class="jxr_keyword">return</strong> RuntimeSingleton.getTemplate( name, encoding );
<a name="604" href="#604">604</a>     }
<a name="605" href="#605">605</a> 
<a name="606" href="#606">606</a>     <em class="jxr_javadoccomment">/**</em>
<a name="607" href="#607">607</a> <em class="jxr_javadoccomment">     * Implement this method to add your application data to the context,</em>
<a name="608" href="#608">608</a> <em class="jxr_javadoccomment">     * calling the &lt;code&gt;getTemplate()&lt;/code&gt; method to produce your return</em>
<a name="609" href="#609">609</a> <em class="jxr_javadoccomment">     * value.</em>
<a name="610" href="#610">610</a> <em class="jxr_javadoccomment">     * &lt;br&gt;&lt;br&gt;</em>
<a name="611" href="#611">611</a> <em class="jxr_javadoccomment">     * In the event of a problem, you may handle the request directly</em>
<a name="612" href="#612">612</a> <em class="jxr_javadoccomment">     * and return &lt;code&gt;null&lt;/code&gt; or throw a more meaningful exception</em>
<a name="613" href="#613">613</a> <em class="jxr_javadoccomment">     * for the error handler to catch.</em>
<a name="614" href="#614">614</a> <em class="jxr_javadoccomment">     *</em>
<a name="615" href="#615">615</a> <em class="jxr_javadoccomment">     *  @param request servlet request from client</em>
<a name="616" href="#616">616</a> <em class="jxr_javadoccomment">     *  @param response servlet reponse</em>
<a name="617" href="#617">617</a> <em class="jxr_javadoccomment">     *  @param ctx The context to add your data to.</em>
<a name="618" href="#618">618</a> <em class="jxr_javadoccomment">     *  @return    The template to merge with your context or null, indicating</em>
<a name="619" href="#619">619</a> <em class="jxr_javadoccomment">     *    that you handled the processing.</em>
<a name="620" href="#620">620</a> <em class="jxr_javadoccomment">     * @throws Exception</em>
<a name="621" href="#621">621</a> <em class="jxr_javadoccomment">     *</em>
<a name="622" href="#622">622</a> <em class="jxr_javadoccomment">     *  @since Velocity v1.1</em>
<a name="623" href="#623">623</a> <em class="jxr_javadoccomment">     */</em>
<a name="624" href="#624">624</a>     <strong class="jxr_keyword">protected</strong> <a href="../../../../org/apache/velocity/Template.html">Template</a> handleRequest( HttpServletRequest request, HttpServletResponse response, Context ctx )
<a name="625" href="#625">625</a>         <strong class="jxr_keyword">throws</strong> Exception
<a name="626" href="#626">626</a>     {
<a name="627" href="#627">627</a>         <em class="jxr_comment">/*</em>
<a name="628" href="#628">628</a> <em class="jxr_comment">         * invoke handleRequest</em>
<a name="629" href="#629">629</a> <em class="jxr_comment">         */</em>
<a name="630" href="#630">630</a> 
<a name="631" href="#631">631</a>         <a href="../../../../org/apache/velocity/Template.html">Template</a> t =  handleRequest( ctx );
<a name="632" href="#632">632</a> 
<a name="633" href="#633">633</a>         <em class="jxr_comment">/*</em>
<a name="634" href="#634">634</a> <em class="jxr_comment">         *  if it returns null, this is the 'old' deprecated</em>
<a name="635" href="#635">635</a> <em class="jxr_comment">         *  way, and we want to mimic the behavior for a little</em>
<a name="636" href="#636">636</a> <em class="jxr_comment">         *  while anyway</em>
<a name="637" href="#637">637</a> <em class="jxr_comment">         */</em>
<a name="638" href="#638">638</a> 
<a name="639" href="#639">639</a>         <strong class="jxr_keyword">if</strong> (t == <strong class="jxr_keyword">null</strong>)
<a name="640" href="#640">640</a>         {
<a name="641" href="#641">641</a>             <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> Exception (<span class="jxr_string">"handleRequest(Context) returned null - no template selected!"</span> );
<a name="642" href="#642">642</a>         }
<a name="643" href="#643">643</a> 
<a name="644" href="#644">644</a>         <strong class="jxr_keyword">return</strong> t;
<a name="645" href="#645">645</a>     }
<a name="646" href="#646">646</a> 
<a name="647" href="#647">647</a>     <em class="jxr_javadoccomment">/**</em>
<a name="648" href="#648">648</a> <em class="jxr_javadoccomment">     * Implement this method to add your application data to the context,</em>
<a name="649" href="#649">649</a> <em class="jxr_javadoccomment">     * calling the &lt;code&gt;getTemplate()&lt;/code&gt; method to produce your return</em>
<a name="650" href="#650">650</a> <em class="jxr_javadoccomment">     * value.</em>
<a name="651" href="#651">651</a> <em class="jxr_javadoccomment">     * &lt;br&gt;&lt;br&gt;</em>
<a name="652" href="#652">652</a> <em class="jxr_javadoccomment">     * In the event of a problem, you may simple return &lt;code&gt;null&lt;/code&gt;</em>
<a name="653" href="#653">653</a> <em class="jxr_javadoccomment">     * or throw a more meaningful exception.</em>
<a name="654" href="#654">654</a> <em class="jxr_javadoccomment">     *</em>
<a name="655" href="#655">655</a> <em class="jxr_javadoccomment">     * @deprecated Use</em>
<a name="656" href="#656">656</a> <em class="jxr_javadoccomment">     * {@link #handleRequest( HttpServletRequest request,</em>
<a name="657" href="#657">657</a> <em class="jxr_javadoccomment">     * HttpServletResponse response, Context ctx )}</em>
<a name="658" href="#658">658</a> <em class="jxr_javadoccomment">     *</em>
<a name="659" href="#659">659</a> <em class="jxr_javadoccomment">     * @param ctx The context to add your data to.</em>
<a name="660" href="#660">660</a> <em class="jxr_javadoccomment">     * @return    The template to merge with your context.</em>
<a name="661" href="#661">661</a> <em class="jxr_javadoccomment">     * @throws Exception</em>
<a name="662" href="#662">662</a> <em class="jxr_javadoccomment">     */</em>
<a name="663" href="#663">663</a>     <strong class="jxr_keyword">protected</strong> <a href="../../../../org/apache/velocity/Template.html">Template</a> handleRequest( Context ctx )
<a name="664" href="#664">664</a>         <strong class="jxr_keyword">throws</strong> Exception
<a name="665" href="#665">665</a>     {
<a name="666" href="#666">666</a>         <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> Exception (<span class="jxr_string">"You must override VelocityServlet.handleRequest( Context) "</span>
<a name="667" href="#667">667</a>                              + <span class="jxr_string">" or VelocityServlet.handleRequest( HttpServletRequest, "</span>
<a name="668" href="#668">668</a>                              + <span class="jxr_string">" HttpServletResponse, Context)"</span> );
<a name="669" href="#669">669</a>     }
<a name="670" href="#670">670</a> 
<a name="671" href="#671">671</a>     <em class="jxr_javadoccomment">/**</em>
<a name="672" href="#672">672</a> <em class="jxr_javadoccomment">     * Invoked when there is an error thrown in any part of doRequest() processing.</em>
<a name="673" href="#673">673</a> <em class="jxr_javadoccomment">     * &lt;br&gt;&lt;br&gt;</em>
<a name="674" href="#674">674</a> <em class="jxr_javadoccomment">     * Default will send a simple HTML response indicating there was a problem.</em>
<a name="675" href="#675">675</a> <em class="jxr_javadoccomment">     *</em>
<a name="676" href="#676">676</a> <em class="jxr_javadoccomment">     * @param request original HttpServletRequest from servlet container.</em>
<a name="677" href="#677">677</a> <em class="jxr_javadoccomment">     * @param response HttpServletResponse object from servlet container.</em>
<a name="678" href="#678">678</a> <em class="jxr_javadoccomment">     * @param cause  Exception that was thrown by some other part of process.</em>
<a name="679" href="#679">679</a> <em class="jxr_javadoccomment">     * @throws ServletException</em>
<a name="680" href="#680">680</a> <em class="jxr_javadoccomment">     * @throws IOException</em>
<a name="681" href="#681">681</a> <em class="jxr_javadoccomment">     */</em>
<a name="682" href="#682">682</a>     <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">void</strong> error( HttpServletRequest request, HttpServletResponse response, Exception cause )
<a name="683" href="#683">683</a>         <strong class="jxr_keyword">throws</strong> ServletException, IOException
<a name="684" href="#684">684</a>     {
<a name="685" href="#685">685</a>         StringBuffer html = <strong class="jxr_keyword">new</strong> StringBuffer();
<a name="686" href="#686">686</a>         html.append(<span class="jxr_string">"&lt;html&gt;"</span>);
<a name="687" href="#687">687</a>         html.append(<span class="jxr_string">"&lt;title&gt;Error&lt;/title&gt;"</span>);
<a name="688" href="#688">688</a>         html.append(<span class="jxr_string">"&lt;body bgcolor=\&quot;#ffffff\&quot;&gt;"</span>);
<a name="689" href="#689">689</a>         html.append(<span class="jxr_string">"&lt;h2&gt;VelocityServlet: Error processing the template&lt;/h2&gt;"</span>);
<a name="690" href="#690">690</a>         html.append(<span class="jxr_string">"&lt;pre&gt;"</span>);
<a name="691" href="#691">691</a>         String why = cause.getMessage();
<a name="692" href="#692">692</a>         <strong class="jxr_keyword">if</strong> (why != <strong class="jxr_keyword">null</strong> &amp;&amp; why.trim().length() &gt; 0)
<a name="693" href="#693">693</a>         {
<a name="694" href="#694">694</a>             html.append(why);
<a name="695" href="#695">695</a>             html.append(<span class="jxr_string">"&lt;br&gt;"</span>);
<a name="696" href="#696">696</a>         }
<a name="697" href="#697">697</a> 
<a name="698" href="#698">698</a>         StringWriter sw = <strong class="jxr_keyword">new</strong> StringWriter();
<a name="699" href="#699">699</a>         cause.printStackTrace( <strong class="jxr_keyword">new</strong> PrintWriter( sw ) );
<a name="700" href="#700">700</a> 
<a name="701" href="#701">701</a>         html.append( sw.toString()  );
<a name="702" href="#702">702</a>         html.append(<span class="jxr_string">"&lt;/pre&gt;"</span>);
<a name="703" href="#703">703</a>         html.append(<span class="jxr_string">"&lt;/body&gt;"</span>);
<a name="704" href="#704">704</a>         html.append(<span class="jxr_string">"&lt;/html&gt;"</span>);
<a name="705" href="#705">705</a>         response.getOutputStream().print( html.toString() );
<a name="706" href="#706">706</a>     }
<a name="707" href="#707">707</a> }
</pre>
<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body>
</html>

