Pick a server and run with it.
Not sure which to choose? Try each one out and see which one you like the best!
Java EE has a long and complicated history which can make tutorials and examples confusing. I’ll try to simplify it as much as possible so you know what you’re looking at.
Java EE stands for Java Enterprise Edition. “Enterprise” means “business”, because back when it was invented in 1999, the only websites that needed server code were owned by businesses. Since then, server code has been used by many people, not just businesses, but the name stuck.
From 1999 to 2019, Java EE was continually developed by Sun and then Oracle. They launched several versions of Java EE, which included several versions of the Java servlets API. They released their code under the
javax package, for example the
Then in 2019, Oracle gave Java EE to the Eclipse Foundation. But here’s the weird part: they didn’t let the Eclipse Foundation use the name “Java” or the
That meant that after 2019, Java EE was renamed to Jakarta EE, and the code itself was moved to a new
jakarta package, for example
In other words, old tutorials will talk about Java EE and use the old
javax package, but new tutorials will talk about Jakarta EE and use the new
jakarta package. This also means that if you download an old version of a library or server container, it might only work with the old
javax package, but new versions of libraries and server containers will only work with the new
This is all really confusing, so if you have a question, please reach out to me on the Happy Coding forum!
After you’ve run a server, read through these tutorials in order.