File APIs for Java Developers
Manipulate DOC, XLS, PPT, PDF and many others from your application.
The moose likes Servlets and the fly likes who call the servlet? Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login
JavaRanch » Java Forums » Java » Servlets
Bookmark "who call the servlet?" Watch "who call the servlet?" New topic

who call the servlet?

Amir Kamran
Ranch Hand

Joined: Apr 21, 2002
Posts: 48
I want to use MVC pattern in my app. I use a Servlet as a handler with many jsps, but how the servlet knows which jsp is calling it?
I think one solution is using a hidden field which contains the path of the jsp and pass it to servlet.
Is there any other solution?
Bosun Bello
Ranch Hand

Joined: Nov 06, 2000
Posts: 1510
Did you try getRequestURI()? It returns the part of the URL that comes after the host and port, but before any parameters. Hidden form fields will also work though.

So much trouble in the world -- Bob Marley
Amir Kamran
Ranch Hand

Joined: Apr 21, 2002
Posts: 48
Thanks for early reply!
The method getRequestURI() and also the method getRequestURL() will return the information of current page not of that from which the page is called.
Corey McGlone
Ranch Hand

Joined: Dec 20, 2001
Posts: 3271
One technique I use is to put the name of the current page in the session. For example, if the user is at the "Main Menu" page, getting the attribute "currentPage" from the Session will return that string. Then, before I forward to another JSP page, I can simply set that session variable to the name of the page that I'll be forwarding to. This way, I always know where to look to determine where the user is and I don't have to include hidden fields in all of my pages that don't really mean anything. After all, does your JSP really care what the servlet calls it?
I also find that it's usually good practice to store my screen names as constants in some class (possibly the servlet, but I usually make another class to put them in to keep it from getting cluttered) or in a propeties file.
I hope that helps,

SCJP Tipline, etc.
Amir Kamran
Ranch Hand

Joined: Apr 21, 2002
Posts: 48
Hello again!
Thanks Cory its a good solution, but i have another one the URI of request sender can be retrieve through a header name Referer.
Kat Lee

Joined: May 23, 2002
Posts: 2
What about storing the url in a cookie?
Rishi Singh
Ranch Hand

Joined: Dec 09, 2000
Posts: 321
Try using the header Http Referer
I agree. Here's the link:
subject: who call the servlet?
It's not a secret anymore!