Sono nuovo per la primavera e sto creando una semplice applicazione web. Ho letto dei contesti in Spring MVC.Comprensione dei contesti in Spring MVC
Sto usando il plugin STS per Eclipse. Ho creato un progetto MVC Spring usando il plugin.
Ora ho tre documenti xml nel progetto, web.xml, root-context.xml e servlet-context.xml. Questi sono stati creati da STS per me.
In web.xml, servlet dispatcher è puntato verso servlet-context.xml e capisco il lavoro servlet dispatcher è di creare un contesto di applicazione web che sa come risolvere i punti di vista e 'un posto per i fagioli del controller a esistere. La mia comprensione è corretta? In tal caso, quale altro lavoro viene svolto da questo contesto?
Ora, c'è un file chiamato root-context.xml che ha una scansione dei componenti sul pacchetto predefinito dei miei progetti. La mia comprensione è che questo contesto ha bisogno di avere bean globali che molti servlet potrebbero usare. La mia comprensione è corretta? Che altro fa questo? Che tipo di contesto viene creato utilizzando questo file?
Ora, io sono più avanti nel progetto e ho diversi file -context.xml * (dao-context.xml, la sicurezza-context.xml ecc) che vengono caricati utilizzando contextLoaderListner (in web.xml). E 'questa una buona idea? O tutto dovrebbe andare in servlet-context.xml? Penso che sia una buona idea avere contesti diversi in quanto fornisce la separazione delle preoccupazioni. Commenti? Inoltre, che tipo di contesto viene creato da questi file * -context.xml? Qual è l'ubicazione corretta della cartella per questi file?
Web.xml è per il contenitore servlet come tomcat ecc e tutti gli altri file xml nel progetto sono per il contenitore a molla. È corretto? Tutti questi file sono separati per fornire separazione delle preoccupazioni?
Quanti contesti applicativi e contesti di applicazioni Web esistono nello scenario corrente?
Perché qualcuno dovrebbe aver bisogno di più di un servlet di dispatcher?
Perché qualcuno avrebbe bisogno di più di un contesto applicativo?
Pensieri? Commenti? Correzioni? Migliori pratiche?
grazie. Penso di iniziare a capire. In che modo il contesto dell'applicazione root è diverso da (o correlato a) i contesti definiti in ciascuno dei file xml? –
Nell'applicazione Web, il contesto radice che viene in genere inizializzato utilizzando ContextLoaderListener memorizza il contesto radice in una variabile del contesto Servlet (ambito applicativo) denominata WebApplicationContext.class.getName() + ".ROOT" e da ora in poi ogni serlvet del dispatcher (o, a tale scopo qualsiasi codice) può accedere internamente a questo attributo se ha accesso al contesto servlet – Shailendra
ottenuto! Quindi questi file xml, dao-context.xml service-context.xml creano più contesti o semplicemente aggiungono al contesto di root creato da contextLoaderListener? Qual è lo scopo di questi file xml? –