Well, it looks like with the Final Draft of Java EE 5, the final nail has been placed in JSP’s coffin. I suggest anyone using JSP and not drinking the JSF kool aid get out now while there is still time. Alternatives that don’t require compiling, are cross platform, and can be modified easily at runtime do exist.
I think Ed Burns sums it up best in some mass email sent out to many in the Java community:
We’re pleased to announce the availability of the Public Review of the next versions of the specifications for the Java Web tier. This includes Servlet, JavaServer Pages (JSP), the JSP Standard Tag Library (JSTL) and JavaServer Faces (Faces). Servlet is being developed under JSR-154, JSP 2.1 is developed under JSR-245, JSTL is developed under JSR-052 and Faces 1.2 is developed under JSR-252. The expert groups are working together to improve the alignment between these these powerful web technologies.
Yup — what some of us feared is now totally certain: JSP is now locked to JSF with no hope of ever improving as a standalone spec. And worse, the Java EE web platform is now bound to a dreadfully immature platform.
I feel bad saying this, as I don’t really consider myself an open source hippie, but at this point the only good thing that has come from Sun and the JCP I can really recall is the Servlet spec (and even that is been a bit rocky since 2.3). Thankfully projects like Jetty, WebWork, Hibernate, Spring, Tapestry, iBatis, ActiveMQ, XFire, etc can let us move beyond “J2EE” and simply build “Java-based web applications” that still work, work well, and can work well in many environments.
To J2EE (or Java EE or whatever it is these days): thanks, but no thanks.
Update: I’ve been linked by JavaLobby and I’m sure this post will upset a few people. For some background on this, please see my open letter to the JSP spec leads from over 9 months ago. Either way, I apologize for the flame-baiting attitude of this post.
I’m just a little annoyed at how Sun operates. I see them strong-arming just like Microsoft, except that at least MS builds a decent centralized platform. Sun just seems to strong-arm their own community! Uh oh, I’m ranting now… bye!
on Aug 28th, 2005 at 1:05 pm
I’ve still had no looks at JSF, and I know I have to.
Even if they are died for Sun (or j2ee expert groups), I won’t bet a cent they will disappear at least for next 2/3 years. As far as I’ve seen, JSP has been (with Servlets) the silver bullet of whole J2EE cauldron, still having problems and limitations and also less marketing. Marketing, sometime looses facing things that just work.
I 100% agree with you about your vision on plain old “Java-based web applications” that still work, etc.etc. That’s the real thing
on Aug 28th, 2005 at 1:49 pm
I don’t see how making these technologies work together better is a bad thing. JSF and JSP didn’t work well together at all in JSF 1.1. I’m doing my best to promote open source ideas into the JCP - and I don’t see how JSR-245 will hinder any other frameworks from using it.
on Aug 28th, 2005 at 8:10 pm
I’ve seen Java Studio Creator IDE, that is built on JSF with the “Visual Basic” RAD design vision. Web application are not “form with buttons” and crappy code. I think this cannot work on multi-user & multi-thread, enterprise level applications. This is the only bad thing I’ve felt about JSF. But I cannot express any valuable opinion on JSF as currently I just know only the “rumors” about it.
Surely integrating working technologies lead to working applications. And this cannot be bad
I just can say: “JSP” works. It can be better, but works quite good:
If JSF and JSP didn’t work well togheter in JSF 1.1, I consider it an error from Sun. JSP should not die, and it won’t, despite buzzwords and fluff vendors.
on Aug 28th, 2005 at 8:28 pm
This post is pure FUD that is common from the WebWork community.
on Aug 28th, 2005 at 8:40 pm
Luigi,
You’re right, I don’t mean it is dead (as in it will disappear). I mean it is dead as in it becoming irrelevant with respect to what it once was.
Matt – I agree, they should work together. But not the way they did it. Taking syntax away and moving JSP away from being a generic web-based template language for Java was a mistake. It is now a web-based template language for JSF. Sun has done a disservice to those not using JSF but still using JSP. Read more here.
Anonymous,
Yup, pure FUD. Nothing legitimate about it at all. Not even in my previous posts. Thanks, come back soon.
on Aug 29th, 2005 at 1:44 am
You are wrong here.
Actually the change JSF to be compatible with JSP.
As of JSF 1.0 (1.1) they made they own EL language similar to JSP one. Now they dropped it in favor of JSP one (they had to make some changes in JSP EL, but that was a deal).
As for the JSP there is a little change.
The main idea of JSF was to make it “presentation” agnostic. The problem is that anyway people use it with JSP and without JSP noone needs it. So they have to move it to the better JSP integration.
In JSF 1.2 they provides integration with JSTL (again it will demand minor changes in JSTL).
So JSP + JSF will be a good chain.
on Aug 29th, 2005 at 7:32 am
Dim,
Not true — JSP 2.1 reserves now both ${} and #{} due to JSF 1.1’s goof-up. This is a big problem for WebWork users, as #{} is meant to indicate an inline map. I’ve tried for months to convince the JSP spec authors to not make this change, or at least provide a way for tag authors to turn it off. They have refused and I’ve given up. It is clear that JSP is no longer a general technology for Java web apps. It is well down the road of being tied very closely to the needs of JSF.
on Aug 29th, 2005 at 11:27 am
“the only good thing that has come from Sun and the JCP“
You don’t like NIO? What’s wrong with util.concurrent? You don’t like generics or autoboxing? How about all the DOM and SAX stuff?
Anyway, you say open source projects let us move away from J2EE. Isn’t Hibernate a reference implementation of the EJB3 spec?
on Aug 29th, 2005 at 11:39 am
Keith,
Good points — apologies, I meant w.r.t. to Java EE. This post definitely came off as a bit flame-baiting, and I apologize. If only you’ve seen the efforts I’ve made privately to get JSP to not go down this terrible path. I’ve finally given up, and this email I got just solidified Sun’s vision for JSP: catered to JSF above all else.
Patrick
on Aug 30th, 2005 at 12:09 am
Haem excuse me but I do not understand this article. JSF never have been linked to JSP, and JSP is not the only language you can use to write JSF views. It’s just the one that is supported by the JCP specification.
Now, EL is a totally stand-alone package and can be shared by any framework.
What do you want more?
You can even write JSF views with POJO’s (see Smile Project).
I can understand some critics about Sun be here I can’t.
http://www.theserverside.com/news/thread.tss?thread_id=33326
Renaud
on Aug 30th, 2005 at 3:06 pm
I also think JSPs are dead and JSF is certainly dead on arrival for me. Sun has shown with JSPs, EJBs and so on that they have no clue on what is easy to use and makes developers/me happy. I will avoid JSF like the plague and continue to do so with JSPs. Does anyone know how many specifications there are that have tried to fix the fundamental problem with JSPs? I say use freemarker or velocity, who needs JSPs.
on Sep 1st, 2005 at 5:00 am
It’s looks like smarty template for php programers – obvius i’m not sugest a comparation..
on Sep 1st, 2005 at 12:38 pm
Doesn’t the introduction of pluggable VariableResolvers solve this problem? If not, why not?