The easy way to learn programming.
For a Java Career
Disclosure: I have no financial gain from the books I recommend here. I endorse them either because I have read them or I have heard good reviews about them.
Technologies you must know..
Core Java language - My Video
Start with my Java Programming step by step video tutorial (of-course I was going to say that )
I sincerely believe my training video is the best in the market!
Java books - If you need them
There are a ton of good java books. Almost everyone seems to have an opinion.
I read Java complete reference by Herbert Schildt.
I loved SCJP exam prep guide by Kathy Sierra, Bert Bates and insist you read it.
I heard good things about Head first java by Kathy Sierra, Bert Bates
HTML / CSS / Java Script
If there is something every programmer must know, its HTML, CSS & Java Script.
You don't have to master them, but a basic understanding is an absolute must.
Most of the applications today are web based, and most advanced books assume you know it. There is no recommended book. There is enough free material on the web or just browse your nearest book store.
You need to connect your application to the database and manage the data. The technology used for that is called ORM(Object relational mapping). There are different ORM's in the market, Hibernate seems to be the most popular. I have some free tutorials to get you started. Check it out. Just make sure you use the same version of hibernate that I use before experimenting with the latest versions. It will save you a lot of compatibility headache.
For a book, check out Hibernate made easy by Cameron McKenzie
You will need an introduction to web technology in Java. You need not master this, but you need to get your basics right.
Recommended book : Head First Servlets and JSP by Kathy Sierra, Bert Bates
Spring framework or Struts
Every web application has to process user request, same way all applications must handle security etc. Frameworks give you the common code that is required in all applications. Spring framework is the current rage. It is difficult to get a grasp on it if you are new to the Java world. I am planning a video on it soon.
I do strongly recommend Spring Recipes by Gary Mak. I actually liked the older version than the newer one.
Don't forget to learn about web services.
Java Server Faces
Java Server faces is used along with spring framework, spring mvc or spring web flow to develop web applications. JSF is used more a presentation layer.
I haven't seen rich client applications used much these days and even if they do, they tend to use Microsoft technologies. Just in case you want to learn to develop rich client in Java, start with Swing: A Beginner's Guide by Herbert Schildt.