If you have checked the docs and there is no specific mention relating to these, I'd think you are OK. Or why don't you use a book that's based on the latest version.
Yes. For clean separation of concerns, you usually want to route through your controller/servlet, rather than going directly to another view from one view.
What you have looks fine to me. Verify that DCA-web is your application context. Also, how are you testing this, just from the browser, or you are using a rest client for your browser?
In the first case, you are casting, however in the second, you are calling a method on a variable that is null. Hence, the reason for the null pointer. With casting, if what you are casting returns null, your fast will return exactly that.
Once you have the value, you can store it in a scope (session, application, etc) as an attribute. That will make it available to other parts if the application. You may want to read up on these.