<html>

<body>
<h2>Camel Servlet and Apache Tomcat example</h2>

This example shows how to use route messages in Apache Tomcat using servlets with Apache Camel.
<br/>
<br/>
To get started click <a href="camel/hello">this link</a>.
<br/>
<br/>
For the latest & greatest documentation on how to use this example please see:
<a href="http://camel.apache.org/servlet-tomcat-example.html">servlet tomcat example</a>
<br/>
<br/>
If you hit any problems please let us know on the
<a href="http://camel.apache.org/discussion-forums.html">Camel Forums</a>
<br/>
<br/>
Please help us make Apache Camel better - we appreciate any feedback you may
have. Enjoy!
<br/>
<br/>
The Camel riders!
</body>

</html>