Servlets and ServletContext in iPlanet App Server

I am building some servlets and ran into a problem.  The problem concerns ServletContext objects and the getContext method.

The idea is pretty simple and I've seen numerous examples on the topic.  I have a servlet that is http://localhost/NASApp/Main/MainServlet.  I have a second servlet that is /localhost/NASApp/Other/OtherServlet.  I would like the
MainServlet to forward to the OtherServlet.  To do this, I am attempting the following in MainServlet:

RequestDispatcher dispatcher;
ServletContext sc = getServletContext();
sc.getContext("/localhost/NASApp/Other");
dispatcher = sc.getRequestDispatcher("/OtherServlet");
dispatcher.forward(request, response);

This appears to agree with documentation and examples that I have found, but I get a 404 error.  I have tried "/Other", "/NASApp/Other", and "/localhost/NASApp/Other" in the getContext call.  The OtherServlet works fine when you access it directly via typing the URL into the browser, so I know it works.  I am using iPlanet App Server 6.0 and iPlanet WebServer 4.1sp5.  I see that the webserver specifies some things that need to be done to get servlets to work, but I'm not using the webserver for the servlets.  Rather, I am using iAS to deploy my .ear files for me.  I haven't found anything in the iAS docs that point to extra steps that need to be done.  Anybody have experience in this area?  Your help is greatly appreciated.
bankerboyAsked:
Who is Participating?
 
tonusConnect With a Mentor Commented:
Hi,
   You can use sendRedirect(String strLocation) method of HttpServletResponse class to forward the request to other servlets

0
 
bankerboyAuthor Commented:
Thanks for the reply.  The sendRedirect does indeed work, but it is less efficient since it sends a request to the client's browser which then does the redirect.  The "forward" method is all server side and transparent to the user.  In reality, I just figured out how to use the forward this morning.  All I needed to do was assign the sc.getContext call to a new ServletContext:

ServletContext newSC = sc.getContext("blahblahblah");
dispatch = newSC.getRequestDispatcher("nextPage");

I was forgetting to assign the getContext call to a new ServletContext.  But again, thanks for the reply, since it was a solution that did work.  

0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.