You cannot set something in request scope, and expect it to be available in another scope.
If you put your socks in the top drawer, would you be surprised to find that they are not also in the bottom drawer? Of course not! Why would you expect your socks to be available in session scope if you put them in request scope?
By using the useBean you are creating a new instance of PersonVO and setting it in the Session scope, that might be the reason why your generated Servlet is trying to access it. I am not an expert in JSPs but I think if you change the scope to request you might get to use the one you set in your Servlet.
Here it is plain as day: you can't. If you place the scoped variable into request scope, you need to look for it in request scope. It's not in session scope, so you can look there as hard as you like, but it's not there. Never will be.
If you put your dinner down on the kitchen table, would you expect it to magically appear in the bedroom? No, you put it in the kitchen, so you need to go back to the kitchen to get it.
If you put the variable into request scope, you need to get it from request scope. Simple.