<!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>

