I've done lots of web design using PHP (both procedural and OO). I've within the last couple of years tried Java development (not JSP and Servlets) for embedded systems. I'm pretty proficient using Java SE and also have lately obtained a pleasant web dev job. I'm considering developing this website using JSP and Servlets but this really is strictly for my very own understanding progression using Java. Can there be any real reason to make use of JSP and Servlets over PHP or ASP etc?The issue being that many Website hosts don't offer e.g. Tomcat or any other JSP servers and when they are doing, it's costly.

Any feedback could be appreciated.


I have used JSP for a long time and also the extensibility generally helps make the nominal cost for monthly hosting a lot more than worthwhile. Nevertheless, if you want to set up a fundamental educational or resume kind of page, you are most likely not have to JBoss or another sledgehammer.

With JSP/Java, it paves the way to presenting Java within the controller layer (you most likely already used or often hear about advanced connection pooling, distributed caching, arranging via Quarta movement, Hibernate object/relational persistence). And you can run Java on any machine having a JVM. The syntax on JSPs is not incredibly difficult, although it comes with a learning curve. So far as hosting, eatj.com continues to be very good to date.

About the PHP side, it is simple to incorporate community features like Wordpress. While you should use nWordPress for Java, it is simply different factor. Facebook, most likely among the greatest implementations of PHP available, uses HipHop and decreased their processor needs significantly.

Assembling your shed could also also provide an simpler time getting staffed with PHP designers being that they are relatively less complicated to find than JSP designers. I'd say learn JSP and/or Ruby - it reveals a couple of more doorways and you'll eventually prefer one way over another.

If you have time, it's wise if perhaps to understand the net facets of Java. I'd suggest searching in a Java web framework for example Spring MVC, Wicket, or Struts, because they simplify development (once you learn them) making web applications more testable and maintainable.

Evaluating JSP with PHP is a little evaluating apples with oranges. Evaluating JSP with ASP is much more reasonable because they both of them are less or even more within the same type of technology/ideology. I'm not likely to compare JSP and ASP because I do not do ASP and that i would rather publish solutions depending on own understanding and experience.

PHP is fairly low-entry and simple to obtain began with regarding web design. It's relatively simple to constructOrmodify PHP pages. Also PHP hosting is very cheap as well as freely available. The word what is however weak typed and never really specific on OO development and pluggability. For your Java/JSP is really a better option. It helps reduce separation of view from model and controller (backed by Java code) by utilizing tag libraries and merely sticking some coding practices. For Java/JSP you will find also very lots of robust libraries/frameworks available for you to just plug/adopt. Also multithreading, concurrency and background processing is a lot simpler and to become done/handled with Java code. It's only a little more work regarding development and posting (edit, rebuild/recompile, redeploy and perhaps also restart of server rather than just edit and save as with PHP).

Regarding JSP/Servlet hosting, not one of them is free of charge (although only Eatj.com has a forex account, but that is an effort that will shutdown the webapp instantly after half a hour), however they aren't always costly. The least expensive ones begins with prices in selection of $10~$15 monthly (that we consider pretty affordable, it might be different for you personally). E.g. javaservlethosting.com, jsp-servlet.internet and eatj.com. Then you will find web clouds like Amazon . com EC2 and Google Application Engine with variable prices based on under each actual CPU usage and network bandwidth.