I was recently laid off, and now I'm looking to take this opportunity to add new technologies to my resume. I don't mean just padding with keywords; I mean developing real (albeit possibly small), useful applications that require me to, in the process, learn a new technology.
My choice of platform is a little confused, because I have about 1-2 years of experience with 10 or so languages/platforms (C++, Ruby, C#, Java, JEE, ASP.NET, Ruby, Rails, PHP, ...). I'm hoping this question will be generic to at least C#/Java, or maybe wider.
What are some absolutely essential technologies I should learn about, for Java and for .NET?
As an example, I would say based on my experience, a JEE example would be: Hibernate, Spring, Struts, EMMA, Ant, BEA WebLogic, and Hudson. (Note that they span the entire gamut from writing and compiling code to building and deploying applications.)
Edit: I will probably end up in a .NET web development job (ASP.NET, MVC2 if I'm lucky). That's what I'm looking for.