That ugly scriptlet code (I won't beat you up for that; I'll leave that to Bear) is not going to return the correct path. Think about what getContextPath() returns and then look at the rest of the path that you are appending. Something is missing.
<cue Bear on the use of 20th century coding techniques>
"The good news about computers is that they do what you tell them to do. The bad news is that they do what you tell them to do." -- Ted Nelson