Reputation: 1633
I want to write a simple web application, on J2EE, with these characteristics:
What I'd like the framework to do is:
I looked at a few frameworks, and this is what I felt..
Any suggestions on what would be good for me? Thank you!
PS: I'm constrained to use one that's licensed under Apache license (v2, preferably) or BSD license
Upvotes: 6
Views: 7558
Reputation: 61771
It is rather new java framework, but I think it looks pretty awesome
Upvotes: 3
Reputation: 7937
When you're trying out Stripes, you can get started quickly with either Rayures (with Maven) or Stripes-Quickstart (with Ant).
Upvotes: 0
Reputation: 9415
JSF - I'm scared of it because of the performance problem I've read about. It seems like the view construction and maintenance takes up too much memory. Also, JSF won't work well with bookmarks and tabbed browsers.
Try Seam framework
Seam is good for two reasons:
I want to write a simple web application, on J2EE, with these characteristics: 1. I don't need any AJAX, and it should even work with JavaScript disabled on the browser.
With JSF good library (Richfaces or Icefaces) writing JavaScript code is reduced to minimal. Why JavaScript will be disabled on the browser?
2. It is a simple CRUD application
Seam is great for generating CRUD application via seam-gen tool.
3. I would need full control on the way each element is laid out on the page - no compromise on the GUI's look and feel.
This is work for CSS code. With facelets as templates you'll have less work to do.
4. I can use plain old JDBC for data access - no o/r mappers necessary For simple CRUD application ORM is really cool feature, with Seam you'll have it for free. But ORM isn't mandatory.
5. Bookmarking of pages is necessary (wherever it makes sense to bookmark, that is).
As mentioned with Seam isn't a problem anymore. In "plain" JSF thre are only POST requests and that is a problem.
6. Many of my users use tabbed browsing very much.
Seam introduce new scopes (conversation and buissines process) so now there is possible to open few tabs and simultanously do more than one task/flow.
What I'd like the framework to do is: 1. Give me a nice abstraction to retrieve GET and POST parameters
That's the feature of JSF.
2. Give me a nice facility to display validation errors and other errors to the user
Seam integrates with Hibernate Validator and have really good support for messages and i18n.
3. Give a set of standard safety features - prevent cross-site scripting, prevent the user from setting a dropdown input to a value that isn't there in the dropdown, et.al
IMO JSF libraries are good in this field.
4. Be performant, scale well for over 200 concurrent users, on a not-so-powerful server. (no clusters - single node, a shared app server with multiple production applications)
Perfomant- yes. Seam fix brokes statless application design pattern promotes statefull application. With using POJO in state from performance view is similar to other frameworks like Struts or Spring. For real world use cases see seam in production page.
5. Be stable; because I'd like to have that application running without a major refactor for at least 3-4 years
Seam and JSF are stable technologies.
Upvotes: 0
Reputation: 1633
Thanks everyone. I'll build some sample apps tomorrow using Spring MVC, Stripes (and probably Wicket), and see them in action :)
I'll update this answer with what I find..
Thank you! -Pradyumna
PS: It's disappointing that I can't mark multiple answers as "ANSWERED" in stackoverflow.. :( I'll have to wait and see what I finally decide on..
Upvotes: 0
Reputation: 41
Stripes is an MVC java web framework that pioneered the 'Convention over Configuration' pattern for java web development. Spring MVC has adopted some of these patterns but I still prefer Stripes because it does one thing and does it well.
Upvotes: 3
Reputation: 7739
How about wicket?
Upvotes: 2
Reputation: 5060
Grails maybe? You don't have to use the o/r mapping (GORM) if you don't want to, you can use plain old JDBC
Upvotes: 2