Please be sure to use code tags when posting code to the forums. Unformatted or unindented code is extremely hard to read and many people that might be able to help you will just move along to posts that are easier to read. Please click this link ⇒ UseCodeTags ⇐ for more information.
Properly indented and formatted code greatly increases the probability that your question will get quicker, better answers.
You're approaching this from the wrong end.
You can only send one response from a request.
If you're going to write to the servlet output stream, you can't also forward or redirect.
Build your servlet so that it can stream the binary data (PDF) to the browser.
Then build your JSP. Construct your links so that the user hits the JSP first.
In your JSP have a link, or iframe, or whatever point to the servlet that streams the PDF.
We have an example project all 'war'ed up in our our code barn.
It streams an image instead of a generated PDF but the flow is exactly the same.