I've tried using the getRequestDispatcher() method The code I am using : RequestDispatcher dispatcher =getServletContext().getRequestDispatcher("/newer/FooServlet?item=5"); dispatcher.forward(request, response); but I keep getting an error: The requested resource (/FooServlet) is not available. can anyone help me?
posted 12 years ago
Is your context name "newer"? If so, keep in mind that the request dispatcher is already referencing things from within its context. If "newer" is a different servlet context, then you must use sendRedirect rather than a RequestDispatcher. Try the following instead of what you were using: getServletContext().getRequestDispatcher("/FooServlet?item=5"); Depending on how you've configured tomcat you may also try this: getServletContext().getRequestDispatcher("/servlet/FooServlet?item=5"); And, if FooServlet is in a package, but doesn't have an alias it will look something like this: getServletContext().getRequestDispatcher("/servlet/packagename.subdir.FooServlet?item=5"); Another thing to try is removing the query string("?item=5"). You could set this in a request attribute prior to forwarding the request. Also, verify that your class is indeed in /usr/local/tomcat/webapps/newer/WEB-INF/classes or in the lib directory for jars. I hope that helps!
Mensa member, Certified bartender, Created the Internet (along with Al Gore), Speak 9 languages fluently (this includes pig latin), Spelling Bee Winner, 8th Grade Math Award, Can hold breath under water for more than 2 minutes