These tutorials assume you're already familiar with the fundamentals of coding, and that you've already read the Java tutorials. You should also be familiar with client-side web programming from the HTML and JavaScript tutorials.
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 javax.servlet.http.HttpServlet
class.
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 javax
package.
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 jakarta.servlet.http.HttpServlet
.
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 jakarta
package.
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.
Host your server on Google App Engine so other people can use your web app.