When you use sendRedirect, you are creating new request.The browser will show you the changing URL. It is not server-side forward. Though you are calling the jsp page in same container, the request attributes will not persist in case of sendRedirect.
When you say it's like making a new request all over again when using a sendRedirect, it means that we get a new request and response objects. So that is the clue as to what happens with the request attribute that I've set before doing the sendRedirect.
SCJP 1.4, SCWCD 1.4 - Hints for you, Certified Scrum Master
Did a rm -R / to find out that I lost my entire Linux installation!
You may set this idea in your mind anyway you are comfortable. The key idea is that sendRedirect fulfills that original contract (returns a response) with the client (browser) while returning a status that tells the browser to send another request to the address that you indicated in the redirect.