views:

147

answers:

5
+5  Q: 

JEE for beginners

Hi guys, I am back from vacations and in my company there are new students that just started with their study. My exercise is to show them a little bit of JEE. They already know Java Basics.

So my questions is what's the best knowledge to learn as a beginner? Infomation should not be too dry ;-)

Hope you can help me .-)

Cheers

+1  A: 

IMO, you should start with Servlet, JSP, and Filters.

Adeel Ansari
+1 Start with simple web stuff and Tomcat. Once they've got the hang of it introduce them to a JEE server such as glassfish.
Qwerky
+1  A: 

If you don't minde to read some documents, there is the Introduction to JEE6 from oracle.com and for later the Java EE 6 Tutorial.

Colin Hebert
+1  A: 

I don't know much about JEE.

But I do know how I would like to be introduced to it.

The other answers provide links for documentation. If I were to learn JEE I would go through them few times - definitely. I already tried, but every time I read it I had this though at back of my head "Ok, I know what and how... Yet nowhere do they explain why!"

And if You were my boss, I'd really much appreciate if You could provide some real world examples why and when the technology is needed.

Lets take JMS for example. The documentation provides some vague reasoning: "Messaging systems can help decoupling parts of the system in a cohesive way". Huh, that's basically the same reason about every feature in Java from basic syntax, object orientation and design patterns. So my question is: Why so many ways to do the same?

One of the satisfying answers would be similar to:

It's because messaging queues can bridge different languages together. You can do it with RPC (SOAP or REST) and messaging is just another way. It brings extra features with it, so You are aided with some basic messaging day-to-day routine: what to do when message is lost or the receiver is down. [Here goes the most important part:] Let's say You integrate with some big company's architecture. Most probably their architecture provides some really useful stuff already. Say You wan't to send SMS for sysadmins when something with Your program goes wrong. The company might already provide subsystem for sending SMSes and the best way to do it is by messaging system.

So, as a graduate I must say I've been fed up with a theory. Connect those vague ("reusable", "decoupled", "light", "indirect", "dynamic") words to a real-world use cases. And since You are already working on it, it should come naturally to You.


Oh, and there is also a great JEE tutorial here: NetBeans ecommerce tutorial

Rekin
+1  A: 

What student miss most is firsthand knowledge of the 'real' world. So they might love the idea of 'real' code. Thus why not show them code that illustrates how things work in practice, for example the MVC pattern by a simple code example with Servlets, JSP and HTML. This example can then be extends with SQL database interaction with JPA.

Kdeveloper
I mostly agree with this answer +1
Rekin
A: 

So that's the way I went:

  • I started installing eclipse and apache tomcat with them and told them some facts about it.
  • Next I gave them a very small JSF Project (JSF-Blank).
    • I told them how JSF works
    • About MVC and the faces servlet
    • About Frameworks in general
    • Then I told them to try changing the sample site's content a little bit
  • Now I think they have got the essentials so I gave them a new tutorial (german language) with much more Information and now they are doing that

The reason why I started with JSF and not something more basic is because it's much more motivating to have a UI where you can see the results of your work.

I hope I can show them how to integrate a database and so on. But I want to find a balance between showing them how to do it and leting them find out by there own. Last one is much more efficient I think ;-)

I won't close that Question because there might be better approaches than my one

Sven