Go Premium for a chance to win a PS4. Enter to Win

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 1333
  • Last Modified:

RequestDispatcher

In regards to a previously answered question and a previous answer

Question:

>>ok, I have a jsp called ItemDetails.jsp and a servlet called ItemDetailsServlet, what i want is when the jsp is loaded
>>into a browser I want the servlet to perform a jdbc query and return the data to be displayed to the jsp, but i have
>>absolutely no idea how to do this!

>>Any help appreciated greatly!

Answer:

>Either I have mis-understood this question, or you mis-understandtand what JSP's and Servlets are and do.

>A JSP is never really "loaded into the browser" - it is executed on the server and generates HTML output - that's what >is loaded into the browser.

>I think that what you really want is JSP to perform the data lookup and generate the results. If you already have Servlet >that does this, then you can call the servlet from within the JSP - or, if you have access the the source (or can
>decompile it) - you can write the functional Java into your JSP.

>Use the RequestDispatcher interface to call ("dispatch") from a JSP to a servlet.
>Get a RequestDispatcher by calling the getRequestDispatcher(java.lang.String path) method of ServletRequest


In regards to the last part of this answer I am slightly confused as to which order they should be called

does "dispatch()" take the results of a servlet to a JSP OR does it take the results from a JSP to a servlet?

is getRequestDispatcher(String path) again called from a JSP to a servlet or vice versa?

The exact nature of this problem is that we are creating a eBay type application and have a search JSP which takes in the query, the servlet is then used to query the database for the item, and then we need to send the results to the item details JSP in order to display it, the main problem is that I am unsure of how to "wrap up" the results and return it to the item details page...

so to clarify....is this feasible to use the RequestDispatcher to handle this or am i on the wrong track?
0
gingermeatboy
Asked:
gingermeatboy
1 Solution
 
kennethxuCommented:
>> have a search JSP which takes in the query, the servlet is then used to query the database for the item, and then we need to send the results to the item details JSP in order to display it

That's what you need to do:
1. seach.jsp takes the query and submit to the ItemDetailsServlet, NOT ItemDetails.jsp.
2. ItemDetailsServlet search the database and save the result in a whatever collection object, say a List. then set this List object as request attribute.
3. ItemDetailsServlet forward request to ItemDetails.jsp, remember to get your dispatch() method follow by return statement.
4. ItemDetails.jsp retrieve the List object from request attribute bag and display it.

Let me know if you have further enquires.
0
 
jarasaCommented:
Hi gingermeatboy.
Just wanted to clarify you that JSP and Servlet is basically the same thing, the JSPs were created to saparate the HTML things from the Java Code but the web server copiles the JSP and makes a Servlet.

Well What I am trying to say is that you don't need a Servlet to make your searches and return the data, you can do that on Normal Java Classes and Dispath them to a JSP or a Servlet or what ever you may have on the other side.

Just make your code work with java and then think about the presentation.

Javier
0

Featured Post

Ask an Anonymous Question!

Don't feel intimidated by what you don't know. Ask your question anonymously. It's easy! Learn more and upgrade.

Tackle projects and never again get stuck behind a technical roadblock.
Join Now