Search code examples
javajakarta-ee

Which Java technology should I use, if I want to build a website with thousands of users?


Sorry for asking this question, but I searched all Java-related questions, but I got more confused. I am still not clear what should I start with.

  1. My main thing is building websites in Java, because someone told me that there are some machine learning or AI libraries available in Java which I can use in Java. So I decided to use that as it can reduce my work.

Now I don't know Java at all. Some people say the following are used to build websites, like:

  1. Servlets alone can build a website
  2. JSP alone can also build a website
  3. Struts
  4. Spring Framework with Hibernate
  5. Seam
  6. Java EE also for websites

I am confused. Where should I start from? Where does core Java fits in here?

I was thinking of perhaps learning Python as I know I have to learn Python only, not its variations.

So please guide me to one thing which can solve my basic purpose of using ready-made libraries of AI.

If I can do that with JSP then I will start with that. But if I need to learn all of them, then it’s better if can start learning Python.

I have five months to finish the website.

I really don't know why there are many branches of Java for doing one thing.


Solution

  • To correct some misconceptions of yours:

    • servlets and JSP are Java EE
    • Seam and Struts can be used together with Hibernate as well
    • Spring MVC is a web framework. Spring as a dependency injection framework can be used together with any other framework.
    • there are many more options, like JSF, Tapestry, Click, Play, etc.

    It depends on what will the site will be doing, but you can choose any.