Background : I'm a professional Java developer that does Django on the side.
Java
Java is used mainly in the enterprise, and there are very good reasons for it. Java is a good solution if you need a language that is mature, has good support for concurrency, transactions, access to multiple databases ... Java is also a very stable platform. And by stable, I dont mean that it has fewer bugs than Python or Ruby, I mean that it doesnt change as much.
There is wonderful tool support for Java. Great IDE, great refactoring tools, great static analysis tools ... You probably wont find as many tools of that quality for any other language.
There are a lot of slow Java applications, but in my opinion it comes more from developers using an architecture that they dont understand, trying to do things more complicated than they need to. You can develop high performance, very fast websites with Java.
Django
Django is more light weight, more fun to work with. You can have an application running in a very short time. The admin interface is magical for simple CRUD operation and can be used for even pretty complex logic. You can find a lot of "reuseable apps" that will implements some of the functionalities that you need.
Even if Django is now in version 1.0, it is far from stable. If you need to be still developing your project in 1-2 years, you can expect a lot of changes just to follow the state of Django.
Conclusion
Use Java if you already know it and if you have needs for complex architecture and long term support.
Use Django (or RoR) if you want rapid development and dont care if you need to rewrite a lot of the app in 1-2 years.