• Post Reply Bookmark Topic Watch Topic
  • New Topic
programming forums Java Mobile Certification Databases Caching Books Engineering Micro Controllers OS Languages Paradigms IDEs Build Tools Frameworks Application Servers Open Source This Site Careers Other Pie Elite all forums
this forum made possible by our volunteer staff, including ...
  • Campbell Ritchie
  • Paul Clapham
  • Tim Cooke
  • Jeanne Boyarsky
  • Liutauras Vilda
  • Frank Carver
  • Henry Wong
  • Ron McLeod
Saloon Keepers:
  • Tim Moores
  • Frits Walraven
  • Tim Holloway
  • Stephan van Hulst
  • Carey Brown
  • Al Hobbs
  • Piet Souris
  • Himai Minh

Beyond Core Java

Posts: 2
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Hi folks,

Whenever management hears that you know a little Java they automatically think you can build a complete web application. As you know, this is not really the case.

My question is, once I've mastered the basics of the Java language, what technologies should I focus on next to supplement this knowledge for building web apps?

JSP, JavaScript, CSS, Struts, JSF, Hybernate?...the list could go on forever.

I'd be interested to know what everyone's top 5 would be.

Thanks very much for your input.

Ranch Hand
Posts: 339
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Hey Clint !

it all depends in what kind of application the company you work for wishes to build,

But what I usually have found useful would be:

1. Servlet (most MVC framworks are based on this) and all JEE tech was built on top of this.
2. EJB 2.0, EJB 3.0
3. JPA or Entity Beans
4. JavaScript and Ajax
5. JSP (this I put at the end of the list, because is a Design concern mostly, so is CSS)

However, this is just my humble opinion.

Posts: 12617
IntelliJ IDE Ruby
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
It also depends on which aspects of app development you'll be involved in, the technologies you'll be using, etc.

If you're doing a lot of client-side/UI work, JavaScript and CSS are critical--not enough people understand JavaScript properly. Then I'd pick a JavaScript library to focus on--I'd shoot for JQuery or Prototype/Scriptaculous, but if you're feeling ambitious you could take on a full stack like YUI.

On the server side it's important to understand the underlying mechanisms, so I'd echo the servlets suggestion. Picking a framework is kind of a crap shoot; if you're learning for the sake of learning I'd say mess around with one action-oriented framework (Spring MVC, Struts 2, Stripes, etc.) and a component-oriented one *maybe* like Wicket (I'd avoid JSF, but that's just me-IMO using it well requires Seam). If you're learning for the sake of getting something done and/or building up company infrastructure, pick a popular one or the one the company already uses.

Personally I'd avoid EJB when starting out unless you know you'll be running in a full app server. At least with EJB3 the major pain points are gone.

I'd learn Spring, but it's not strictly necessary--it just makes a lot of things so much easier. But it's lower on the list, IMO, because it's an additional layer of complexity, even though it can be used in very small, unobtrusive ways at the beginning. It can easily be bolted on to an application later.

I'd learn a unit testing framework, JUnit and TestNG being the major players (as far as I know). I prefer TestNG, but JUnit is more popular.

I'd also scope out many of the popular ancillary libraries, like the Apache Commons libraries (in particular, commons-lang, commons-collections, and commons-io). There are a couple of other great collections libraries that IMO are actually better (Google's and Glazed Lists come to mind) that are handy to have in the toolkit. These APIs make programming in Java noticeably less painful (and that's saying something).

One thing about Java is that while Java-the-language is (relatively) small, Java-the-ecosystem is *huge*, dare I say daunting. It's easy to get lost and/or overwhelmed. Pick something to focus on, if something else wanders into the picture, make a note of it, move on, and come back to it later. Getting lost in a maze of twisty little passages, all alike, is common, and frustrating, so take it a piece at a time.
If you settle for what they are giving you, you deserve what you get. Fight for this tiny ad!
the value of filler advertising in 2021
    Bookmark Topic Watch Topic
  • New Topic