I've been asking myself the same question and I've done some digging on the Internet. The wisest and best answer i have found was that you really shouldn't compare the two. They have different marketing targets, so to speak. What i mean is PHP, which initially stood for "Persona Home Page" was created for making small and medium sites with server side functionality. So far i've seen PHP being used mostly in shopping cart like web applications or presentation sites... you get the picture. I personally never really liked PHP and was forced to study it in school. Why i didn't like it was because it's all messy... you got html code mixed with php code... what just against the basic rules of programming "i belive in" ... Anyway I'm aware of the existence of PHP based frameworks like Zend that sepparate the server code from the presentation and also have classes and all sort of neat features. Now on the other side is the Java solution for web development : Java enterprise platform that offers servlets, jsp, tag libraries and all sorts of other APIs. Java is mostly used on really big "enterprise" projects where using PHP would be just pure torture. I'm talking about the kind of web apps created by big companies that have hundreds of classes created by tens of people scattered across the world. Indeed it takes a little more time to setup a Java project and to learn the principles of servlets and jsp or other Java frameworks, but at the end of the day you're making a web application the same way you would a desktop application. You've got classes, packages, design patterns... you've got object oriented programming. So that's why i prefer the Java solution. You've said PHP vs JSP ... i dunno if u can make a comparison bethween the two ... maybe it's more like bethween PHP and Java, cause JSPs as we all know are translated to servlets, and without servlets you don't have a web app . Plus no Java web developer will limit himself to using only servlets and jsp, most will continue by using struts, spring and all sorts of Java frameworks.So i guess what I'm saying is ... why can't we all just be friends ?