JSP is appropriate as a *part* of a Java web application project, but not as its entirety: JSP is on the view side, but ideally, no programming (apart from simple functionality provided by tag libraries) should be done in the JSP. The programming part of things belongs in Java classes (
servlets, or in whatever methodology is supported by the framework you choose).
There's no reasonable way to answer a "Is JSP 'better' than PHP" type of question, because it depends entirely on what you're doing, how you want to do it, and so on. I find PHP is abhorrent as a language, but other people will disagree. Regardless of how you feel about it as a language, it's possible to write good, clean PHP (within the constraints of what the language gives you)--but most people don't.