<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/>
This example is documented at
<a href="http://camel.apache.org/servlet-tomcat-example.html">servlet tomcat example</a>

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