Servlets vs. JSP vs. Struts vs. JSF

Discussions

Web tier: servlets, JSP, Web frameworks: Servlets vs. JSP vs. Struts vs. JSF

  1. Servlets vs. JSP vs. Struts vs. JSF (13 messages)

    I started writing a web application by using Servlets.

    There is very much HTML code in the servlets which I don't like. So I thought about using JSP, but I read that it has its drawbacks too.

    Then I thought about using Struts. But then I noticed that I had to learn a lot for it and that Struts has many deprecated things in it which they cannot clean up because of backward compatibility.

    Right now I think about testing Suns' Java Studio Creator which uses Java Server Faces. I read that they promised easy development like Visual Basic.

    Now I would like to read your opinion about web application technologies. What technology do you use: Servlets, JSP, Struts or JSF? And why? What are the pros and cons?

    This will help me to make the decision which technology I will choose for my web application.

    Threaded Messages (13)

  2. P.S.[ Go to top ]

    I must add to my posting that I also read about using templates instead of JSP. The author recommended WebMacro for that purpose. But it doesn't seem to be well maintained any longer.

    What do you think about using templates instead of JSP?

    The article is here: http://www.servlets.com/soapbox/problems-jsp.html

    Please don't forget about my question about the other alternatives: Servlets, JSP, Struts and JSF.
  3. P.S.[ Go to top ]

    Try Tapestry (I think the most advenced web framework today): http://jakarta.apache.org/tapestry/. If you'd like templates based web development - try apache velocity templates: http://jakarta.apache.org/velocity/
  4. P.S.[ Go to top ]

    Thanks for the idea. I'll take a look at Tapestry.

    It seems that it is template based like recommended by Jason Hunter (although he didn't mention Tapestry in his article).

    Any other opinions are welcome.
  5. P.S.[ Go to top ]

    I read a Con about Tapestry on the internet.

    It says: Impossible to test - page classes are abstract.

    Is this true? How bad is this (if true)?
  6. P.S.[ Go to top ]

    What do you mean impossible? Difficult to test - I agree, but certainly not impossible. And testing web appliction (the view part and user input) was never easy.

    First don't put a lot of logic into Tapstry pages. Second, you can always implement those pages (usually you have to implement ony getters/setters). So you can test even user input (not an easy task for such frameworks as STRUTS).

    Well Tapestry is great framework, but learning curve from traditional web apps/frameworks is a little bit steep.
  7. P.S.[ Go to top ]

    I read about the cons of Tapestry on this page: http(s)://equinox.dev.java.net/framework-comparison/WebFrameworks.pdf

    The author writes the same like you: that the learning curve is steep for Tapestry.
  8. oracle ADF[ Go to top ]

    talking about framework, i'd recommend using oracle application development framework which is integrated in jdeveloper. it supports struts very well and developing web-application makes it easy.
    you can have your business services using ejb, business component, web services .. as you wish and the struts controller with view layer.
    you can create nice and easy jclient gui application connecting to same model layer or connect to jsp pages using struts controller. it also supports new jsf. with it's own adf faces it can do more than what jsf does.
    it's promising and well supported and well documented.
    there are other frameworks with such features too, so possibly these are few questions one should ask while chosing one that best suits your need:

      Is the framework industry standard?
    What standards does the framework support? Are there important standards that aren't supported?
      Is the framework open source?
    Does the license allow distributing applications packed together with the framework? Are source code access, modification and distribution possible?
      Is the framework comprehensive?
    Does the framework provide everything needed? Is it easy to use? Is it possible to use it together with other complementary frameworks?
      Is the framework mature?
    Does it have a large user base? Are bugs fixed quickly? What kinds of projects have been built with the framework?
      Is the framework extensible?
    What are the mechanisms used to extend the framework? Will future versions support those mechanisms?
      Is the framework widely supported?
    Are there IDEs supporting the framework? How many? What kind of support do they provide?
  9. Uh what about . . .[ Go to top ]

    Is it a completely tangled mess (Struts, JSF, et al.) or is it clean and elegant (Tapestry, WebObjects, Ruby on Rails).

    Of course the benefit to following the herd and choosing the garbage framework is that when your project is six months late and you're working around the clock to deliver it, at least you'll know that the framework you choose "has a large user base" and is an "industry standard."
  10. Visual Basic like[ Go to top ]

    If you want a framework to create web pages like Visual Basic I recommend WebOnSwing (webonswing.sf.net). Take a look at visual tutorial, you can use any Swing aware editor in your favourite IDE to produce web pages, and when designer finished the htu ml pages yocould use those as templates.
  11. YAWTE[ Go to top ]

    Also take a look at:

    http://sourceforge.net/projects/yawte/

    If you need support(free) send me an email.
  12. YAWTE[ Go to top ]

    Also take a look at:http://sourceforge.net/projects/yawte/If you need support(free) send me an email.
    Thank you. I'll take a look at it.
  13. new powerful J2ee frame work ((shine vs all J2ee frame work comming as soon as soon)) Hello! I'm Steve Brown, a java developer. A few days ago, I encounter a new Java frame work named Shine. I read it's getting started document and that motivated me to test it. I really enjoyed it, when I worked with it more! The Shine's Developer had written some documents about it, in Sourceforge.net & J2sos.org. The documents said that Shine: 1. Is a full java service oriented frame work. 2. Is a JWMS (Java Web Model Service architecture) frame work for web base projects. 3. Includes Ajax, MVC, Service Oriented Scope. So I tried to implement a simple sample in order to know it better. I found out that shine has a different view point about Service & to be Service oriented, that was very interesting for me! Shine has deployed on JWMS architecture that is exclusive to itself. Furthermore it supports MVC architecture too. As another advantage, Shine doesn't have the complexity of the other frameworks (for example FormBean component in Struts, …) and let developers to work with a very strong but simple operational process. The other advantage is full Ajax supporting of Shine. The simplicity but the power of Shine's validation is one of its advantages too. After working with Shine a little more, I realize something interesting in it. In addition to the Shines Special capability which I said, it has complex capabilities of Tapestry, Struts, Servlet, Jsp & … . I had developed some big java application projects. And as a professional developer I think Shine has some disadvantages, too. Shine is at its first version & doesn't have enough documents, Also it isn't experienced by developers. So it isn't reliable enough to develop the projects with it. And this is the reasons that don’t let me to deploy a real project with it. Time will show us, whether shine is so strong to show itself as a powerful framework among the others or not?! I don’t know, maybe Shine has some other advantages or disadvantages too. I really hope to learn about it more & will be glad if you let me know about your experiences touching Shine framework. My email: saam_xox@yahoo.com
  14. new powerful j2ee frame work[ Go to top ]

    I say struts become useless as soon as soon.because shine frame work is burn. Hello! I'm Steve Brown, a java developer. A few days ago, I encounter a new Java frame work named Shine. I read it's getting started document and that motivated me to test it. I really enjoyed it, when I worked with it more! The Shine's Developer had written some documents about it, in Sourceforge.net & J2sos.org. The documents said that Shine: 1. Is a full java service oriented frame work. 2. Is a JWMS (Java Web Model Service architecture) frame work for web base projects. 3. Includes Ajax, MVC, Service Oriented Scope. So I tried to implement a simple sample in order to know it better. I found out that shine has a different view point about Service & to be Service oriented, that was very interesting for me! Shine has deployed on JWMS architecture that is exclusive to itself. Furthermore it supports MVC architecture too. As another advantage, Shine doesn't have the complexity of the other frameworks (for example FormBean component in Struts, …) and let developers to work with a very strong but simple operational process. The other advantage is full Ajax supporting of Shine. The simplicity but the power of Shine's validation is one of its advantages too. After working with Shine a little more, I realize something interesting in it. In addition to the Shines Special capability which I said, it has complex capabilities of Tapestry, Struts, Servlet, Jsp & … . I had developed some big java application projects. And as a professional developer I think Shine has some disadvantages, too. Shine is at its first version & doesn't have enough documents, Also it isn't experienced by developers. So it isn't reliable enough to develop the projects with it. And this is the reasons that don’t let me to deploy a real project with it. Time will show us, whether shine is so strong to show itself as a powerful framework among the others or not?! I don’t know, maybe Shine has some other advantages or disadvantages too. I really hope to learn about it more & will be glad if you let me know about your experiences touching Shine framework. My email: