views:

433

answers:

7

Hi,

I'm planning to write a blogging engine over the summer to learn about web apps & servlets, etc. What would be an appropriate framework to use? I've been told Spring would be good, but I don't know anything about it. Any suggestions?

+2  A: 

You could try Apache Abdera. It's an Atom Publishing library (with some Servlet framework pieces) that I've found useful, and Atom Pub would be a good place to start since it fits the blog/feed paradigm.

Gandalf
+2  A: 

i would suggest grails (grails is built on top of spring-mvc, spring, and hibernate). here is a article about a sample blog app: http://www.devx.com/Java/Article/37487. i would also keep an eye on: http://graemerocher.blogspot.com/ as he is planning on releasing a blog plugin soon.

Ray Tayek
+1  A: 

I wonder why you want to use Java for such a task. If you want to learn the concepts of web-programming then why don't you go with an easy language like Python, perhaps using Django.

You might already know Java, but all the more reason to expand your language breadth even while you learn the plumbing of websites. I think you'll be able to build the site faster, iterate more, and learn more if you use Python/Django. I've heard that Ruby is good for such projects too, but I can't attest to that.

There really is no comparison for building websites quickly than a modern language and framework.

Andrew Johnson
I'm not going to downvote this although I don't like seeing it as the top answer. The OP said this would be a project to learn about web apps and servlets, and you can't do that in Python... learning projects are not about finding the best tool for a job, they're about finding the best (or at least an appropriate) job for a tool. And Java is perfectly adequate for writing dynamic web apps.
David Zaslavsky
+2  A: 

I would agree that Spring would be the best bet for your primary framework. The base spring framework is all about dependency injection, but there are layers on top of it (like spring's mvc framework) that leverage it very well and will make your development easier.

To hit the other major Java frameworks and patterns that you should be familiar with, make sure you use Hibernate as an object-relational mapping tool and JUnit for unit testing.

Nathan Voxland
i second this suggestion - unless the OP actually want to learn servlets/spring (instead of just using them under the hood).
Chii
A: 

I would recommend to use JBoss Seam, which has very nice concepts. Used with JSF, you can build in a fast and efficient way a webapp. There is also a very good documentation, as tutorials, it won't take you much time to get it and use it.

ipingu
+1  A: 

Hi,

Better MVC/Web framework for write a blogging engine over the summer to learn about web apps & servlets, etc: NONE.

My rec:

  1. Write your blogging web application "from scratch" just coding your servlets, JSP, taglibs, ...
  2. After that, port your existing blogging web application to MVC framework. My favourite: Spring MVC.

:-)

SourceRebels
A: 

imo using Spring or Jboss Seam are an overkill for a relatively simple application. As an entry point for web development in Java I would use Stripes http://www.stripesframework.org/display/stripes/Home

Other options will be: 1. not use a framework at all and work with Servlets and JSP directly, there are many books and online material you can use

  1. Use Struts 1 since although it isn't actively develop it is still in wide spread use which can help when you get your hands wet with some commercial work http://struts.apache.org/1.3.8/index.html
KingInk