Hi, I'm using Tomcat 3.2.1, and after searching the archives it appears URL rewriting is working OK. I must be doing something to mess things up. Thanks in advance for your help. Bill My com.xxx.MyServlet servlet executes the following 3 lines of code as the last step in processing each request in "doPost": 1. String encodedNextURL = httpServletResponse.encodeURL(this.nextURL); 2. RequestDispatcher rd = this.getServletContext().getRequestDispatcher(encodedNextURL); 3. rd.forward(httpServletRequest, httpServletResponse); When my servlet's context path is "/whatever", then encodedNextURL is always the same as this.nextURL after line 1 is executed. Why? The following happens in HttpServletResponseFacade.java for this.nextURL=/ShoppingStep.jsp toAbsolute(/ShoppingStep.jsp) returns http://localhost:8080/ShoppingStep.jsp isEncodeable(http://localhost:8080/ShoppingStep.jsp) always returns false at lines 363-368 because !file.startsWith(contextPath) is true. Stopped at line 366 in HttpServletResponseFacade.java Thread-103[1] locals Method arguments: this = org.apache.tomcat.facade.HttpServletResponseFacade@80e6674 location = http://localhost:8080/ShoppingStep.jsp Local variables: request = R( /whatever + /servlet/com.xxx.MyServlet + null) url = http://localhost:8080/ShoppingStep.jsp urlPort = 8080 contextPath = /whatever file = /ShoppingStep.jsp String contextPath = request.getContext().getPath(); if ((contextPath != null) && (contextPath.length() > 0)) { String file = url.getFile(); if ((file == null) || !file.startsWith(contextPath)) return (false); } encodedNextURL gets assigned /ShoppingStep.jsp When my servlet's context path is "/", then this.nextURL get's rewritten and encodedNextURL gets assigned /ShoppingStep.jsp;jsessionid=2nrrjkjci1 but Forwarding the URL (see line 3 above) "/ShoppingStep.jsp;jsessionid=2nrrjkjci1" results in a "The document contains no data" message being displayed by the browser. It appears the jsessionid is the problem per StaticInterceptor.java lines 199-212, because file is not a file or a directory as a result of jessionid hanging off the end of the path. Thread-102[1] locals Method arguments: this = org.apache.tomcat.request.StaticInterceptor@80f0ddb req = R( + /ShoppingStep.jsp;jsessionid=lo3hbfjvp1 + null) Local variables: pathInfo = /ShoppingStep.jsp;jsessionid=lo3hbfjvp1 ctx = Ctx( ) absPath = /home/maurer/ejpos/unix/local/jakarta-tomcat/webapps/ROOT/ShoppingStep.jsp;jsessionid=lo3hbfjvp1 requestURI = /ShoppingStep.jsp;jsessionid=lo3hbfjvp1 file = /home/maurer/ejpos/unix/local/jakarta-tomcat/webapps/ROOT/ShoppingStep.jsp;jsessionid=lo3hbfjvp1 welcomeFile is not in scope redirectURI is not in scope File file=new File( absPath ); if( file.isFile() ) { if( debug > 0 ) log( "Setting handler to file " + absPath); req.setNote( realFileNote, absPath ); req.setWrapper( ctx.getServletByName( "tomcat.fileHandler")); return 0; } if( ! file.isDirectory() ) { // we support only files and dirs if( debug > 0) log( "No file and no directory"); return 0; // no handler is set - will end up as 404 }