If you have any good resource and book suggestion please don't forget to share with me.
Another question a big problem with framework. So far seen, JSF and Spring are the most popular, which one should i chose.
Spring has both front end back end parts. You can definitely learn the back end parts (inversion of control, jdbc tempalte, etc) without knowing JSP/Servlets. I recommend you at least read a book about servlets/JSPs before going on to the front end part. The concepts are still important. I see more Spring use than JSF.