I've taught using all three framewoks, and they each have their charms.
I agree that the Visual Studio.NET IDE is the standard, but since it is the standard, there's lots of other good choices that have copied many of its great features. With ASP.NET, you're not locked to a particular syntax: if you prefer C# to VB.NET, (I do) It's an easy switch. The problem with ASP.NET is that it does tie you to a particular (and troublesome) server platform. Once you're tied into the Microsoft way of thinking, it's pretty hard to get out. If you're willing to totally give in to Emperor Bill, everything will go great, but the moment you get creative and try something not according to Redmond, things get hairy. Want to run on a Linux host? forget it. MySQL? Not supported as well as MS SQL Server. On and on it goes.
JSP seems like a good approach, as Java is certainly powerful, it's always been free, and now it's (theoretically, anyway) open source. JSP and Java Servlets were the only real competition for ASP back in the old days.
Java's a great language, but to be honest it's like living with a strict aunt with way too many rules. Every time you try to do something, Java smacks your wrist, calling you a bad programmer. It leads to decent programming style, but every time I program in JSP, I find myself wanting to be using something else - something that lets me program without reminding me all the time how lazy, sloppy, and generally unfit to program I am.
If you like the 'code behind' aspect of ASP.NET (where you draw the HTML pages like VB forms) you can get the same functionality from Java if you use the free Netbeans IDE and the Java Server Faces framework for JSP. Netbeans makes JSP about as easy as ASP.NET under VS.NET. It includes a cop of apache, which it automatically runs when you execute a JSP. Others swear by Eclipse. I use Eclipse for Java application programming, but I've never installed the JSP plugins, so I don't know how well they work.
I'm personally partial to PHP. Even though you might consider it ugly (what, all the dollar signs? Too much like perl?) it really is a lean mean web server programming machine. PHP was designed for web apps, and that's it. It does one job, and it does that job very well. The syntax is reasonably clean, the built-in libraries and available extensions do darn near everything, and the integration with databases (particularly MySQL) is quite good.
There are dozens of IDEs available that make PHP a much more pleasant environment. I'm partial to Aptana, and open-source extension of Eclipse. It adds everything you need in an IDE including syntax-completion, syntax coloring, automated hints, and much more. You can also find Maguma Studio or DevPHP. I've found both to be quite helpful.
When I have to do a web app of my own, I typically use PHP for the server-side programming (although I'm also a big fan of Python, but you didn't ask about that...)
Good luck!