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.
Zoe Peng
Ranch Hand
Joined: Nov 27, 2000
Posts: 112
posted
0
ServletContext sc = getServletContext(); I am not sure, but I always see ppl use this when they want to do sth for entire application and access different application level attributes. public void contextInitialized(ServletContextEvent sce) { ServletContext context = sce.getServletContext(); blas blash } and configure ur web.xml file, too
mike markey
Greenhorn
Joined: Jun 14, 2001
Posts: 2
posted
0
Actually, I figured it out. I misunderstood the way the sc.getContext("/localhost/NASApp/Other") call worked. I simply needed to assign this call to a new ServletContext such as: ServletContext newSC = sc.getContext("blahblah"); dispatcher = newSC.getRequestDispatcher("/OtherServlet"); This fixed the problem. Thanks for the reply, though, as it has shown me how to do some other things that I wanted to do.