What is the main-stream Java alternative to ASP.NET / PHP

25,468

Solution 1

The Java equivalent of PHP and "Classic" ASP would be JSP (JavaServer Pages) with scriptlets (embedded raw Java code). Scriptlets are considered poor practice in Java web development world. Taglibs and EL (Expression Language) should be preferred above scriptlets. The Java equivalent of ASP.NET (MVC) would be a Java MVC framework. There are a lot of Java-based MVC frameworks out, mostly providing a Servlet/Filter-based controller and taglibs to interact with the model (usually a Javabean) and the view (usually a JSP page, but XHTML is also possible).

To start, the Java EE API provides JSF (JavaServer Faces) for this, which in turn comes along with XHTML based templated view technology known as Facelets. Facelets is seen as a replacement of the good old JSP. Further, there are a lot of open source Java MVC frameworks which are built on top of the JSP/Servlet API and which are intended as an alternative/competition to JSF. You can find little information of all of them here, the popular ones being Spring MVC, Struts2 and Stripes.

As to which one to choose, I suggest having a look at this answer which I strongly agree.

Solution 2

The best is not necessarily the same as the most mainstream. I think the most direct equivalent (thanks to its standards track nature) is JSF 2.0 & Facelets.

Having said that, there are reasons that the other frameworks exist... it's best to evaluate several and determine which one fits your team's style of development best.

See also this question.

Share:
25,468
Veronika D
Author by

Veronika D

Updated on September 30, 2020

Comments

  • Veronika D
    Veronika D over 3 years

    I've heard something and seen some examples of web application built using ASP.NET / PHP and I'm wondering what would be the equivalent way of doing similar things in Java world. Looking on the Wikipedia I have found a lot of frameworks and I'm kind of confused which one is the best.

  • Devanshu Mevada
    Devanshu Mevada about 14 years
    And another +1 for this nice answer.
  • Piovezan
    Piovezan over 10 years
    @BalusC According to this question it seems that ASP.NET MVC is a request (action) MVC framework, is that correct? (I assume that request/action and component-based are the two unique/main groups of MVC frameworks). BTW I'm also curious about which would be some PHP equivalents to these.
  • Zon
    Zon about 6 years
    Please, share some experience on server hardware resources usage with GlassFish and JavaEE, compared to PHP or NodeJS. Java is often claimed to be very wasteful.