views:

134

answers:

4

Hello.

I'm PHP-programmer, but I'm extremely interested in learning Java. So I decided to change speciality from PHP to Java. At the moment I have an opportunity to try to make quite simple web-application (it should contain 2-3 forms, several pages with information from the database and authorization module) and also I have a chance to choose any technology I want. Besides I have about 3 months for this task. I've decided to develop site with Java technologies for the purpose of studying. I've already read a book about Java ("Java2 Complete Reference" by P.Naughton) and currently I'm reading "Thinking in Java" by B.Eckel. I clearly understand it's not enough for efficient development, but I want, at least, to try.

I would be very appreciated for the advises, which framework (for example) or technology to choose (Spring, Grails etc.) and what primary aspects and technologies of Java should I pay attention to?

Thank you in advance.

+1  A: 

If you have such simple requirements just use Spring Roo. It might be also an alternativ to take a look at Ruby on Rails.

khmarbaise
I'm pretty sure as an exercise he wants to use Java!
Andy
Thank you for the advise. Andy was right - I want to use Java. Besides It's simplier for me to develop it with PHP, because it would take about 1 or 2 weeks.))
Alex
Spring Roo is Java.
khmarbaise
I've understand, that SpringRoo refers to Java. My comment was about RubyOnRails.
Alex
Ah Ok...misunderstanding sorry.
khmarbaise
+5  A: 

Get yourself a copy of Head First Servlets and JSP. It will walk you through web application development, I would not jump into using spring straight away after you have mastered traditional Servlets you will feel more comfortable looking at Spring Roo or Spring MVC.

Paul Whelan
I was going to suggest this book too. You should start with learning core JavaEE and not move onto a framework like Spring until you're comfortable with that. If you really want to be l33t, read this book, then take the SCWCD exam to get certified.
Michael Angstadt
+1  A: 

I have written about this some time back, which you might find useful.

http://veerasundar.com/blog/2009/04/what-advice-will-you-give-for-a-j2ee-fresher/

Note: Even though it's my blog, I'm linking it here because it has some relevant content. This is not for any link-building and traffic-getting tricks. :)

Veera
+1  A: 

One framework that might want to look at is Trindad/ADF.

Apache Trinidad is an open-source framework that runs on top of JSF. It's a pure Java environment that let's you define a web-page via declarative XML. It works very well since you spend much less time fiddling with the general page layout and simply declare what sort of functionality you want.

For example:

<tr:commandButton text="Click me" actionListener="#{BackingBean.fireEvent}" />

Will create a button with the text "click me" and will fire the fireEvent(ActionEvent ae) function on BackingBean.

ADF is a similar framework, it features many more bells and whistles and much better JS API but it's also non-cheap.

Mark Robinson