Why do we only see JSP in enterprise or banks aplications? Why don't we see many people use JSP like PHP? I started learning OOP in Java and I did not finish the book I have yet and I am not sure if I should move to PHP or ASP.NET after that or will JSP be a good option?
Because web hosts can support fewer customers per server with Java web servers, so they typically don't offer JSP hosting. Most people will learn the technology the cheap hosts support, so they end up with PHP.
You will find that most of the bigger companies that have their own employees creating and maintaining their web site will use either .NET or JSP. Smaller companies that generally outsource their web site usually end up with PHP because that's what most of the independent web site developers know.
As has been said the volume of customers you can host is limited with Java. But it is not just in memory but also in space and how you expose java to your customers. Most vendors would probably go with an Apache Tomcat stack since it can work damn near transparent in an Apache 2 where you could support your LAMP at the same time.
However, giving people access to your jsp container you would be foolish even if you did lock them down via the access levels. So most people who do offer Java hosting are usually running Jetty. Not only is it light weight but it is also embedded. Google use Jetty for their App Engine.
Another thing to consider is the Classpath Hell situation which can be a pain to manage even on a fast, memory rich server. Having to cater to customers' needs could wind up being far more hands on than you are willing to do. That is why Virtual Servers exist in the market. Let the community, like Linode, take care of itself and just give them OS containers that can do whatever language you want.
It is just a headache to support such languages in a shared hosting or grid-like environment. Virtual Servers eliminate these pains and I guarantee you a great many VPS's implement a java se or j2ee web stack.
As for JSP - man needs a it more knowledge and skills than in PHP, Perl, ASP, etc. It means U need'a be good in OOA/D, have experience at least in Servlet, JBEans programming and bla,bla,bla ....
At anotehr side - to run a JSP - U needa application server - normally they're more complex to install, maintain, so also U have to know to do it or employ admin for that.
So, my point of view, Java technologies, at least at the moment, for companies with cool profies and cool projects.