JSF vs. Spring vs. Struts - any comparison info ???

Hi
I am looking at any articles or posts that compare and contrast the 3 MVC frameworks (JSF, Struts, and Spring)..
Thanks
Z

Both Equinox and AppFuse have their web layer implemented using JSF, Struts, Spring MVC, Tapestry and WebWork. You can choose which framework you want to use when using these projects to start your next webapp.
http://appfuse.dev.java.net
http://equinox.dev.java.net
Also, the next chapter in Spring Live (www.springlive.com) will cover all 5 of these frameworks and how to integrate them with Spring for your middle-tier. More information at:
http://jroller.com/page/raible?anchor=revised_update_chapters_schedule
Hope this helps,
Matt
Disclaimer: I'm the author of Spring Live and founder of both AppFuse and Equinox.

Similar Messages

  • Not able to create a web project with jsf or jsp or struts or spring

    Hi,
    I am trying to create a dynamic web project with jsf or jstl or struts or spring or any of web options available for a web project, but I am not able to do it.
    When I choose any of these options, the wizard asks me to "select an existing jstl/jsf/Spring 2.0 library, or click Add to add a new library." and since it doesn't show any existing libraries there, I clicked on add new library. When I click add, it opens a new dialog box where it has two options :
    1. to use spring/jstl/jsf lib from bea web site - when I choose this option, it tries to connect to the bea web site and gives me error that "connect time out". I don't know why it is not able to connect to the internet. I am not able to see the help also. There it gives error "The requested URL could not be retrieved".
    2. to use libraries from an existing spring installation - I provide the path of a directory where spring lib are, but then it gives me error that this is not a valid installation.
    On another machine, I am able to see the help contents, but still not able to get these libraries from the bea site.
    Please help.
    Thanks in advance,
    Sushma

    Hi Sushma,
    The issue you are facing has been addressed and will be part of the next release. For the current release, please follow the steps listed below.
    Send an email to [email protected] with details on specific facets you are trying to enable on your project.
    You will be provided with a url where you can download the required jars and details on how to manually add the jars to the workspace which will prevent the download on demand scenario.
    Cheers
    Raj

  • JSF/Tiles/Spring Integration Problem

    Hi,
    I have a JSF based web application, which uses Struts Tiles framework through the view-handler "org.apache.myfaces.tomahawk.application.jsp.JspTi lesViewHandlerImpl". Now I am trying to integrate this with the Spring framework by making use of the variable-resolver "org.springframework.web.jsf.DelegatingVariableRes olver". With this, when I try to access a page, (whose backing bean gets injected with Spring beans) I get the following exception:
    javax.faces.el.EvaluationException: Expression Error: Named Object: 'userSession' not found.
    at com.sun.faces.config.ManagedBeanFactory.getScopeFo rSingleExpression(ManagedBeanFactory.java:998)
    at com.sun.faces.config.ManagedBeanFactory.hasValidLi fespan(ManagedBeanFactory.java:931)
    at com.sun.faces.config.ManagedBeanFactory.evaluateVa lueBindingGet(ManagedBeanFactory.java:892)
    at com.sun.faces.config.ManagedBeanFactory.setPropert iesIntoBean(ManagedBeanFactory.java:553)
    at com.sun.faces.config.ManagedBeanFactory.newInstanc e(ManagedBeanFactory.java:234)
    at com.sun.faces.application.ApplicationAssociate.cre ateAndMaybeStoreManagedBeans(ApplicationAssociate. java:253)
    at com.sun.faces.el.VariableResolverImpl.resolveVaria ble(VariableResolverImpl.java:79)
    at org.springframework.web.jsf.DelegatingVariableReso lver.resolveVariable(DelegatingVariableResolver.ja va:108)
    at com.sun.faces.el.impl.NamedValue.evaluate(NamedVal ue.java:125)
    at com.sun.faces.el.impl.ComplexValue.evaluate(Comple xValue.java:146)
    at com.sun.faces.el.impl.ExpressionEvaluatorImpl.eval uate(ExpressionEvaluatorImpl.java:244)
    at com.sun.faces.el.ValueBindingImpl.getValue(ValueBi ndingImpl.java:173)
    at com.sun.faces.el.ValueBindingImpl.getValue(ValueBi ndingImpl.java:154)
    at javax.faces.component.UIOutput.getValue(UIOutput.j ava:147)
    at com.sun.faces.renderkit.html_basic.HtmlBasicInputR enderer.getValue(HtmlBasicInputRenderer.java:82)
    at com.sun.faces.renderkit.html_basic.HtmlBasicRender er.getCurrentValue(HtmlBasicRenderer.java:191)
    at com.sun.faces.renderkit.html_basic.HtmlBasicRender er.encodeEnd(HtmlBasicRenderer.java:169)
    at javax.faces.component.UIComponentBase.encodeEnd(UI ComponentBase.java:712)
    at com.sun.faces.renderkit.html_basic.HtmlBasicRender er.encodeRecursive(HtmlBasicRenderer.java:443)
    at com.sun.faces.renderkit.html_basic.GridRenderer.en codeChildren(GridRenderer.java:233)
    at javax.faces.component.UIComponentBase.encodeChildr en(UIComponentBase.java:693)
    at com.sun.faces.renderkit.html_basic.HtmlBasicRender er.encodeRecursive(HtmlBasicRenderer.java:435)
    at com.sun.faces.renderkit.html_basic.GridRenderer.en codeChildren(GridRenderer.java:233)
    at javax.faces.component.UIComponentBase.encodeChildr en(UIComponentBase.java:693)
    at com.sun.faces.renderkit.html_basic.HtmlBasicRender er.encodeRecursive(HtmlBasicRenderer.java:435)
    at com.sun.faces.renderkit.html_basic.HtmlBasicRender er.encodeRecursive(HtmlBasicRenderer.java:440)
    at com.sun.faces.renderkit.html_basic.GridRenderer.en codeChildren(GridRenderer.java:233)
    at javax.faces.component.UIComponentBase.encodeChildr en(UIComponentBase.java:693)
    at com.sun.faces.renderkit.html_basic.HtmlBasicRender er.encodeRecursive(HtmlBasicRenderer.java:435)
    at com.sun.faces.renderkit.html_basic.GridRenderer.en codeChildren(GridRenderer.java:233)
    at javax.faces.component.UIComponentBase.encodeChildr en(UIComponentBase.java:693)
    at com.sun.faces.renderkit.html_basic.HtmlBasicRender er.encodeRecursive(HtmlBasicRenderer.java:435)
    at com.sun.faces.renderkit.html_basic.GridRenderer.en codeChildren(GridRenderer.java:233)
    at javax.faces.component.UIComponentBase.encodeChildr en(UIComponentBase.java:693)
    at com.sun.faces.renderkit.html_basic.HtmlBasicRender er.encodeRecursive(HtmlBasicRenderer.java:435)
    at com.sun.faces.renderkit.html_basic.GridRenderer.en codeChildren(GridRenderer.java:233)
    at javax.faces.component.UIComponentBase.encodeChildr en(UIComponentBase.java:693)
    at javax.faces.webapp.UIComponentTag.encodeChildren(U IComponentTag.java:600)
    at javax.faces.webapp.UIComponentTag.doEndTag(UICompo nentTag.java:537)
    at com.sun.faces.taglib.html_basic.PanelGridTag.doEnd Tag(PanelGridTag.java:460)
    at org.apache.jsp.WEB_002dINF.layout.jsf_002dlayout_j sp._jspx_meth_h_panelGrid_0(jsf_002dlayout_jsp.jav a:269)
    at org.apache.jsp.WEB_002dINF.layout.jsf_002dlayout_j sp._jspx_meth_h_form_0(jsf_002dlayout_jsp.java:222 )
    at org.apache.jsp.WEB_002dINF.layout.jsf_002dlayout_j sp._jspx_meth_f_view_0(jsf_002dlayout_jsp.java:188 )
    at org.apache.jsp.WEB_002dINF.layout.jsf_002dlayout_j sp._jspService(jsf_002dlayout_jsp.java:99)
    at org.apache.jasper.runtime.HttpJspBase.service(Http JspBase.java:97)
    at javax.servlet.http.HttpServlet.service(HttpServlet .java:810)
    at org.apache.jasper.servlet.JspServletWrapper.servic e(JspServletWrapper.java:332)
    at org.apache.jasper.servlet.JspServlet.serviceJspFil e(JspServlet.java:314)
    at org.apache.jasper.servlet.JspServlet.service(JspSe rvlet.java:264)
    at javax.servlet.http.HttpServlet.service(HttpServlet .java:810)
    I could get the application work with JSF and Spring, without Tiles.
    Appreciate any help in this regard.
    Thanks

    I'm assuming that since you are using JSF and Tiles, you are not using Spring's web framework. In that case, the integration of Spring with JSF is relatively trivial and you can neglect it for now. You might want to try the link below, if you are feeling lucky:
    http://www.google.com/search?q=myfaces+tiles

  • Which framework is preferable JSF 2.0 or Struts 2.1?

    Hello everybody ...
    I would like to ask this question Which framework is preferable JSF 2.0 or Struts 2.1?
    The comparison it could be in terms of the efficiency,less failures , facility, simple to use , the other technical perspectives .
    And which one is very useful in CRUD apps .

    I received your comment on the blog post in my mailbox, but it doesn't actually show up on the website for one reason or another. Let me address it here in the hopes you find it.
    Is JSF 2.1 the best to use for e-commerce and social application "bond together" Maybe. It all depends on your requirements. Like I state in the article, if you need lots of control over the front-end with javascript, Ajax, DHTML and whatnot then JSF might not be the right choice.
    and the important goal for this application is the availability and the very efficient respond from the server for the millions and millions of the clients request, That does not depend on code. It depends on the server software, the server hardware and the configuration. You are not going to learn how to make this happen by asking questions in a forum, it will require plenty of study and experimentation. If you expect millions of client requests then only one server is probably not going to cut it for example; you'll have to start thinking about clustering. Whole books can be written about that subject, and probably have.
    for sure If I am using Jboss , and by the way which is the really good application servers and web servers either is it Jboss or glassfish server . Both JBoss 7+ and Glassfish V3+ are excellent and fast Application Servers. I have always used JBoss so I am biased towards it.
    Or there are alternatives out there ,Can you elaborate on them quite bit.There are certainly alternatives, Weblogic 12+, Websphere 8+, Geronimo 3+, probably some others I'm missing. I have no experience with any of them, so I cannot elaborate.
    Because I am starting my project I am still confusing my first aim is the efficiency , efficiency in the sense as the user presses submit button the result should be right in front of his/her faceThat depends more on your server setup and the environment it is installed in. You aren't going to magically get good performance by using a specific framework.
    for definitely using the suitable web techniques and web services like AJAX and JQuery and other suitable web services which are required , in fact there are so many factors are responsible and must take care of this job like databases ,networking and OS platforms stuff.I don't know if you're asking something here or just making a statement :/

  • JSF forward to old Struts action

    Hi, The application which I'm working on is using Struts. However, the tendancy is to migrate to JSF. We are trying to include a bit JSF in our old Struts app.
    For the moment this is done like this:
    A Struts action is forwarded to a JSF page by specifying this in the struts-config.xml. This works: the JSF page is showed successfully.
    However, when we want to 'submit' the JSF, which is specified in the faces-config.xml like this:
    <navigation-case>
               <from-action>#{Page.theAction}</from-action>
               <from-outcome>success</from-outcome>
               <to-view-id>/ourFile.do</to-view-id>
    </navigation-case>This results in a 404: page not found. When using a browser and navigating to http://<server:port>/<AppRoot>/ourFile.do this file does exists.
    Any idea why faces doesn't know this?
    Thx

    Sorry for reopening an old thread but now i'm stuck with a similar problem.
    Actually i want to redirect to a struts application from my jsf application
    for this i'm doing
    String url="http://localhost:8080/strutsApp/strutsLogin.do";
    res.sendRedirect(url);
    this works fine and sends me to the login page.
    But i intend to break the login page and enter the welcome page as i'm trying to implement SSO in my application.
    Can any one guide me plz????????????????????

  • I changed companies and had icloud with my old company - now i want to just use my personal id and can't change any icloud info to match my personal ipad id - i can't delete the icloud without the old company id and password which is not available to me

    i changed companies and had icloud with my old company - now i want to just use my personal id and can't change any icloud info to match my personal ipad id - i can't delete the icloud without the old company id and password which is not available to me - it probably doesn't even exist anymore!
    Because I can't delete the icloud account, I keep getting view terms to accept and it wants to go to the old company account.  I can't do anything to get rid of this - when I try to delete the icloud it wants me to delete find my ipad and asks for the old co. id and password - it's a vicious circle and i just want to get rid of it and start fresh with my regular personal email id and password!!!  Help!

    You will need that old Apple ID and password, which does indeed still exist. Apple doesn't delete Apple IDs, though if this ID was in the control of your company they may have changed the password. If so, you will need your former company to log into the iCloud account using that ID and password and erase the iPad or remove it from iCloud:
    http://support.apple.com/kb/TS4515?viewlocale=en_US
    Until that's done you cannot change those settings, and if you try to restore the iPad will have it locked with Activation Lock and thereafter be unusable.
    Regars.

  • I can't get any contact info for installation problem- I just bought a Mac Air and my CS5 is asking for a reinstall. Mac Air has no DVD slots. HELP I al VERY FRUSTRATED THAT ADOBE HAS NO WAY TO GET HELP

    I can't get any contact info for installation problem- I just bought a Mac Air and my CS5 is asking for a reinstall. Mac Air has no DVD slots. HELP I al VERY FRUSTRATED THAT ADOBE HAS NO WAY TO GET HELP

    You are right, Adobe does not support CS5 because it is no longer sold.
    Simply download the trial version of CS5 from this Adobe web site and input your serial number.
    Adobe - Photoshop : For Macintosh

  • Hi - for any photo, info in mountain lion shows a different file size than Photoshop does. I've tested with CS3 and CS6 and get the same problem. Doesn't happen with CS3 and OSX10.4 or any previous versions of Photoshop and OSX. Anyone know why?

    Hi - for any photo, info in mountain lion shows a different file size than Photoshop does. I've tested with both CS3 and CS6 on 10.8.2 and get the same problem. This doesn't happen with CS3 and OSX10.4 or any previous versions of Photoshop and OSX. Anyone know why?

    this one is actually a really rare symptom of a flaky connection to the ipod on a Windows PC. there's more going on in terms of hardware on nanos and 5th gens than in the earlier models ... so if the connection is flaky to precisely the right/wrong degree, itunes will see the ipod, but misidentify it as an earlier version of ipod.
    tracking down the cause of the flakiness can be tricky ... as you already know ...
    just checking. have you tried connecting with a different (known-good) USB cable? does that seem to have any impact on the rate of occurence of the problem?

  • Any more info on Retina display optimized Photoshop?

    Just checking back every couple of weeks (or months) to see if there is any more information regarding any availability of Photoshop CS6 optimized for Retina display capabilities?
    I know that it was probably a rush job getting it ready for the Apple WWDC, but I've not heard any more about whether or not it's actually going to be available in the near or late future.
    Anyone from marketing here? Any new info that might be shared?
    Thanks,
    Clinton

    Last we heard here the released version works just fine on the Retina display, it just doesn't make use of the full resolution yet.
    As there has been absolutely no Photoshop update (13.0.1 is still being prepared), there is nothing new, and Adobe never predicts when something will be ready.  I don't think we can even be sure 13.0.1 will add high resolution support for the Retina display either.
    See the recent discussion here, noting the first real info is in post 8:  http://forums.adobe.com/thread/1033025
    -Noel

  • Every time I right-click an image in Firefox 3.6.12 to view image size info it says "Unknown (not cached)". Any ideas on why this could be happening and how I can stop it? My OS is Ubuntu 10.10. If you need any more info let me know.

    Every time I right-click an image in Firefox 3.6.12 to view image size info it says "Unknown (not cached)". Any ideas on why this could be happening and how I can stop it? My OS is Ubuntu 10.10. If you need any more info let me know.

    Is the disk cache and the memory cache enabled?
    You can check these prefs on the about:config page.
    * http://kb.mozillazine.org/browser.cache.disk.enable
    * http://kb.mozillazine.org/browser.cache.memory.enable
    To open the <i>about:config</i> page, type <b>about:config</b> in the location (address) bar and press the "<i>Enter</i>" key, just like you type the url of a website to open a website.<br />
    If you see a warning then you can confirm that you want to access that page.<br />
    Your More system details list shows two outdated Flash plugins that you should remove and update to Flash 10.1 r102 or at least remove 10.0 r45 and wait until your distribution offers a 10.1 r102 update.
    # Shockwave Flash 10.0 r45
    # Shockwave Flash 10.1 r85
    Update the [[Managing the Flash plugin|Flash]] plugin to the latest version.
    *http://www.adobe.com/software/flash/about/

  • Spring MVC & Struts 2 Pros/Cons

    What are the pros and cons, in your opinion, when choosing Spring over Struts 2 or Struts 2 over Spring? I am trying to determine which framework to select and the last time I used Spring was in the 1.x series and I loved it. So I am biased and I want to jump the gun and use Spring, but I want to make sure I can say why I want to use it because it seems like Struts 2 has a lot to offer as well. So I want to hear the best and the worst from both frameworks. So what do you guys think?

    BlueSmurf wrote:
    An application's business requirements are the basis for (1) a domain model, (2) system requirements document, (3) system architecture document, and (4) an object-oriented (technical) design.
    Big Design Up Front isn't always appropriate.What I mentioned (above) could hardly be considered "Big Design Up Front". Rather, these are the "bare bones" for what is required to design enterprise software. Again, context plays a big role. Indeed. I was talking in the context of the process you outlined, not the code you posted
    The business requirements for an enterprise system with thousands of users might be different than the business requirements for Jim Bob's Cardboard LLC marketing web site with no more than 30 users per month.Very true. How would that affect your decision to use Spring or Struts?
    I can't think of a single business requirement that would necessitate Struts over something else.Business requirements don't mandate or dictate technical design decisions. They should, however, be used when designing a system architecture. And, yes, there may be other requirements that surface later on. This is ok and to be expected. Hence, the importance of sufficient and adequate business requirements gathering is emphasized and critical to creating a sound architectural design than meets today's requirements and can easily adapt to those that come tomorrow. Again, where does "Spring vs Struts" come into this? That decision is not an architectural one, if you have the need for Struts, Spring can be used instead. The opposite is not necessarily true, however. This all sounds very vague and "best practices say"-ish and evangelical. How do you know when your business requirements are adequate or sufficient? If you've ever actually used Spring, you should know that it lends itself extremely well to your last phrase about easily adapting to tomorrow. D&#97;mmit now I'm starting to sound evangelical!

  • How to design a web based leave management application  using jsf n Spring

    I'm a beginner for spring and jsf technology. I have a requirement to design web based leave management module using jsf and spring. Im confused in the design phase itself and not clearly knowing how to classify the classes. I need to understand clearly on how to do class design, and wanted to use MVC design patterns. As i know jsf itself is MVC but, as i want to use spring, i need to have some kind of model files and bean files.
    I'm clear about the following 3 classes.
    Applicant
    Approver
    Leave
    this will be like applicant will apply for leave and approvar when he logs he will see list of applied leaves and he will approve / reject the same by selecting one or more rows from datatable.
    Please guide me on designing this or gimme some link where i can read about designing java classes for web based applications.
    Thanks for your time and help.

    Please guide me on designing this or gimme some link where i can read about designing java classes for web based applications.Sure:
    http://static.springsource.org/spring/docs/3.0.x/spring-framework-reference/html/

  • How to find the activity of the Info cubes or any other Info Provider

    Hello everyone,
    Is there anyway to find out the last activity date of the info cube or any other info provider?
    One way is through tools--> Statistics for BI (But this is not working as I do not have enough authorizations in the office)
    So, can anyone please give me a way to know the last activity date of all the Info Provider so that respective action can be taken on the Info Provider according to their usage.?
    I also need the Procedure to know the activity of the queries also?
    Hope to get an answer soon..!
    Thanks in advance..!
    Deepak

    Hi,
    Are you looking actvity related to (Data retrival or data load)? (When the last time data loaded in Info provider or when the last time query is executed on that Info provider)?
    If this is your requirement then BI statistics is only way to find out so get the authorization for the same.
    If your need is -- last changed/llast data load etc.. then you may check the option "last changed at" at in Info provider maintinence, and data load dates.
    I hoep it will help.
    Thanks,
    S

  • Soucre sharing - does a netbeans project folder contains any personal info?

    Hi, the netbeans board here was closed and the only thing I can find at netbeans is a mailing list. I hope its ok to post this here.
    I want to make make my source available to others, is it safe/ok to tar the entire netbeans project folder or can it contain any personal info?
    Is there a plug in that can do this in a good way?

    NetBeans and Sun currently do not provide a forum here for NetBeans ( or other non-Sun IDEs.)
    As you note, NetBeans provides a mailing list as its way of support for the IDE. There is an associated forum, see the information about Nabble on this page from the NB site:
    http://www.netbeans.org/community/lists/
    Please post NB support and usage questions at the mailing list or Nabble, as this forum is for Java language topics. :

  • Any new info about being able to sync my iphone 4 with the Palm Desktop on macs running snow leopard?

    Any new info about being able to sync my iphone 4 with the Palm Desktop on macs running snow leopard? Why doesn't someone take a a few hours and write a workaround so I can sync all my info including my Palm notes to my iphone via Palm Desktop without putting it in the clouds or making it complicated?  : (

    I feel your pain.  I am a long time user of Palm Desktop/Claris Organizer and have an iPhone that I really can't sync except by doing an export and import into iCal, etc.  You might try Missing Sync.  I have been working intermittently with writing a replacement for Palm Desktop, but I've only gotten as far as dumping out the information for everything (except repeating appointments) as an XML file.

Maybe you are looking for

  • I am having major issues with Logic 8 and want to reinstall.

    I am having a lot of issues with Logic 8 and want to do a re-install. What is the procedure and what do I need to uninstall first. I need to be careful, because I don't want to affect my Logic 7. Any suggestions?

  • How to test custom UI applications in CRM 5.0

    Hello Experts, In CRM 5.0 how can I run and test my own stand alone test UI components? I have created one test Z application and created a couple of views in it.But when I open the application using bsp_wd_workbench it says "No initial page defined

  • Opening a website PDF yields "Adobe Reader needs your permission to run." ???

    Opening a website PDF yields "Adobe Reader needs your permission to run." ???

  • ORA-00923 EXCEPTION

    Hi i am writing stored procedure following this. when i am running this i am getting exception like ORA-00923 from keywork not found where can be expected. Can anybody solve this? STRQUERY2:= 'SELECT B.JOBNO || ''-'' || B.BATCHNO || B.SUBBATCHCD || B

  • Never Share property from Rules file

    Hello everyone, I need to apply storage property as 'Never Share' from rules file, I've a column in a file which says 'Never Share' / 'Store Date' for Members, for this column I'm using Field Type as 'Property' but could not succed after dimension bu