Aican ha scritto:
1) Quale utilimità mi verrebbe se imparassi a conoscere e ad editare a mano web.xml non sono specifiche già stabilite e standardizate?
Il web.xml è un "sorgente" (come lo è un .java, un .html, un .css, ecc...). Può essere scritto bene, ben indentato, allineato, spaziato. Oppure può essere scritto male. Può anche contenere dei commenti nei termini XML. Insomma è un sorgente che va manutenuto e "curato" così come si dovrebbe fare con il resto dei sorgenti.
E quindi bisogna conoscere la struttura e il significato dei tag nel web.xml.
Aican ha scritto:
2) Cos'è Maven? E perchè è conveniente usarlo?
Maven è un
project management tool, uno strumento per gestire e buildare il progetto. Ma l'aspetto più importante è che scarica e gestisce automaticamente le dipendenze (librerie jar) in maniera automatica.
Aican ha scritto:
3) Mi consiglieresti un metodo di lavoro a step per orientarmi forse ce il progetto di qualche sito web professionale esempio fatto con eclipse dove posso imparare?
Purtroppo non è che c'è un "metodo" ... bisogna studiare bene Servlet, Filter, JSP, possibilmente anche i custom-tag.
A livello più "professionale" è difficile trovare progetti che usano solo le Servlet, perché sono a un livello molto "basso" di gestione delle request HTTP. Quando si realizzano progetti di un certo livello, si usano degli appositi framework che sono di più alto livello (stanno "al di sopra" delle Servlet) come: Spring Framework/Boot, Struts, Play Framework e altri... E sono ancora tutto un altro mondo da studiare ...
Aican ha scritto:
JAX-WS WEB service
|_Service Endpoint Intefaces
|_Web services
Questo riguarda i Web Service in stile SOAP. Credo che per il momento puoi ignorare tutto quello che riguarda i Web Service in generale.
Aican ha scritto:
Java Resources
|_src
|_Libraries
|_JRE System Library (non si mettono qui le classi java? qual è la differenza tra qusta senzione e web-inf - lib?)
Quel Libraries è solo un elemento riassuntivo delle librerie usate dal progetto. E JRE System Library elenca i jar che sono interni al Runtime Java.
src è dove vanno i tuoi sorgenti.
Aican ha scritto:
build
E' dove viene messo tutto quello che viene generato compilando/buildando il progetto.
Aican ha scritto:
WebContent
|_META-INF
|_Manifest.mf
META-INF/MANIFEST.MF è un file di "descrittore" standard presente nei file .jar, .war e altro. Nelle web application è la cosa meno importante in assoluto perché salvo casi molto rari, non serve metterci mano direttamente.
La WebContent invece è molto importante perché rappresenta la "context root", la directory principale che è esposta su HTTP. Eccetto il contenuto di WEB-INF (da lì in giù) perché per le Servlet Specification il Servlet container deve proibire l'accesso da HTTP alla WEB-INF.
Se nella WebContent metti un home.html, sarà accessibile da:
http://nomehost:porta/nomecontesto
/
home.html
Se nella WebContent metti un css/stili.css, sarà accessibile da:
http://nomehost:porta/nomecontesto
/css/stili.css
Dove nomecontesto è il context path che rappresenta sostanzialmente il nome della applicazione all'interno di un Servlet container (es. Tomcat).
In Eclipse il context path di base (in modo predefinito) è uguale al nome del progetto. Ma può differire, c'è il modo per impostare un context path differente.
Aican ha scritto:
WebInf
|_lib
Nella WEB-INF/lib ci vanno le librerie .jar eventualmente necessarie per il progetto.