Hi thanks for your respsonse, Its not liable to be a permissions error as i am running tomcat on my local pc and have installed it myself. I should state i am a total newbie to velocity and just installed it yesterday. I've placed velocity-1.4.jar & velocity-dep-1.4 under WEB-INF/lib within my tomcat instance. my web.xml contains the following: <servlet> <servlet-name>SampleServlet</servlet-name> <servlet-class>pack1.SampleServlet</servlet-class> </servlet>
<servlet-mapping> <servlet-name>SampleServlet</servlet-name> <url-pattern>/SampleServlet</url-pattern> </servlet-mapping> and i am accessing the following url in my browser: _http://localhost:8080/velocity/SampleServlet_ (http://localhost:8080/velocity/SampleServlet) The supporting Java Code pcak1.SampleServlet is: package pack1; import java.io.IOException; import java.io.FileNotFoundException; import java.util.Properties; import java.util.Vector; import javax.servlet.ServletConfig; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.apache.velocity.Template; import org.apache.velocity.context.Context; import org.apache.velocity.servlet.VelocityServlet; import org.apache.velocity.app.Velocity; import org.apache.velocity.exception.ResourceNotFoundException; import org.apache.velocity.exception.ParseErrorException; import org.apache.log4j.*; /** * Sample of how to use the VelocityServlet. * This example shows how to add objects to the context and * pass them to the view. * * @author Dave Bryson * @author <a href="_mailto:[EMAIL PROTECTED]">Geir_ (mailto:[EMAIL PROTECTED]">Geir) Magnusson Jr.</a> * @version $Id: SampleServlet.java,v 1.5.8.1 2004/03/04 00:18:29 geirm Exp $ */ public class SampleServlet extends VelocityServlet { /** * Called by the VelocityServlet * init(). We want to set a set of properties * so that views will be found in the webapp * root. This makes this easier to work with as * an example, so a new user doesn't have to worry * about config issues when first figuring things * out */ static Logger logger = Logger.getLogger("Test"); protected Properties loadConfiguration(ServletConfig config ) throws IOException, FileNotFoundException { Properties p = new Properties(); /* * first, we set the view path for the * FileResourceLoader to the root of the * webapp. This probably won't work under * in a WAR under WebLogic, but should * under tomcat :) */ String path = config.getServletContext().getRealPath("/"); if (path == null) { logger.error(" SampleServlet.loadConfiguration() : unable to " + "get the current webapp root. Using '/'. Please fix."); path = "/"; } p.setProperty( Velocity.FILE_RESOURCE_LOADER_PATH, path ); /** * and the same for the log file */ p.setProperty( "runtime.log", path + "velocity.log" ); return p; } /** * <p> * main routine to handle a request. Called by * VelocityServlet, your responsibility as programmer * is to simply return a valid Template * </p> * * @param ctx a Velocity Context object to be filled with * data. Will be used for rendering this * view * @return Template to be used for request */ public Template handleRequest( HttpServletRequest request, HttpServletResponse response, Context ctx ) { /* * set up some data to put into the context */ String p1 = "Bob"; String p2 = "Harold"; Vector personList = new Vector(); personList.addElement( p1 ); personList.addElement( p2 ); /* * Add the list to the context. * This is how it's passed to the view. */ ctx.put("theList", personList ); /* * get the view. There are three possible * exceptions. Good to know what happened. */ Template view = null; try { view = getTemplate("C:\\Tomcat\\jakarta-tomcat-5.5.7\\webapps\\velocity\\WEB-INF\\sample.vm"); } catch( ParseErrorException pee ) { logger.error("SampleServlet : parse error for view " + pee); } catch( ResourceNotFoundException rnfe ) { logger.error("SampleServlet : view not found " + rnfe); } catch( Exception e ) { logger.error("Error " + e); } return view; } } any thoughts