what is the advantage of using Struts, other than MVC?


Web tier: servlets, JSP, Web frameworks: what is the advantage of using Struts, other than MVC?

  1. Hi,

       I want to know the uses of using struts framework, deeply.

        Other than MVC pattern what are the remaining things.

    Thanx in Advance.
    M a R u.
  2. Other than MVC, Struts has following advantages (from the top of my head)
    1. Centralized File-Based Configuration.
    Struts values/mapping are represented in XML or property files. This loose coupling means that many changes can be made without modifying or recompiling Java code, and that wholesale changes can be made by editing a single file. This approach also lets Java and Web developers focus on their specific tasks (implementing business logic, presenting certain values to clients, etc.) without needing to know about the overall system layout.

    2. Form Beans.

    3. Bean Tags.
    Struts provides a set of custom JSP tags that let you easily output the properties of JavaBeans components.

    4. HTML Tags.
    Struts provides a set of custom JSP tags to create HTML forms that are associated with JavaBeans components. This bean/form association serves two useful purposes:
      + It lets you get initial form-field values from Java objects.
      + It lets you redisplay forms with some or all previously entered values intact.

    5. Form Field Validation.
    Struts has a robust, extensible validator that can be used to uniformly validate your form fields. This validation can be performed on the server (in Java), or both on the server and on the client (in JavaScript).
  3. I'd add....

    1. "Plumbing code" contained within the Struts framework.
    Mapping HTTP request parameters to Java objects is handled by Struts, for example. You don't have to do it. This allows you to focus more on the domain problem instead of building infrastructure.

    2. Good documentation & plenty of books.
    If you have to leave the project and/or someone else has to maintain it then using a well known and well documented framework will make that job much easier. A homebrewed framework just can't match that.

    3. Broad user testing.
    Since Struts is used in plenty web-apps the framework will get looked at by many more eyes than anything you could write alone. Usually, but not always, that means any problems you have will have been seen by someone else (and hopefully resolved) first.
  4. Sometimes MVC is not needed. It depends on what your application is, how many people you will have working on it, and most importantly what the skill level is of the people coding your application.

    You might be better off with PHP or just scriptlets rather that dealing with all of the theoretical benefits of MVC.