Thanks Mike, that's probably the solution I'm going to go with. I agree that I don't want absolute URL's. Though I feel like there should be a way to do what I'm wanting to do, I'm just not finding it. I had seen another suggestion on the forums about mapping the servlet to the same path as the JSP, which sounded like it might work. However, I'm running into problems with that too. I haven't done much mapping so this is a good exercise for me, but I will probably just end with the solution you have suggested. I have the following in my web.xml file <servlet> <servlet-name>dolookup</servlet-name> <servlet-class>test.dolookup</servlet-class> </servlet> <servlet-mapping> <servlet-name>dolookup</servlet-name> <url-pattern>/teststuff/dolookup*</url-pattern> </servlet-mapping> In my mind, this should make both the lookup.jsp and the dolookup servlet available from the same path, specifically http://localhost:8080/teststuff/ If that works, then I can use a simple relative path from the form to the servlet and the client path won't be changed. However, I'm not finding this in practice. A call to http://localhost:8080/teststuff/dolookup?etc.... is returning a not found error. I'm currently looking up all I can on the forums and tutorials on mapping, but every time I think I've figured it out — it doesn't work. But this is the fun part, I guess. Thanks for all you help.
>>> [EMAIL PROTECTED] 12/17/02 09:43AM >>> True (and I missed that that was the whole point of your exercise) but redirecting is the (only) way to get the browser's URL to change. If you think about it, you're basically saying that you want two different URLs (one to the servlet and one to the jsp), when displayed in the browser, to mean the same thing - which just isn't going to work. Two possible solutions: a) The ugly but quicker one: code the absolute URL in the jsp's form's action attribute. b) The elegant one: Don't link to the jsp page at all. Always link to the servlet, then make the servlet check for the existence of parameters. If your parameters exist then it was a form submission, so do what ever you do now and then forward() to the jsp. (This leaves the URL the same in the browser and doesn't lose the request-info.) If parameters don't exist, then just forward() to the jsp page (without doing any processing). It'll presumably behave like it does now when you request it directly. However, the browser's URL will still have the servlet's URL - and you can code all the paths relative to that. Mike. ----- Original Message ----- From: "Jason Johnston" <[EMAIL PROTECTED]> To: <[EMAIL PROTECTED]> Sent: Tuesday, December 17, 2002 3:25 PM Subject: Re: JSP to Servlet to JSP pathing issue. Relative PathingPlease help. The redirecting doesn't seem to work. That tells the browser client to initiate a new request and all the information that I placed in the request object is gone, which undermines the purpose of the form. The forums have a lot on my problem, just no answers that have worked for me. Has anyone else ran into the issue of using a form in a JSP to submit data to a Servlet, have that servlet return data to the very same JSP? Thanks in advance. >>> [EMAIL PROTECTED] 12/16/02 12:53PM >>> Thanks for the advice, I didn't know you could redirect. The javadoc on the RequestDispatcher only lists the forward and include methods. I'll try that. The initial call to the servlet is actually being made by the client browser via a form response. >>> [EMAIL PROTECTED] 12/16/02 12:00PM >>> If you want the path in the browser's address bar to change, I think you have to use a "redirect" rather than a "forward". (I've read that even then it's not guaranteed to work (since it's browser-dependent), but it's working fine for me. There's the disadvantage of an additional network round-trip that's not ideal, but I don't know of any other way.) [Actually, I guess you're already redirecting from the original jsp request to the servlet. If you changed that to "forward" then that'd probably solve you're problem without the additional round-trip....] Mike. ----- Original Message ----- From: "Jason Johnston" <[EMAIL PROTECTED]> To: "<"Tomcat Users List"" <[EMAIL PROTECTED]> Sent: Monday, December 16, 2002 5:46 PM Subject: JSP to Servlet to JSP pathing issue. Relative Pathing Please help. I have a JSP that has a form that I want processed by a servlet. The servlet then places the results in the page context and redirects back to the JSP. Everything works fine on the first go, but the second time through the path in the client's browser is no longer valid. Initially, the path is: http://localhost:8080/testgroup/lookup.jsp This then sends the form data to the /testgroup/servlet/dolookup?<parameters> The servlet executes and uses the request dispatcher to load the original JSP. RequestDispatcher rd=getServletContext().getRequestDispatcher("//lookup.jsp"); rd.forward(request,response); The original JSP comes up fine and has the results, but the path in the browser URL is still the servlet address. Since the form sends to a relative path, the second time you try to run, it doesn't work. http://localhost:8080/testgroup/servlet/test.dolookup?epaid=J2466&search=id& firstname=&lastname= This seems to be a very simple relative pathing problem, but I've tried various solutions with no luck. I'm sure someone else has run into this and found a solution. If anyone has any insight, please help. Thanks. -- To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]> For additional commands, e-mail: <mailto:[EMAIL PROTECTED]> -- To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]> For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>