While looking through vacancies for a Java developer, I noticed the following thing: most advertisements require knowledge of Hibernate , Spring , Spring MVC, Servlet. Can you recommend any books or materials on these technologies to start learning?