I, as a bona fide Junior, studied Java Core, then started to learn Java Web. Wrote a few simple web applications. But as studied independently, there are some gaps in knowledge. I know that I can write a website in Java, but do not fully understand how it works.
How does Tomcat or Jetty, for example(1).
Why do I need to specify the artifact config in the IDE and what it is(2).
What distinguishes WAR and exploded WAR(3).
Why web.xml specifically, the definition I know and understand about what it does, but a full understanding at a technical level not(4).
In the end, here we determine pom.xml, web.xml java classes in our application, then what makes our IDE to have it all together and working(5).
What is the difference between a so-called servlet container and a full server for java site(6).
I would like to fully understand how and why the site works and what role it plays in every part.
Advise some technical literature on the above and related topics.